Terminal tool improvements (#29924)

WIP

- On macOS/Linux, run the command in bash instead of the user's shell
- Try to prevent the agent from running commands that expect interaction

Release Notes:

- Agent Beta: Switched to using `bash` (if available) instead of the
user's shell when calling the terminal tool.
- Agent Beta: Prevented the agent from hanging when trying to run
interactive commands.

---------

Co-authored-by: WeetHet <stas.ale66@gmail.com>
This commit is contained in:
Cole Miller 2025-05-05 15:57:03 -04:00 committed by GitHub
parent 9cb5ffac25
commit c12e6376b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 143 additions and 25 deletions

View file

@ -38,7 +38,7 @@ impl Example for Planets {
for tool_use in response.tool_uses() {
if tool_use.name == OpenTool.name() {
open_tool_uses += 1;
} else if tool_use.name == TerminalTool.name() {
} else if tool_use.name == TerminalTool::NAME {
terminal_tool_uses += 1;
}
}