pub struct CompiledToolConfig {Show 25 fields
pub id: String,
pub kind: CompiledToolKind,
pub cmd: Option<String>,
pub prompt_md: Option<String>,
pub contract: Option<String>,
pub compiled_schema: Option<Value>,
pub result_format: Option<String>,
pub timeout_ms: Option<i32>,
pub allow_network: Option<bool>,
pub allow_fs: Option<bool>,
pub allow_subprocess: Option<bool>,
pub credential_delivery: Option<CompiledCredentialDelivery>,
pub oauth_providers: Option<Vec<String>>,
pub oauth_required_scopes: Option<HashMap<String, Vec<String>>>,
pub allowed_commands: Option<Vec<String>>,
pub blocked_commands: Option<Vec<String>>,
pub requires_challenge: Option<bool>,
pub allowed_domains: Option<Vec<String>>,
pub blocked_domains: Option<Vec<String>>,
pub max_navigations: Option<i32>,
pub max_duration_ms: Option<i32>,
pub use_vision: Option<bool>,
pub composio_toolkit: Option<String>,
pub composio_actions: Option<Vec<String>>,
pub is_composio_gateway: Option<bool>,
}Expand description
Compiled tool definition.
Fields§
§id: StringFully-qualified tool id (e.g., “tools.prompts.search”)
kind: CompiledToolKind§cmd: Option<String>§prompt_md: Option<String>§contract: Option<String>Path to contract JSON Schema file (original reference).
compiled_schema: Option<Value>Compiled JSON Schema for runtime input validation. Populated during pack compilation if contract is specified.
result_format: Option<String>§timeout_ms: Option<i32>§allow_network: Option<bool>§allow_fs: Option<bool>§allow_subprocess: Option<bool>§credential_delivery: Option<CompiledCredentialDelivery>How OAuth credentials should be delivered to subprocess tools.
oauth_providers: Option<Vec<String>>OAuth providers whose tokens are injected server-side at execution time.
oauth_required_scopes: Option<HashMap<String, Vec<String>>>Required scopes per OAuth provider.
allowed_commands: Option<Vec<String>>Allowed commands whitelist for Bash tools (empty = all allowed).
blocked_commands: Option<Vec<String>>Blocked commands blacklist for Bash tools.
requires_challenge: Option<bool>If true, tool execution requires challenge-response authentication. The caller must first receive a nonce, sign it, and submit the proof.
allowed_domains: Option<Vec<String>>Browser tool: allowed domain patterns (glob). Empty = all allowed.
blocked_domains: Option<Vec<String>>Browser tool: blocked domain patterns (glob).
Browser tool: maximum navigations per session.
max_duration_ms: Option<i32>Browser tool: maximum session duration in milliseconds.
use_vision: Option<bool>Browser tool: use vision (screenshots) instead of accessibility tree.
composio_toolkit: Option<String>Composio tool: toolkit name (e.g. “GMAIL”, “SLACK”, “GITHUB”).
composio_actions: Option<Vec<String>>Composio tool: action names to expose.
is_composio_gateway: Option<bool>Composio Gateway: true if this is the gateway meta-tool.
Trait Implementations§
Source§impl Clone for CompiledToolConfig
impl Clone for CompiledToolConfig
Source§fn clone(&self) -> CompiledToolConfig
fn clone(&self) -> CompiledToolConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more