pub struct Exec {
pub enabled: bool,
pub allow: Vec<String>,
pub workdir: Option<String>,
pub timeout: Option<Dur>,
pub max_output: Option<u64>,
pub env: Vec<String>,
}Expand description
The local command-runner controls. agentd’s default posture is no local
execution, so this stays off unless an operator both builds with
--features exec AND sets enabled: true — two independent switches, so
neither a config mistake nor a stock binary can turn it on alone. Even then
it runs only allow-listed commands, in a confined directory, with a minimal
env. Without the local runner the exec tool is mapping-only: it can
be delegated off-box via tools.overrides. It carries the sensitive +
egress trifecta tags, so enabling it narrows what else the agent may
compose with.
Fields§
§enabled: boolEnable a LOCAL runner. Requires the exec build feature too; default OFF.
allow: Vec<String>Allow-listed command names (argv[0]); anything else is refused. Empty =
deny all (so enabled alone runs nothing).
workdir: Option<String>The directory commands run in; a requested cwd must resolve inside it.
timeout: Option<Dur>Max wall-clock per command (a longer requested timeout is clamped). 30s.
max_output: Option<u64>Cap on captured stdout+stderr bytes (default 1 MiB).
env: Vec<String>Environment variable NAMES passed through to the child (default none — a minimal env; the agent’s own env/secrets are never inherited).