pub struct ToolCtx {Show 40 fields
pub cancel: CancellationToken,
pub turn_id: Option<TurnId>,
pub flow_run_id: Option<FlowRunId>,
pub history_segment: HistorySegment,
pub event_seq: Option<u64>,
pub prompt_resolver: Option<Arc<dyn PromptResolver>>,
pub registry: Option<Arc<ToolRegistry>>,
pub sandbox: Option<Arc<dyn Sandbox>>,
pub events: Option<EventSink>,
pub stdout_broadcast: Option<Sender<String>>,
pub session_messages: Option<Arc<Vec<Message>>>,
pub session_messages_handle: Option<Arc<Mutex<Vec<Message>>>>,
pub session_runtime: Option<Arc<Session>>,
pub compact_lock_handle: Option<Arc<Mutex<()>>>,
pub current_node_id: Option<String>,
pub stream_tx: Option<Sender<StreamFrame>>,
pub read_files: Option<Arc<Mutex<HashSet<PathBuf>>>>,
pub approval: Option<Arc<ApprovalRegistry>>,
pub forms: Option<Arc<FormRegistry>>,
pub providers: Option<Arc<ProviderRegistry>>,
pub session_dir: Option<PathBuf>,
pub output_store: Option<Arc<OutputStore>>,
pub data_root: Option<PathBuf>,
pub project_index: Option<Arc<AnchorIndex>>,
pub fs_access: FsAccessPolicy,
pub lifecycle_fire_tx: Option<UnboundedSender<LifecycleEvent>>,
pub bg_registry: Option<Arc<BgRegistry>>,
pub term_registry: Option<Arc<TermRegistry>>,
pub watch_hub: Option<Arc<WatchHub>>,
pub flow_registry: Option<Arc<FlowRegistry>>,
pub task_registry: Option<TaskRegistry>,
pub session_id: Option<String>,
pub trust: Option<TrustConfig>,
pub safety: Option<SafetyConfig>,
pub current_model: Option<String>,
pub watch_rules: Option<WatchRules>,
pub on_memory_recent: Option<Arc<dyn Fn(u16) + Send + Sync>>,
pub history_store: Option<Arc<dyn HistoryStore>>,
pub agent_entry: Option<Arc<FlowEntry>>,
pub tool_output_budget: ToolOutputBudget,
}Fields§
§cancel: CancellationToken§turn_id: Option<TurnId>§flow_run_id: Option<FlowRunId>§history_segment: HistorySegment§event_seq: Option<u64>§prompt_resolver: Option<Arc<dyn PromptResolver>>§registry: Option<Arc<ToolRegistry>>§sandbox: Option<Arc<dyn Sandbox>>§events: Option<EventSink>§stdout_broadcast: Option<Sender<String>>§session_messages: Option<Arc<Vec<Message>>>§session_messages_handle: Option<Arc<Mutex<Vec<Message>>>>§session_runtime: Option<Arc<Session>>§compact_lock_handle: Option<Arc<Mutex<()>>>§current_node_id: Option<String>§stream_tx: Option<Sender<StreamFrame>>§read_files: Option<Arc<Mutex<HashSet<PathBuf>>>>§approval: Option<Arc<ApprovalRegistry>>§forms: Option<Arc<FormRegistry>>§providers: Option<Arc<ProviderRegistry>>§session_dir: Option<PathBuf>§output_store: Option<Arc<OutputStore>>§data_root: Option<PathBuf>§project_index: Option<Arc<AnchorIndex>>§fs_access: FsAccessPolicy§lifecycle_fire_tx: Option<UnboundedSender<LifecycleEvent>>§bg_registry: Option<Arc<BgRegistry>>§term_registry: Option<Arc<TermRegistry>>§watch_hub: Option<Arc<WatchHub>>§flow_registry: Option<Arc<FlowRegistry>>§task_registry: Option<TaskRegistry>§session_id: Option<String>§trust: Option<TrustConfig>§safety: Option<SafetyConfig>§current_model: Option<String>§watch_rules: Option<WatchRules>§on_memory_recent: Option<Arc<dyn Fn(u16) + Send + Sync>>Called when memory.recent_turns is invoked, with the count of returned messages.
history_store: Option<Arc<dyn HistoryStore>>§agent_entry: Option<Arc<FlowEntry>>§tool_output_budget: ToolOutputBudgetImplementations§
Source§impl ToolCtx
impl ToolCtx
pub fn new() -> Self
pub fn with_anchors( self, turn_id: Option<TurnId>, flow_run_id: Option<FlowRunId>, event_seq: Option<u64>, ) -> Self
pub fn with_history_segment(self, segment: HistorySegment) -> Self
pub fn message_flow_run_id(&self) -> Option<FlowRunId>
pub fn with_registry(self, registry: Arc<ToolRegistry>) -> Self
pub fn with_sandbox(self, sandbox: Arc<dyn Sandbox>) -> Self
pub fn with_events(self, events: EventSink) -> Self
pub fn with_stdout_broadcast(self, tx: Sender<String>) -> Self
pub fn with_session_messages(self, msgs: Arc<Vec<Message>>) -> Self
pub fn with_session_messages_handle( self, handle: Arc<Mutex<Vec<Message>>>, ) -> Self
pub fn with_session_runtime(self, session: Arc<Session>) -> Self
pub fn with_compact_lock_handle(self, handle: Arc<Mutex<()>>) -> Self
pub fn with_current_node(self, node_id: Option<String>) -> Self
pub fn with_read_files(self, set: Arc<Mutex<HashSet<PathBuf>>>) -> Self
pub fn with_providers(self, providers: Arc<ProviderRegistry>) -> Self
pub fn with_session_dir(self, dir: PathBuf) -> Self
pub fn with_output_store(self, store: Arc<OutputStore>) -> Self
pub fn with_data_root(self, dir: PathBuf) -> Self
pub fn with_approval(self, approval: Arc<ApprovalRegistry>) -> Self
pub fn with_fs_access(self, policy: FsAccessPolicy) -> Self
pub fn with_lifecycle_fire_tx(self, tx: UnboundedSender<LifecycleEvent>) -> Self
pub fn with_forms(self, forms: Arc<FormRegistry>) -> Self
pub fn with_bg_registry(self, registry: Arc<BgRegistry>) -> Self
pub fn with_session_id(self, id: impl Into<String>) -> Self
pub fn with_trust(self, trust: TrustConfig) -> Self
pub fn with_safety(self, safety: SafetyConfig) -> Self
pub fn with_current_model(self, model: impl Into<String>) -> Self
pub fn with_watch_rules(self, rules: WatchRules) -> Self
pub fn with_term_registry(self, registry: Arc<TermRegistry>) -> Self
pub fn with_watch_hub(self, hub: Arc<WatchHub>) -> Self
pub fn with_flow_registry(self, registry: Arc<FlowRegistry>) -> Self
pub fn with_task_registry(self, registry: TaskRegistry) -> Self
pub fn note_read(&self, path: &Path)
pub fn has_read(&self, path: &Path) -> bool
pub fn with_project_index(self, idx: Arc<AnchorIndex>) -> Self
pub fn with_history_store(self, store: Arc<dyn HistoryStore>) -> Self
pub fn with_agent_entry(self, entry: Arc<FlowEntry>) -> Self
pub fn with_stream_tx(self, tx: Sender<StreamFrame>) -> Self
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ToolCtx
impl !UnwindSafe for ToolCtx
impl Freeze for ToolCtx
impl Send for ToolCtx
impl Sync for ToolCtx
impl Unpin for ToolCtx
impl UnsafeUnpin for ToolCtx
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.