pub struct ToolContext {Show 16 fields
pub cwd: PathBuf,
pub cancelled: Arc<AtomicBool>,
pub update_tx: Sender<ToolUpdate>,
pub command_tx: Sender<AgentCommand>,
pub ui: Arc<dyn UserInterface>,
pub file_cache: Arc<FileCache>,
pub checkpoint_state: Arc<CheckpointState>,
pub file_tracker: Arc<Mutex<FileTracker>>,
pub anchor_store: Arc<AnchorStore>,
pub lua_tool_loader: Option<LuaToolLoader>,
pub mode: AgentMode,
pub read_max_lines: usize,
pub turn_mana_review: Arc<Mutex<TurnManaReviewAccumulator>>,
pub config: Arc<Config>,
pub run_policy: RunPolicy,
pub supporting_provenance: Vec<Provenance>,
}Expand description
Context provided to tools during execution.
Fields§
§cwd: PathBuf§cancelled: Arc<AtomicBool>§update_tx: Sender<ToolUpdate>§command_tx: Sender<AgentCommand>§ui: Arc<dyn UserInterface>§file_cache: Arc<FileCache>§checkpoint_state: Arc<CheckpointState>Shared checkpoint/file-history state for destructive tool operations.
file_tracker: Arc<Mutex<FileTracker>>Tracks file reads for staleness detection and unread-edit warnings.
anchor_store: Arc<AnchorStore>Session-local anchors emitted by read and consumed by anchored edit mode.
lua_tool_loader: Option<LuaToolLoader>Cloneable Lua extension loader inherited from the parent runtime.
mode: AgentModeActive agent mode — determines which actions are permitted.
read_max_lines: usizeMax lines the read tool may return before truncating. 0 means unlimited.
turn_mana_review: Arc<Mutex<TurnManaReviewAccumulator>>Turn-scoped runtime accumulator for between-turn mana review packets.
config: Arc<Config>Resolved runtime config for tool-specific policy checks.
run_policy: RunPolicyPer-run tool/write policy layered on top of AgentMode.
supporting_provenance: Vec<Provenance>Supporting provenance for content that motivates durable writes in this tool call.
Implementations§
Source§impl ToolContext
impl ToolContext
pub fn is_cancelled(&self) -> bool
pub fn check_write_path(&self, path: &Path) -> Result<(), String>
Trait Implementations§
Source§impl Clone for ToolContext
impl Clone for ToolContext
Source§fn clone(&self) -> ToolContext
fn clone(&self) -> ToolContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ToolContext
impl !RefUnwindSafe for ToolContext
impl Send for ToolContext
impl Sync for ToolContext
impl Unpin for ToolContext
impl UnsafeUnpin for ToolContext
impl !UnwindSafe for ToolContext
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more