Javier Martinez
|
f2cffd1ab9
|
feat: code execution v2 (#2278)
* fix: ensure that the publisher is ready to publish new messages
* fix: dockerfile
* fix: clones
(cherry picked from commit bc0a77e050)
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: M3 persistent sessions + M4 isolated bash + OpenSandbox provider
Introduces mount-aware sessions with canonical path abstraction:
- ContentBundle / SessionMount abstraction for skill/plugin mounting
- PathTranslator: rewrites commands and scrubs output (canonical ↔ real paths)
- LocalMount + ReadOnlyMount: local FS-backed mounts; read-only cache shared across sessions
- BashExecutor: asyncio subprocess with setsid + setrlimit isolation + killpg on timeout
- SkillLoader: downloads skill files from object storage as ContentBundles
- LocalCodeExecutionProvider: rewritten to use mounts, TTL reaper, BashExecutor
- OpenSandboxCodeExecutionProvider: new Docker/K8s backend via opensandbox SDK
- Async cascade: create_session / get_or_create_session / build_tool all async
- ObjectStorage.list_files() added to ABC + both implementations
- New settings: session_ttl_seconds, bash rlimit fields, OpenSandboxSettings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: generic ContentBundle with BundledFile, remove skill_filter from code_execution layer
- Replace ContentBundle/dataclass with pydantic BaseModel; add BundledFile with path, content, permissions
- Update ReadOnlyMount to use list[BundledFile] with per-file chmod
- Remove skill_filter and SkillLoader from create_session() in base, local, and code_execution_component
- Move skill-to-bundle resolution into BashToolBuilder (inject SkillLoader there)
- Update SkillLoader.load() to return list[BundledFile] objects
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: remove opensandbox
* feat: use sandbox inside of code executor
* fix: mypy
* feat: add workspace manager
* feat: improvements
* feat: add env abstraction
* feat: remove leftovers
* feat: improve skill content
* fix: macos
* fix: mypy
* feat: add code executor prompt
* feat: add content bundle in stack
* fix: mypy
* fix: layout
* feat: add skill prompt
* fix: order
* feat: allow to present final files
* feat: add container block
* fix: remove default config
* fix: session pers
* fix: do lazy env
* fix: mounter
* feat: refactor mounter
* fix: container
* feat: add requirements
* fix: add container registry
* fix: move to be lazy
* fix: mypy
* fix: current folder
* fix: stop sandbox in tabular
* fi: ensure to use absolute paths in bash & text editor
* feat: add files router
* feat: simplify
* feat: update present files
* fix: download files
* fix: mypy
* fix: tests
* fix: tests
* fix: bash executor in linux
* Revert "fix: bash executor in linux"
This reverts commit 483e208a96.
* Revert "fix: tests"
This reverts commit 50d9288f5e.
* test: remove test in ci
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-29 18:29:29 +02:00 |
|