Skip to content
1 min read · 263 words

Interface: RunShellCommandOptions

Defined in: src/batteries/sandbox/tool.ts:15

Configuration for the streaming shell-command tool.

Properties

PropertyModifierTypeDescriptionDefined in
allowedCommands?readonlyreadonly string[]Optional command-name allow-list.src/batteries/sandbox/tool.ts:25
description?readonlystringOptional tool description override.src/batteries/sandbox/tool.ts:40
env?readonlyReadonly<Record<string, string>>Environment variables to add to every command this tool spawns. Remarks ADDITIVE, and applied LAST — over both the host variables the enforcer allow-listed and SRT's own proxy/CA plumbing. It is not the host-inheritance control: the enforcer decides what the child inherits (envAllowList / inheritHostEnv on the Node adapter), and this cannot re-admit a variable the enforcer withheld except by supplying the value literally here. Anything put here is readable by the model — run_shell_command runs commands the model chose, and env is one of them — so pass configuration, not credentials.src/batteries/sandbox/tool.ts:38
gate?readonlyToolGateFnRequired human/policy approval gate.src/batteries/sandbox/tool.ts:23
narrate?readonlySandboxNarratorInjectable model-facing outcome renderer.src/batteries/sandbox/tool.ts:42
policyreadonlySandboxPolicyPolicy applied to the spawned command.src/batteries/sandbox/tool.ts:19
sandboxreadonlySandboxPolicyEnforcerStreaming policy enforcer; unlike BinaryExecutor this exposes live stdout/stderr.src/batteries/sandbox/tool.ts:17
translatorreadonlyPathTranslatorModel-path translator for the working directory.src/batteries/sandbox/tool.ts:21