pub struct ToolCapabilities {
pub watcher_exit_path: Option<PathBuf>,
pub tool_register_tx: Option<UnboundedSender<Vec<Arc<dyn Tool>>>>,
pub session_manager: Option<Arc<SessionManager>>,
pub subagent_registry: Option<Arc<Mutex<SubagentRegistry>>>,
pub event_queue: Option<Arc<EventQueue>>,
pub delegation_parent: Option<String>,
pub secret_prompt: Option<SecretPromptHandle>,
pub orchestration: Option<Arc<OrchestrationRuntime>>,
pub tool_activation: Option<ActivationCapability>,
pub mcp_leases: Option<McpLeaseCapability>,
pub extension_leases: Option<ExtensionLeaseCapability>,
pub memory_context: Option<MemoryContextCapability>,
}Expand description
Runtime capability handles — shared services a tool may require.
Fields§
§watcher_exit_path: Option<PathBuf>§tool_register_tx: Option<UnboundedSender<Vec<Arc<dyn Tool>>>>§session_manager: Option<Arc<SessionManager>>§subagent_registry: Option<Arc<Mutex<SubagentRegistry>>>§event_queue: Option<Arc<EventQueue>>§delegation_parent: Option<String>Current worker handle when this context belongs to a delegated
runtime. None denotes the foreground root.
secret_prompt: Option<SecretPromptHandle>§orchestration: Option<Arc<OrchestrationRuntime>>Runtime-enforced delegation/lifecycle policy. When present, every spawn path must authorize before creating channels, threads, or provider runtimes.
tool_activation: Option<ActivationCapability>Discovery/activation capability context (Task 17): passive catalog
snapshot + retained session-set handle + host-supplied activation
authority. None (default for manual fixtures and non-stream
contexts) means the discovery/activation builtins fail typed and no
model-initiated activation is possible.
mcp_leases: Option<McpLeaseCapability>Session-scoped exact MCP lease capability (Task 19): exact session
identity + shared runtime manager. None (default for non-stream
contexts) means deferred MCP tools fail typed and start nothing.
extension_leases: Option<ExtensionLeaseCapability>Session-scoped exact EXTENSION lease capability (Task 20): exact
session identity + shared extension runtime manager. None
(default for non-stream contexts) means deferred extension tools
fail typed and start nothing.
memory_context: Option<MemoryContextCapability>Session-scoped continuous-memory context capability (task A4, spec
§7.2): shared per-session memory state + host-owned grant scope.
None (default for non-stream contexts) means the memory_context
builtin can commit nothing — lease-granting actions fail typed,
while status/disable still answer deterministically Off
(memory off requires no infrastructure).
Auto Trait Implementations§
impl !RefUnwindSafe for ToolCapabilities
impl !UnwindSafe for ToolCapabilities
impl Freeze for ToolCapabilities
impl Send for ToolCapabilities
impl Sync for ToolCapabilities
impl Unpin for ToolCapabilities
impl UnsafeUnpin for ToolCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.