pub struct ExternalAgentProfile {Show 18 fields
pub agent_id: String,
pub protocol: ExternalAgentProtocol,
pub agent_card_url: Option<String>,
pub rpc_url_override: Option<String>,
pub auth_ref: Option<String>,
pub tenant: Option<String>,
pub permission_profile: String,
pub skill: Option<String>,
pub allow_non_streaming_fallback: bool,
pub worker_bin: Option<String>,
pub worker_args: Vec<String>,
pub fabric_dir: Option<String>,
pub executor: Option<String>,
pub claude_code_binary: Option<String>,
pub claude_code_model: Option<String>,
pub claude_code_permission_mode: Option<String>,
pub claude_code_inherit_user_config: Option<bool>,
pub claude_code_forward_env: Option<Vec<String>>,
}Fields§
§agent_id: String§protocol: ExternalAgentProtocol§agent_card_url: Option<String>§rpc_url_override: Option<String>§auth_ref: Option<String>§tenant: Option<String>§permission_profile: String§skill: Option<String>§allow_non_streaming_fallback: bool§worker_bin: Option<String>Actor protocol only: path to the worker binary to spawn.
worker_args: Vec<String>Actor protocol only: fixed arguments passed to the worker binary
(e.g. ["subagent-worker"] when worker_bin is the main bamboo
binary). Per-child data never rides here — it goes in the spec.
fabric_dir: Option<String>Actor protocol only: directory the worker self-registers into (Tier-1 file fabric). Defaults to a per-user temp dir when unset.
executor: Option<String>Actor protocol only: which engine the worker runs.
"bamboo_runtime" (default) for the real agent loop, "echo" for a
dependency-free smoke run through the whole chain, "claude_code" to
drive the official Claude Code CLI (see the claude_code_* fields
below).
claude_code_binary: Option<String>executor = "claude_code" only: override the claude executable.
None runs claude resolved from PATH.
claude_code_model: Option<String>executor = "claude_code" only: --model override. None omits the
flag (CLI default).
claude_code_permission_mode: Option<String>executor = "claude_code" only: --permission-mode override. None
still passes an EXPLICIT default to the CLI (issue #443 — the
headless stream-json default is auto, which self-approves every
tool and never asks); it does not mean “omit the flag”.
claude_code_inherit_user_config: Option<bool>executor = "claude_code" only: true lets the child inherit the
invoking user’s ~/.claude MCP servers/skills/settings. false/unset
(the default) isolates it (--strict-mcp-config +
--setting-sources project).
claude_code_forward_env: Option<Vec<String>>executor = "claude_code" only: extra env var NAMES forwarded
verbatim from this process’s env to the child, on top of the fixed
HOME/PATH/SHELL/TERM/LANG/LC_*/TMPDIR/USER/LOGNAME allowlist.
Forwarding ANTHROPIC_API_KEY here is an explicit opt-in that flips
billing from the CLI’s own subscription auth to the API key.
Trait Implementations§
Source§impl Clone for ExternalAgentProfile
impl Clone for ExternalAgentProfile
Source§fn clone(&self) -> ExternalAgentProfile
fn clone(&self) -> ExternalAgentProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more