pub struct GitHubTool { /* private fields */ }Expand description
Unified GitHub tool using gh CLI.
Implementations§
Source§impl GitHubTool
impl GitHubTool
Sourcepub fn new(cache: Arc<SearchCache>) -> Self
pub fn new(cache: Arc<SearchCache>) -> Self
Create a new GitHubTool with the given search cache.
Trait Implementations§
Source§impl AgentTool for GitHubTool
impl AgentTool for GitHubTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Description for the model
Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON Schema for parameters
Source§fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_tool_call_id: &'life1 str,
params: Value,
_signal: Option<Receiver<()>>,
_ctx: &'life2 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<AgentToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_tool_call_id: &'life1 str,
params: Value,
_signal: Option<Receiver<()>>,
_ctx: &'life2 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<AgentToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute the tool with the given tool call ID and parameters. Read more
Source§fn essential(&self) -> bool
fn essential(&self) -> bool
Whether this tool is essential (cannot be disabled).
Essential tools: read, write, edit, bash, grep, find, ls
Optional tools: web_search, github, subagent, etc.
Source§fn on_progress(&self, _callback: ProgressCallback)
fn on_progress(&self, _callback: ProgressCallback)
Called with progress updates during execution.
Tools can override this to emit streaming updates.
Source§fn to_definition(&self) -> ToolDefinition
fn to_definition(&self) -> ToolDefinition
Convert to ToolDefinition
Auto Trait Implementations§
impl Freeze for GitHubTool
impl !RefUnwindSafe for GitHubTool
impl Send for GitHubTool
impl Sync for GitHubTool
impl Unpin for GitHubTool
impl UnsafeUnpin for GitHubTool
impl !UnwindSafe for GitHubTool
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