feat(agents-api): initialize isolated system packages for native tools - #714
Merged
Merged
Conversation
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.
Result
Saved Environment Templates and inline hosted Sessions can initialize
packages.systemalongside npm/Python packages and ordered setup. Core resolves and freezes configuration once; the shared Runtime initializer runs real apt/dpkg. Native Codex, Claude Code and MiniMax Code shell tools use the installed dependencies without adding harness or Provider branches to template business logic.The immutable tool-root seed is built before Runtime/harness code or credentials enter the image. Package scripts run under the unprivileged Runtime identity in a separate filesystem/process view; later native access is read-only. Existing adapters retain execution and cancellation ownership. E2B bootstrap restores the new launcher's required mode after cloud finalization.
Repeated E2B cold-start failures also require increasing the existing shared CLI
availability budget from 5 to 15 seconds. There is no new retry, warmup or Provider-specific startup path.
Validation
make check, focused API/Store/execution and adapter checks, Claude TypeScript/workspace tests, and generated OpenAPI passed on zju_a100_2 with a dedicated execution database.make checkruns precede this mount-only correction; changed Python source and the affected actual paths were rechecked.Single-UID/service-account limitations, unqualified PTY behavior and retained failed attempts are documented. This is bounded system-package support, not full Template or Agents API compatibility. No product implementation or product-specific regression is included.