pub struct ProjectTool { /* private fields */ }Implementations§
Source§impl ProjectTool
impl ProjectTool
pub fn new( sessions: SessionRepository, projects: Arc<ProjectStore>, ) -> ProjectTool
pub fn new_with_workspace_resolver( sessions: SessionRepository, projects: Arc<ProjectStore>, workspace_resolver: WorkspaceResolver, ) -> ProjectTool
pub fn with_account_sink( self, account_sink: Arc<AccountEventSink>, ) -> ProjectTool
Trait Implementations§
Source§impl Tool for ProjectTool
impl Tool for ProjectTool
fn name(&self) -> &str
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable tool description for LLM.
Source§fn classify(&self, args: &Value) -> ToolClass
fn classify(&self, args: &Value) -> ToolClass
Per-call scheduling + permission-gating class (args-aware). Folds the
former
mutability/call_mutability/concurrency_safe/
call_concurrency_safe hooks into one value. Defaults to the conservative
ToolClass::MUTATING_SERIAL (mutating, serial, not promotable).Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON Schema for tool parameters.
Source§fn invoke<'life0, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolCtx,
) -> Pin<Box<dyn Future<Output = Result<ToolOutcome, ToolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ProjectTool: 'async_trait,
fn invoke<'life0, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolCtx,
) -> Pin<Box<dyn Future<Output = Result<ToolOutcome, ToolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ProjectTool: 'async_trait,
The sole execution entry: returns the call’s per-call
ToolOutcome
(Completed / Running
/ NeedsHuman), or a ToolError for
infrastructure / argument failures (preserved from the former execute). Read moreSource§fn to_schema(&self) -> ToolSchema
fn to_schema(&self) -> ToolSchema
Convert tool to LLM-compatible schema. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for ProjectTool
impl !UnwindSafe for ProjectTool
impl Freeze for ProjectTool
impl Send for ProjectTool
impl Sync for ProjectTool
impl Unpin for ProjectTool
impl UnsafeUnpin for ProjectTool
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