pub struct ToolContext {
pub workspace_root: PathBuf,
pub cwd: Arc<RwLock<PathBuf>>,
/* private fields */
}Expand description
Shared context available to all built-in tools.
Fields§
§workspace_root: PathBufWorkspace root directory.
cwd: Arc<RwLock<PathBuf>>Current working directory (persists across bash invocations).
Implementations§
Source§impl ToolContext
impl ToolContext
Sourcepub fn new(workspace_root: PathBuf) -> ToolContext
pub fn new(workspace_root: PathBuf) -> ToolContext
Create a new tool context.
Create a per-turn tool context that shares the cwd with other turns
but has its own independent spawner slot.
This prevents concurrent sessions from racing on the spawner field while still sharing the working directory state.
Sourcepub async fn set_subagent_spawner(
&self,
spawner: Option<Arc<dyn SubAgentSpawner>>,
)
pub async fn set_subagent_spawner( &self, spawner: Option<Arc<dyn SubAgentSpawner>>, )
Set the sub-agent spawner (called by runtime at turn start).
Sourcepub async fn subagent_spawner(&self) -> Option<Arc<dyn SubAgentSpawner>>
pub async fn subagent_spawner(&self) -> Option<Arc<dyn SubAgentSpawner>>
Get the sub-agent spawner (called by TaskTool).
Auto 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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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