Add ShellCommandExecutor for running shell commands directly #139
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.
This PR adds a new
ShellCommandExecutor
class that provides a safe, efficient way to execute shell commands directly from ADK applications. This executor follows the established ADK executor pattern while providing specific functionality for shell commands.Motivation
When building AI assistants that need to interact with the system, having a dedicated executor for shell commands makes the code cleaner and safer than building custom solutions. The current
UnsafeLocalCodeExecutor
is designed for running Python code, but not optimized for shell commands.Implementation Details
The implementation:
BaseCodeExecutor
to maintain consistent APICodeExecutionResult
objectUsage Example
Testing Done
The executor has been tested with:
ls
,echo
,cat
Related Issue
This implementation addresses the need for a standardized way to execute shell commands within the ADK framework. %