Repository navigation
Sync MiniMax upstream main while preserving fork E2B behavior - #62
Merged
Merged
Conversation
Delete text that no code supports (OAC_E2B_STATE_DIR, scheduled-run and older-product-name notes, the Core metrics 404 path, README.ja.md), replace restated facts with links to their owners, correct the compatibility ledger (Files default, Vault archive, text.verbosity, Codex service_tier fast, programmatic tool calling with multi_agent), and drop filler and process wording. Chinese mirrors and source hashes are updated with each change.
- Web: Button, AnimatedShinyText, BlurFade, EntityChip, unused Select exports, shiny-text keyframes - Web: dashboard-model, the client-side runtime sampling path, held-usage and their tests - Web: unused helpers (useSandboxProvider, formatCompactNumber, isAbortError x2, pendingPlaintext, readSkillsPage, uploadPrecheck, readFilesPage, TraceView formatters) and unused imports, locals and e2e locals - Web: @tanstack/react-table dependency, unused i18n keys and dead CSS selectors - agents-client: unused and test-only type aliases, sandboxNodeDiagnostics alias, unused index re-exports - Root package.json typecheck and test scripts
- claudesdk prepare wrapper, localworkspace.ToolEnvironmentFile - agent.WorkspaceWriter interface, its stub methods, assertions and docs - Codex UserInputLocalImage, UserInput.Path, ThreadStartedNotification, providerConfig Name/HTTPHeaders/QueryParams and their TOML rendering - Write-only fields: codex ModelReasoningEffort, rpc exitCode, subagentEffect source/turn/call, MCPBinding ConnectionOrigin/CredentialAuthority, EnvironmentMCP.WorkspaceRoot, PreparedConfiguration.Provider, transport DialOptions.HTTPHeader - proto DonePayload.Transcript, Usage InputTokens/OutputTokens/CostUSD - Unread Codex decode fields: Thread preview/updatedAt/cliVersion, TurnError additionalDetails, item startedAtMs/completedAtMs - claude-sdk-adapter textInput export (moved into its test) - Correct the OAC_RUNTIME_HOME comment in paths
- Makefile targets build-mcode-harness and build-mcode-runtime; scripts/acceptance and its catalog projection (render_installer, protocols in the catalog dump); scripts/harness-catalog/main_test.go - Dead node installer args.system branch; .npmrc references; OAC_RUNTIME_CODEX_HARNESS_BIN, OAC_DATA_DIR and OAC_WEB_INSTALLATION_SOCKET test uses, AGENTS_REUSE_E2E_SERVERS - Daemon install --interactive, start --foreground, the logout command and auth.Delete - Unrun Core acceptance scripts and helpers only they imported - Live tests gated on variables nothing sets or documents (Claude executor/SDK/workspace, Codex native, MiniMax Code native, MCP bearer, large source file, node health probe, environment key binary) - packages/tsconfig folded into tsconfig.base.json; unused root .gitignore entries
* Remove the unused workspace Observe operation - Delete Observe from workspacefs.Control; Core never called it through the interface. - Keep the NFS Filesystem.Observe method, which Resolve calls directly. - Drop the test fixtures' Observe methods. - Update the workspace provider protocol and its Chinese translation. * Delete unused Core Go code - Remove the unreachable responseHeadersWithErrors and microsandbox Labels. - Remove domain Reader interfaces used only in assertions, and narrow sessions.Reader and its families to the methods called through it. - Remove interface methods never called through their interface in deployment, vaults and skills. - Remove the device WorkspaceID chain, the bootstrap workspace_id and protocol_version fields, and the unread heartbeat ts, active_requests and daemon_version fields (Runtime protocol 0.22.0). - Remove write-only fields: NewAllocation.EnvironmentID, SweepResult times, EnrolledRuntimeBinding.SessionID, EnvironmentFileWrite.EnvironmentID and SessionID; move TurnEvent into its only test. - Remove the request_timeout provider observation category and the system provisioning step. - Drop the public_execution_turns view and the request_timeout error-code constraint value in a forward migration. - Correct the Core errors anchor and the Core implementation notes. * Keep the microsandbox labels the helper sets
* Move node host preparation into one module per Provider * Move Docker image identity helpers into host_docker * Revert "Move Docker image identity helpers into host_docker" This reverts commit b8adfcc.
* Remove Harness-level workspace reads * Drop removed read features from the Claude runtime check
* Move Core-Runtime wire types into the protocol package * Keep the explicit capability projection in the gateway
* Define the machine connection API in one wire file * Include the machine API package in the Core source set
* Check the Claude bridge frames against shared fixtures * Delete the Claude bridge's single-turn modes and check Go handles every fixture kind
…harness.go (MiniMax-AI#841) * Keep one definition each and bring the Runtime-Harness protocol into harness.go * Give the onboarding fixture Harness the function result method
* Restore request_timeout and accept the harness provisioning step - request_timeout has a producer: Codex passes a provider's error.code or error.type through NormalizeEngineFailure. Restore it in the protocol, Core observations, diagnostics, client, Web and docs. - Migration 000004 no longer narrows the provider error-code constraint, so databases holding request_timeout rows can apply it; 000006 restores the constraint where the earlier 000004 already ran. - Core records the provisioning step harness when the selected Harness is unavailable; the diagnostics contract, the client validator and Web now accept and label it. * Finish the cleanup's leftover deletions and doc corrections - Delete the Environment and hosted acceptance helpers that no runner imports on main, and the doc sentences that named them. - Drop the unread session_id column from ListEnrolledRuntimeBindings and the removed bootstrap fields from the onboarding smoke's fake Core. - Remove the harness-onboarding row for the deleted unsupported_test.go files. - Restore the Settings group names in the Web overview, the staging cleanup mechanism in the installer guide and the explicit heading-anchor rule for translations. - Scope the backup note to the original node identities and link checkpoint transfer for other nodes.
* Carry the workspace binding in the Runtime bootstrap * Use the protocol workspace path in remaining Core call sites * Bump the runtime bootstrap version for the binding fields The document gained required fields, so a Provider and Runtime from different versions now fail with a version mismatch instead of an unknown or missing field.
…rror codes (MiniMax-AI#845) * Name the call in the unknown tool call error * Omit MCP transport headers from Session reads * Report the official error code on failed Turns * Update the native classification privacy test for the Turn error code
…x-AI#844) * Declare each Sandbox Provider's setup in one SetupDeclaration Web follows the declared mode, fields and presets, discovery is typed (field and path in, options out), and the per-provider validators and Web provider knowledge are deleted. * Drop remaining Provider names from fleet and metrics views * Fix e2e selectors for the declared template field * Drop the disk assertion for the generic cloud view * Match the declared public-address caution in the e2e spec * Align e2e specs with the declared discovery and rejection copy * Block Next while the credential is being checked
* Report official Turn error codes on the stream Journaled Turn snapshots dropped the whole outcome, so every agent.session.turn.failed event reported internal_error while reads reported the classified code. Snapshots now keep Core's error code and the normalized model category, and nothing native. runtime_unavailable also covers Core failing to dispatch a Turn, so it reports internal_error; only a Runtime that disconnected or failed its preparation is sandbox_error. Docs that still described the generic Turn error and the old message rule are corrected. * List command_output and not_directory in the Runtime protocol
* Fix the Sandbox Provider setup review findings Hide Advanced settings when it has nothing to show, keep the saved E2B template editable as text, show the Provider default on the review, derive the client's setup type and the E2B discovery fields from their declarations, delete the duplicate resource validator, and bring the docs up to date. * Point machine API readers to each route's errors
* Keep the idle default in the column and word the Admin API Provider-neutrally * Read the Claude pin from the declaration and drop repeated literals and dead bridge fields * Use the Runtime protocol's capability types in Core
…iMax-AI#846) * Suspend and restore every deployment mode and pause E2B natively * Carry suspend control in the Runtime bootstrap * Bump the node wire version for renew_compute * Fix the E2B checkpoint outcomes and helper docs * Unify renewal, gate capacity help on mode, and count running sandboxes without suspended ones * Refresh the sandbox provider translation hash * Declare checkpoint support in the execution test Providers * Exclude suspend control from the managed bootstrap projection check * Fail a stale E2B template at create * Settle an old pending E2B pause by observation * Report running sandboxes in the Web acceptance fixture * Fix the second review findings on checkpoint suspension Running compute renews its native lease under one condition, an open Runtime connection, which is the existing renewal condition. Sandbox metrics counts running sandboxes without suspended ones, and the Provider and deployment docs describe Bootstrap.SuspendControl and resources.running.
* Publish Subagent function calls on the Session stream A Subagent's function call now publishes its function_call Item as agent.session.turn.item.added with the child Turn ID, and a tool_result naming that child Turn resolves to the root Turn holding the call, as the official SDK sends it. * Record the Subagent call event in the compatibility notes
…ions (MiniMax-AI#852) * Accept an empty packages.system so a read Environment configuration round-trips * Raise the events per request bound to the official 16384 * Declare the MiniMax Code instructions limit and check it at admission * Record the official API native differences in the compatibility ledger * Wrap the input batch comment * Refresh the compatibility translation hash
* Report CPU only as the Runtime history ratio * Drop the observation CPU from the sandbox runtime fixtures
* Fix the E5 review findings Keep the events bound at 64 per request and 512 KiB of stored input and record the gap: the input reservation check, request deadlines and the Claude Code per-Turn message list do not hold larger batches. Record the Claude Code 64-message Turn limit and the MiniMax Code instructions limit, name Codex for apply_patch, state why request_metadata is rejected, note the Subagent function_call exception on the stream, restore the typed packages.system error for a non-array value and test both Turn IDs answering a Subagent call. * Define the events bound once and settle the review wording MaxInputBatch is the one definition of the 64-event bound, and a test reserves a full batch on an Environment Session so the validator and the reservation check cannot drift apart. The events bound moves beside its peer differences, the Claude Code limit links its owning rule, the request_metadata message matches the documented reason, packages.system docs name every rejected value, and the stream rules drop a child snapshot sentence that no event produces.
* Make snapshot evidence provider-private * Require every microsandbox snapshot receipt part * Read the E2B helper version from the contract in its tests * Answer with E2B helper version 2 in Core server tests * Name the snapshot field Evidence and bound it in a test "Receipt" already names the durable ownership receipt in the Sandbox Provider protocol, so the provider-private field becomes Evidence. A test covers its 4096-byte bound, and the E2B helper README no longer repeats the boundary version that helper_contract.go owns.
A real E2B run on a fresh Compose installation found two adapter faults that together kept every E2B Session from starting: - Nothing created the adapter's private /state/e2b since the Compose installer replaced the Python one, so selecting E2B failed with 503 execution_unavailable. The adapter now creates the directory (0700) when Core loads the Provider. - The E2B API omits the domain of a sandbox on the configured one. SDK Sandbox objects fill it in, SandboxInfo leaves None, so every check of GetInfo (create qualification, inspect, renew, resume) rejected an owned sandbox as foreign. An omitted domain now counts as the configured one; a reported foreign domain is still refused.
…iMax-AI#857) * Project never-connected self_hosted Environments as disconnected * Expect disconnected in the self_hosted official-client tests
* Keep requires_action while a waiting Turn cancels * Expect a cancelling waiting Turn to keep its actions
* Reject empty files and name the purpose param * Upload nonempty files in the File persistence tests * Name purpose for a missing file part
* Name MCP transport params and check labels * Keep local codes outside the MCP transport and fix the Chinese admission table
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Synchronize MiniMax-AI/OpenAgentCore through 7490e65, including native E2B suspension/resume, provider setup declarations and protocol/API corrections. Preserve the fork's verified E2B compute-profile builds, strict connection-domain checks, creative Runtime packaging and manual production deployment workflows.
Resolved the three E2B merge conflicts without discarding fork commits or adding compatibility paths. Independent review found no actionable merge-resolution issues. Validation passed: 204 E2B helper tests, 15 template/bootstrap tests, Runtime contract checks, Harness catalog checks and diff whitespace checks.
This is source synchronization only. Production deployment is not requested. The upstream Runtime bootstrap change requires rebuilt templates, and upstream migration 000005 clears deployment model-provider defaults; account for these before a future release.