feat: update vended tools/plugins for sandbox compatibility"#2649
feat: update vended tools/plugins for sandbox compatibility"#2649gautamsirdeshmukh wants to merge 4 commits into
Conversation
0f285c6 to
6c61e5a
Compare
|
Issue: This PR adds Per the API Bar Raising process, this PR should have the Suggestion: Add the
|
|
Assessment: Comment Well-structured PR that makes vended tools sandbox-aware with a clean architecture (default slot pattern, environment-conditional entry points). The code is modular and well-tested. Review Categories
The overall design is solid — default slot for environment-specific behavior, clean test separation by environment, and good use of the streaming infrastructure. |
|
Issue: The PR introduces or modifies several public API surfaces (new Suggestion: Consider adding the |
|
Assessment: Comment Well-architected feature that cleanly integrates sandbox awareness into vended tools and plugins. The Review Categories
Good test coverage overall and the architecture cleanly separates concerns between the sandbox abstraction, the default-slot mechanism, and the tool routing. |
6c61e5a to
da402d3
Compare
6099057 to
b07e90a
Compare
b07e90a to
e0c6c10
Compare
e0c6c10 to
773ce07
Compare
| if (input.mode === 'execute' && !input.command) { | ||
| throw new Error('command is required when mode is "execute"') | ||
| } | ||
| export interface MakeBashOptions { |
There was a problem hiding this comment.
any reason we don't support input schema, and name too?
There was a problem hiding this comment.
Updating to take name and inputSchema along with description
| } | ||
|
|
||
| override getTools(): Tool[] { | ||
| return [fileEditor, makeBash({ description: SANDBOX_BASH_DESCRIPTION })] |
There was a problem hiding this comment.
Updating to namespace with sandbox_{toolname} the way MCP adds mcp_{toolname}
Description
Update vended tools (bash, fileEditor) and plugins (context offloader, skills) to be Sandbox compatible.
This is the fourth PR split off from strands-agents/sdk-typescript#1011, preceded by the base interface merged in strands-agents/sdk-typescript#1090, Docker/SSH implementations merged in strands-agents/sdk-typescript#1110 and Agent integration merged in #2563.
What's New
SandboxStoragefile storage implementation for context offloadergetTools()overridable method added to sandboxes enabling default tool registrationmakeBash()factory for generating bash tool instances with environment-appropriate descriptionsRelated Issues
Documentation PR
Not yet
Type of Change
New feature
Testing
How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.