Documentation
¶
Overview ¶
Ported from rust/crates/runtime/src/bash_validation.rs — pipeline and security gate extensions.
Ported from rust/crates/runtime/src/bash_validation.rs
Index ¶
- Variables
- func AgentTool() api.Tool
- func AllowedToolsForSubagent(subagentType string) map[string]bool
- func AskUserFallback(question string) api.ContentBlock
- func AskUserInput(input map[string]any) (string, bool)
- func AskUserQuestionTool() api.Tool
- func BashTool() api.Tool
- func ComputerUseTool() api.Tool
- func ConfigTool() api.Tool
- func CronCreateTool() api.Tool
- func CronDeleteTool() api.Tool
- func CronGetTool() api.Tool
- func CronListTool() api.Tool
- func DetectCommandSubstitution(command string) bool
- func EnterPlanModeTool() api.Tool
- func ExecuteAgent(input map[string]any) (string, error)
- func ExecuteAskUser(ctx context.Context, asker Asker, input map[string]any) (string, error)
- func ExecuteBash(input map[string]any, mode permissions.PermissionMode, workspace string) (string, error)
- func ExecuteBashWithEnv(input map[string]any, mode permissions.PermissionMode, workspace string, ...) (string, error)
- func ExecuteConfig(input map[string]any, configMap map[string]any) (string, error)
- func ExecuteCronCreate(input map[string]any, reg *team.CronRegistry) (string, error)
- func ExecuteCronDelete(input map[string]any, reg *team.CronRegistry) (string, error)
- func ExecuteCronGet(input map[string]any, reg *team.CronRegistry) (string, error)
- func ExecuteCronList(input map[string]any, reg *team.CronRegistry) (string, error)
- func ExecuteEnterPlanMode(planModeActive *bool, stateDir string) (string, error)
- func ExecuteExitPlanMode(planModeActive *bool, stateDir string) (string, error)
- func ExecuteFileEdit(input map[string]any) (string, error)
- func ExecuteGlob(input map[string]any) (string, error)
- func ExecuteGrep(input map[string]any) (string, error)
- func ExecuteLSP(input map[string]any, registry *lsp.Registry) (string, error)
- func ExecuteListMcpResources(ctx context.Context, input map[string]any, provider mcp.Provider) (string, error)
- func ExecuteMcpAuth(ctx context.Context, input map[string]any, provider mcp.Provider) (string, error)
- func ExecuteNotebookEdit(input map[string]any) (string, error)
- func ExecuteREPL(input map[string]any) (string, error)
- func ExecuteReadFile(input map[string]any) (string, error)
- func ExecuteReadMcpResource(ctx context.Context, input map[string]any, provider mcp.Provider) (string, error)
- func ExecuteRemoteTrigger(ctx context.Context, input map[string]any) (string, error)
- func ExecuteRemoteTriggerWith(ctx context.Context, input map[string]any, opts RemoteTriggerOptions) (string, error)
- func ExecuteRunTaskPacket(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteSendUserMessage(input map[string]any) (string, error)
- func ExecuteSkill(input map[string]any, workDir string) (string, error)
- func ExecuteSleep(input map[string]any) (string, error)
- func ExecuteStructuredOutput(input map[string]any) (string, error)
- func ExecuteTaskCreate(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTaskGet(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTaskList(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTaskOutput(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTaskStop(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTaskUpdate(input map[string]any, reg *task.Registry) (string, error)
- func ExecuteTeamCreate(input map[string]any, reg *team.TeamRegistry) (string, error)
- func ExecuteTeamDelete(input map[string]any, reg *team.TeamRegistry) (string, error)
- func ExecuteTeamGet(input map[string]any, reg *team.TeamRegistry) (string, error)
- func ExecuteTeamList(input map[string]any, reg *team.TeamRegistry) (string, error)
- func ExecuteTodoWrite(input map[string]any) (string, error)
- func ExecuteToolSearch(input map[string]any, allTools []api.Tool) (string, error)
- func ExecuteWebFetch(input map[string]any) (string, error)
- func ExecuteWebSearch(input map[string]any) (string, error)
- func ExecuteWorkerAwaitReady(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerCreate(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerGet(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerObserve(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerObserveCompletion(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerResolveTrust(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerRestart(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerSendPrompt(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWorkerTerminate(input map[string]any, reg *worker.WorkerRegistry) (string, error)
- func ExecuteWriteFile(input map[string]any) (string, error)
- func ExitPlanModeTool() api.Tool
- func ExtractText(path string) (string, error)
- func ExtractTextFromBytes(data []byte) string
- func FileEditTool() api.Tool
- func GlobTool() api.Tool
- func GrepTool() api.Tool
- func ListMcpResourcesTool() api.Tool
- func LoadPersistedPlanMode(stateDir string) (bool, error)
- func LooksLikePDFPath(text string) (string, bool)
- func LspTool() api.Tool
- func MaybeExtractPDFFromPrompt(prompt string) (string, string, bool)
- func McpAuthTool() api.Tool
- func NotebookEditTool() api.Tool
- func REPLTool() api.Tool
- func ReadFileTool() api.Tool
- func ReadImageTool() api.Tool
- func ReadMcpResourceTool() api.Tool
- func RemoteTriggerTool() api.Tool
- func RunTaskPacketTool() api.Tool
- func ScreenshotTool() api.Tool
- func SendUserMessageTool() api.Tool
- func SkillTool() api.Tool
- func SleepTool() api.Tool
- func StructuredOutputTool() api.Tool
- func TaskCreateTool() api.Tool
- func TaskGetTool() api.Tool
- func TaskListTool() api.Tool
- func TaskOutputTool() api.Tool
- func TaskStopTool() api.Tool
- func TaskUpdateTool() api.Tool
- func TeamCreateTool() api.Tool
- func TeamDeleteTool() api.Tool
- func TeamGetTool() api.Tool
- func TeamListTool() api.Tool
- func TodoWriteTool() api.Tool
- func ToolSearchTool() api.Tool
- func WebFetchTool() api.Tool
- func WebSearchTool() api.Tool
- func WorkerAwaitReadyTool() api.Tool
- func WorkerCreateTool() api.Tool
- func WorkerGetTool() api.Tool
- func WorkerObserveCompletionTool() api.Tool
- func WorkerObserveTool() api.Tool
- func WorkerResolveTrustTool() api.Tool
- func WorkerRestartTool() api.Tool
- func WorkerSendPromptTool() api.Tool
- func WorkerTerminateTool() api.Tool
- func WriteFileTool() api.Tool
- type AgentSpec
- type Answer
- type Asker
- type CommandIntent
- type ComputerUseAction
- type ComputerUseResult
- type Option
- type PipelineSegment
- type ProgrammaticAsker
- type Question
- type ReadImageResult
- type RemoteTriggerOptions
- type ResolvedAttachment
- type StdinAsker
- type TUIAsker
- type TodoItem
- type ToolSearchResult
- type ValidationKind
- type ValidationResult
- func CheckDestructive(command string) ValidationResult
- func DetectEnvVarLeak(command string) ValidationResult
- func DetectSudoElevatedFlags(command string) *ValidationResult
- func ValidateArchiveExtraction(command string) ValidationResult
- func ValidateCommand(command string, mode permissions.PermissionMode, workspace string) ValidationResult
- func ValidateMode(command string, mode permissions.PermissionMode) ValidationResult
- func ValidateNetworkTimeout(command string) ValidationResult
- func ValidatePaths(command string, workspace string) ValidationResult
- func ValidateReadOnly(command string, mode permissions.PermissionMode) ValidationResult
- func ValidateSed(command string, mode permissions.PermissionMode) ValidationResult
Constants ¶
This section is empty.
Variables ¶
ErrComputerUseUnavailable is returned when the host environment cannot support computer-use actions: no display server, missing required binaries, or unsupported OS. Callers can wrap or unwrap with errors.As.
var ErrNoAsker = fmt.Errorf("ask_user: no interactive Asker configured (non-interactive mode)")
ErrNoAsker is returned when ask_user runs with no Asker wired in a non-interactive context.
Functions ¶
func AllowedToolsForSubagent ¶
AllowedToolsForSubagent returns the set of allowed tool names for a subagent type.
func AskUserFallback ¶
func AskUserFallback(question string) api.ContentBlock
AskUserFallback returns a tool_result block for non-interactive contexts. Preserved for the legacy code path.
func AskUserInput ¶
AskUserInput pulls the (legacy) plain-text question from a tool input map. Kept for callers that only need the question string; new code should use ParseAskUserInput for the structured form.
func AskUserQuestionTool ¶
AskUserQuestionTool returns the tool definition for ask_user.
func ComputerUseTool ¶
ComputerUseTool returns the tool definition for the computer_use tool. The schema mirrors the Anthropic computer-use-20241022 contract closely enough that prompt-side guidance written for Claude Code transfers verbatim, while remaining a generic api.Tool (no provider-specific cache_control plumbing).
func ConfigTool ¶
func CronCreateTool ¶
func CronDeleteTool ¶
func CronGetTool ¶
func CronListTool ¶
func DetectCommandSubstitution ¶
DetectCommandSubstitution returns true if the command contains $(...) or backtick substitution outside single quotes.
func EnterPlanModeTool ¶
func ExecuteAgent ¶
ExecuteAgent validates input and returns agent metadata. Actual goroutine spawning is handled by the ConversationLoop.
func ExecuteAskUser ¶
ExecuteAskUser invokes the supplied Asker and returns a string suitable for embedding in a tool_result content block. A nil Asker returns ErrNoAsker so callers can decide whether to fall back to a placeholder.
func ExecuteBash ¶
func ExecuteBash(input map[string]any, mode permissions.PermissionMode, workspace string) (string, error)
ExecuteBash runs a bash command and returns combined stdout+stderr. It validates the command against the current permission mode and workspace path before execution. Pass permissions.ModeAllow and "" to skip validation.
The spawned bash inherits os.Environ() of the calling process. Use ExecuteBashWithEnv when the caller needs to surface a project-managed toolchain (devbox, nix, asdf) whose bin path is not in the parent shell's PATH.
func ExecuteBashWithEnv ¶
func ExecuteBashWithEnv(input map[string]any, mode permissions.PermissionMode, workspace string, extraEnv []string) (string, error)
ExecuteBashWithEnv runs a bash command with extra environment variables appended to the inherited process environment. Each extraEnv entry uses the standard "KEY=value" format; later entries for the same key win (Go's exec.Cmd convention).
The use case driving this entry point: when iterion is launched without the project's devbox/nix/asdf toolchain in PATH, the bash tool can't find go/gofmt/etc. and the LLM-driven fixer can't run `go test` to validate its patch. Passing devbox's bin path via extraEnv from the iterion side restores autonomy without forcing every operator to remember `devbox run --` at launch.
Pass nil to inherit only the parent process's environment (same behaviour as the legacy ExecuteBash entry point).
func ExecuteConfig ¶
ExecuteConfig reads a config value. The configMap is typically populated from ConversationLoop.Config fields exposed as a flat map.
func ExecuteCronCreate ¶
func ExecuteCronDelete ¶
func ExecuteCronGet ¶
func ExecuteCronList ¶
func ExecuteEnterPlanMode ¶
func ExecuteExitPlanMode ¶
func ExecuteFileEdit ¶
ExecuteFileEdit performs a targeted string replacement in a file.
func ExecuteGlob ¶
ExecuteGlob finds files matching a glob pattern.
func ExecuteGrep ¶
ExecuteGrep searches for a regex pattern in files.
func ExecuteListMcpResources ¶
func ExecuteMcpAuth ¶
func ExecuteReadFile ¶
ExecuteReadFile reads a file and returns its contents.
func ExecuteReadMcpResource ¶
func ExecuteRemoteTrigger ¶
ExecuteRemoteTrigger runs a remote_trigger invocation with the default runtime options. ctx governs timeout/cancellation.
func ExecuteRemoteTriggerWith ¶
func ExecuteRemoteTriggerWith(ctx context.Context, input map[string]any, opts RemoteTriggerOptions) (string, error)
ExecuteRemoteTriggerWith is the variant that accepts custom options for tests or hosts that need to relax / tighten the defaults.
func ExecuteRunTaskPacket ¶
func ExecuteTaskCreate ¶
func ExecuteTaskList ¶
func ExecuteTaskOutput ¶
func ExecuteTaskStop ¶
func ExecuteTaskUpdate ¶
func ExecuteTeamCreate ¶
func ExecuteTeamDelete ¶
func ExecuteTeamGet ¶
func ExecuteTeamList ¶
func ExecuteTodoWrite ¶
ExecuteTodoWrite reads or writes the todo list.
func ExecuteToolSearch ¶
ExecuteToolSearch searches the provided tool list by name/description.
func ExecuteWebFetch ¶
ExecuteWebFetch fetches a URL and returns its text content.
func ExecuteWebSearch ¶
ExecuteWebSearch performs a web search and returns formatted results.
func ExecuteWorkerAwaitReady ¶
func ExecuteWorkerCreate ¶
func ExecuteWorkerGet ¶
func ExecuteWorkerObserve ¶
func ExecuteWorkerRestart ¶
func ExecuteWorkerSendPrompt ¶
func ExecuteWorkerTerminate ¶
func ExecuteWriteFile ¶
ExecuteWriteFile writes content to a file, creating parent directories as needed.
func ExitPlanModeTool ¶
func ExtractText ¶
ExtractText reads a PDF file and extracts all readable text from BT/ET operators across all content streams. Non-text pages or encrypted PDFs yield an empty string rather than an error.
func ExtractTextFromBytes ¶
ExtractTextFromBytes extracts text from raw PDF bytes. This is the core extraction function, useful for testing without touching the filesystem.
func FileEditTool ¶
FileEditTool returns the tool definition for targeted string-replace file edits.
func ListMcpResourcesTool ¶
func LoadPersistedPlanMode ¶
LoadPersistedPlanMode reads the persisted plan mode state from disk. Returns (true, nil) if a state file exists (indicating plan mode was entered via ExecuteEnterPlanMode). Returns (false, nil) if stateDir is empty or the file doesn't exist. Returns (false, error) for real filesystem failures (permission denied, I/O errors), matching Rust's error propagation.
func LooksLikePDFPath ¶
LooksLikePDFPath checks if a user-supplied text contains a PDF file reference. Returns the cleaned path and true if found, or empty string and false.
func MaybeExtractPDFFromPrompt ¶
MaybeExtractPDFFromPrompt auto-extracts text from a PDF path mentioned in a user prompt. Returns (path, text, true) when a .pdf path is detected and the file exists with extractable text, otherwise ("", "", false).
func McpAuthTool ¶
func NotebookEditTool ¶
func ReadFileTool ¶
ReadFileTool returns the tool definition for reading files.
func ReadImageTool ¶
ReadImageTool returns the tool definition for loading an image into the conversation as an Anthropic vision content block.
func ReadMcpResourceTool ¶
func RemoteTriggerTool ¶
func RunTaskPacketTool ¶
func ScreenshotTool ¶
ScreenshotTool is preserved for backward compatibility. It returns the computer_use tool definition rebranded with a screenshot-only description so existing callers that only ever want screenshots keep working.
func SendUserMessageTool ¶
func StructuredOutputTool ¶
func TaskCreateTool ¶
func TaskGetTool ¶
func TaskListTool ¶
func TaskOutputTool ¶
func TaskStopTool ¶
func TaskUpdateTool ¶
func TeamCreateTool ¶
func TeamDeleteTool ¶
func TeamGetTool ¶
func TeamListTool ¶
func TodoWriteTool ¶
TodoWriteTool returns the tool definition for reading/writing the todo list.
func ToolSearchTool ¶
func WebFetchTool ¶
WebFetchTool returns the tool definition for fetching URLs.
func WebSearchTool ¶
WebSearchTool returns the tool definition for web search.
func WorkerAwaitReadyTool ¶
func WorkerCreateTool ¶
func WorkerGetTool ¶
func WorkerObserveTool ¶
func WorkerResolveTrustTool ¶
func WorkerRestartTool ¶
func WorkerSendPromptTool ¶
func WorkerTerminateTool ¶
func WriteFileTool ¶
WriteFileTool returns the tool definition for writing files.
Types ¶
type AgentSpec ¶
type AgentSpec struct {
AgentID string `json:"agent_id"`
Name string `json:"name"`
Description string `json:"description"`
Prompt string `json:"prompt"`
SubagentType string `json:"subagent_type"`
Model string `json:"model"`
}
AgentSpec holds validated agent parameters for spawning.
type Answer ¶
Answer carries the user's response. Exactly one of OptionID / FreeText is populated for a successful answer; both empty indicates a skip.
type CommandIntent ¶
type CommandIntent int
CommandIntent is a semantic classification of a bash command's intent.
const ( // ReadOnly operations: ls, cat, grep, find, etc. ReadOnly CommandIntent = iota // Write operations: cp, mv, mkdir, touch, tee, etc. Write // Destructive operations: rm, shred, truncate, etc. Destructive // Network operations: curl, wget, ssh, etc. Network // ProcessManagement operations: kill, pkill, etc. ProcessManagement // PackageManagement operations: apt, brew, pip, npm, etc. PackageManagement // SystemAdmin operations: sudo, chmod, chown, mount, etc. SystemAdmin // Unknown or unclassifiable command. Unknown )
func ClassifyCommand ¶
func ClassifyCommand(command string) CommandIntent
ClassifyCommand classifies the semantic intent of a bash command.
type ComputerUseAction ¶
type ComputerUseAction string
ComputerUseAction enumerates the action verbs accepted by the computer_use tool. The set mirrors Anthropic's official computer_use_20241022 spec, minus scroll variants which depend on toolkit-specific keysyms.
const ( ActionScreenshot ComputerUseAction = "screenshot" ActionLeftClick ComputerUseAction = "left_click" ActionRightClick ComputerUseAction = "right_click" ActionMiddleClick ComputerUseAction = "middle_click" ActionDoubleClick ComputerUseAction = "double_click" ActionType ComputerUseAction = "type" ActionKey ComputerUseAction = "key" ActionMouseMove ComputerUseAction = "mouse_move" ActionCursorPosition ComputerUseAction = "cursor_position" ActionLeftClickDrag ComputerUseAction = "left_click_drag" )
type ComputerUseResult ¶
type ComputerUseResult = ReadImageResult
ComputerUseResult is what ExecuteComputerUse produces. For screenshot actions, Blocks holds a single image ContentBlock and Description carries a caption. For input actions, Blocks is empty and Description carries a short success summary (e.g. "clicked at (120, 240)").
func ExecuteComputerUse ¶
ExecuteComputerUse dispatches an action verb to its handler. Validates inputs, then either captures a screenshot or invokes xdotool. Always returns ErrComputerUseUnavailable (wrapped) when prerequisites are missing.
type PipelineSegment ¶
type PipelineSegment struct {
Command string
Operator string // "|", "&&", "||", ";", or "" for the first segment
}
PipelineSegment represents a single command in a pipeline/chain.
func SplitPipeline ¶
func SplitPipeline(command string) []PipelineSegment
SplitPipeline splits a command string on |, &&, ||, ; while respecting single quotes, double quotes, and escape sequences.
type ProgrammaticAsker ¶
ProgrammaticAsker resolves answers via a caller-supplied function. Used for SDK / batch / test contexts where there is no human at a terminal.
type ReadImageResult ¶
type ReadImageResult struct {
Description string `json:"description"`
Blocks []api.ContentBlock `json:"blocks"`
}
ReadImageResult is what ExecuteReadImage produces. The Blocks field is shaped so callers can splice it directly into a tool_result content list destined for the next user-turn message.
func ExecuteReadImage ¶
ExecuteReadImage validates input, loads bytes from path or url, sniffs the media type, and returns a single image ContentBlock encoded as base64. Exactly one of path / url must be provided.
func ExecuteScreenshot ¶
ExecuteScreenshot is a thin shim around the computer_use screenshot action, kept to preserve the legacy API. New code should call ExecuteComputerUse with action="screenshot".
type RemoteTriggerOptions ¶
type RemoteTriggerOptions struct {
HTTPClient *http.Client // nil => internal default with per-request timeout
MaxBodyBytes int // <=0 => remoteTriggerDefaultMaxBody
AllowAuthHeader bool // permit caller to set Authorization in input
URLValidator func(*url.URL) error
}
RemoteTriggerOptions tunes the runtime defence-in-depth knobs without exposing them through the LLM-facing tool schema.
type ResolvedAttachment ¶
type ResolvedAttachment struct {
Path string `json:"path"`
Size int64 `json:"size"`
IsImage bool `json:"isImage"`
}
ResolvedAttachment holds metadata for a resolved file attachment.
type StdinAsker ¶
StdinAsker reads the answer from os.Stdin and writes the prompt to os.Stdout.
func NewStdinAsker ¶
func NewStdinAsker() *StdinAsker
NewStdinAsker returns an Asker bound to stdio.
type TUIAsker ¶
TUIAsker bridges to a TUI through a delivery callback. The TUI layer of claw-code-go itself does not use this — it consumes the runtime's TurnEventAskUser channel directly — but external TUIs that embed the SDK can wire this implementation.
type TodoItem ¶
type TodoItem struct {
ID string `json:"id"`
Content string `json:"content"`
Status string `json:"status"` // "pending" | "in_progress" | "done"
Priority string `json:"priority"` // "high" | "medium" | "low"
}
TodoItem represents a single task in the todo list.
type ToolSearchResult ¶
type ToolSearchResult struct {
Matches []string `json:"matches"`
Query string `json:"query"`
NormalizedQuery string `json:"normalized_query"`
TotalDeferredTools int `json:"total_deferred_tools"`
}
ToolSearchResult holds search results.
type ValidationKind ¶
type ValidationKind int
ValidationKind classifies the outcome of a bash command validation.
const ( // ValidationAllow means the command is safe to execute. ValidationAllow ValidationKind = iota // ValidationBlock means the command should be blocked. ValidationBlock // ValidationWarn means the command requires user confirmation. ValidationWarn )
type ValidationResult ¶
type ValidationResult struct {
Kind ValidationKind
Reason string
Message string
}
ValidationResult is the outcome of validating a bash command before execution.
func CheckDestructive ¶
func CheckDestructive(command string) ValidationResult
CheckDestructive warns if a command looks destructive.
func DetectEnvVarLeak ¶
func DetectEnvVarLeak(command string) ValidationResult
DetectEnvVarLeak checks for commands that might leak sensitive environment variables.
func DetectSudoElevatedFlags ¶
func DetectSudoElevatedFlags(command string) *ValidationResult
DetectSudoElevatedFlags checks for sudo -E (preserve env) and sudo -u (run as user). Returns nil if no elevated flags detected.
func ValidateArchiveExtraction ¶
func ValidateArchiveExtraction(command string) ValidationResult
ValidateArchiveExtraction checks tar/unzip for path safety.
func ValidateCommand ¶
func ValidateCommand(command string, mode permissions.PermissionMode, workspace string) ValidationResult
ValidateCommand runs the full validation pipeline on a bash command. Returns the first non-Allow result, or Allow if all validations pass.
func ValidateMode ¶
func ValidateMode(command string, mode permissions.PermissionMode) ValidationResult
ValidateMode validates that a command is consistent with the given permission mode.
func ValidateNetworkTimeout ¶
func ValidateNetworkTimeout(command string) ValidationResult
ValidateNetworkTimeout warns when network commands lack explicit timeout flags.
func ValidatePaths ¶
func ValidatePaths(command string, workspace string) ValidationResult
ValidatePaths validates that command paths don't include suspicious traversal patterns.
func ValidateReadOnly ¶
func ValidateReadOnly(command string, mode permissions.PermissionMode) ValidationResult
ValidateReadOnly validates that a command is allowed under read-only mode.
func ValidateSed ¶
func ValidateSed(command string, mode permissions.PermissionMode) ValidationResult
ValidateSed validates sed expressions for safety.
Source Files
¶
- agent.go
- ask_user.go
- bash.go
- bash_pipeline.go
- bash_validation.go
- computer_use.go
- computer_use_exec.go
- config_tool.go
- cron_tools.go
- file_edit.go
- files.go
- glob.go
- grep.go
- lsp_tool.go
- mcp_resource_tools.go
- notebook_edit.go
- pdf.go
- plan_mode.go
- remote_trigger.go
- repl.go
- send_message.go
- skill.go
- sleep.go
- structured_output.go
- task_tools.go
- team_tools.go
- todo_write.go
- tool_search.go
- web_fetch.go
- web_search.go
- worker_tools.go