pub struct GitHistoryTool;Expand description
Tool for investigating file history with actual diffs
Trait Implementations§
Source§impl Clone for GitHistoryTool
impl Clone for GitHistoryTool
Source§fn clone(&self) -> GitHistoryTool
fn clone(&self) -> GitHistoryTool
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Tool for GitHistoryTool
impl Tool for GitHistoryTool
Source§type Args = GitHistoryArgs
type Args = GitHistoryArgs
Tool execution arguments - ALSO determines output type via ToolArgs::Output. Read more
Source§type Prompts = HistoryPrompts
type Prompts = HistoryPrompts
Prompt provider (MUST be from schema - tools cannot implement PromptProvider). Read more
Source§fn description() -> &'static str
fn description() -> &'static str
Human-readable description of what this tool does
Source§fn destructive() -> bool
fn destructive() -> bool
Can this tool delete or overwrite existing data? Read more
Source§fn idempotent() -> bool
fn idempotent() -> bool
Is calling this tool repeatedly with same args safe/idempotent? Read more
Source§async fn execute(
&self,
args: Self::Args,
_ctx: ToolExecutionContext,
) -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
async fn execute( &self, args: Self::Args, _ctx: ToolExecutionContext, ) -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
Execute the tool with given arguments. Read more
Source§fn validate_schema() -> Result<(), String>
fn validate_schema() -> Result<(), String>
Validate that schema generation works for this tool’s Args type. Read more
Source§fn input_schema() -> Arc<Map<String, Value>>
fn input_schema() -> Arc<Map<String, Value>>
Input schema - AUTO-GENERATED from Args type via
JsonSchema derive
Cached for performance - schema is computed once and reusedSource§fn output_schema() -> Arc<Map<String, Value>>
fn output_schema() -> Arc<Map<String, Value>>
Output schema - AUTO-GENERATED from
<Args as ToolArgs>::Output. Read moreSource§fn open_world() -> bool
fn open_world() -> bool
Does this tool interact with external systems (network, filesystem outside repo)? Read more
Source§fn prompt_name() -> Cow<'static, str>
fn prompt_name() -> Cow<'static, str>
Prompt name (defaults to “{
tool_name}_help”)Source§fn prompt_description() -> &'static str
fn prompt_description() -> &'static str
Prompt description (defaults to tool description)
Source§fn into_tool_route<S>(self) -> ToolRoute<S>
fn into_tool_route<S>(self) -> ToolRoute<S>
Convert this tool into an RMCP
ToolRoute Read moreSource§fn into_prompt_route<S>(self) -> PromptRoute<S>
fn into_prompt_route<S>(self) -> PromptRoute<S>
Convert this tool into an RMCP
PromptRoute Read moreSource§fn arc_into_tool_route<S>(self: Arc<Self>) -> ToolRoute<S>
fn arc_into_tool_route<S>(self: Arc<Self>) -> ToolRoute<S>
Convert Arc-wrapped tool into an RMCP
ToolRoute (optimized - no extra Arc allocation) Read moreSource§fn arc_into_prompt_route<S>(self: Arc<Self>) -> PromptRoute<S>
fn arc_into_prompt_route<S>(self: Arc<Self>) -> PromptRoute<S>
Convert Arc-wrapped tool into an RMCP
PromptRoute (optimized - no extra Arc allocation) Read moreAuto Trait Implementations§
impl Freeze for GitHistoryTool
impl RefUnwindSafe for GitHistoryTool
impl Send for GitHistoryTool
impl Sync for GitHistoryTool
impl Unpin for GitHistoryTool
impl UnwindSafe for GitHistoryTool
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToolPrompts for Twhere
T: Tool,
impl<T> ToolPrompts for Twhere
T: Tool,
Source§fn prompt_arguments() -> Vec<PromptArgument>
fn prompt_arguments() -> Vec<PromptArgument>
Get prompt arguments (calls schema’s PromptProvider)
Source§fn prompt(
args: <Self::Prompts as PromptProvider>::PromptArgs,
) -> Result<Vec<PromptMessage>, McpError>
fn prompt( args: <Self::Prompts as PromptProvider>::PromptArgs, ) -> Result<Vec<PromptMessage>, McpError>
Generate prompts (calls schema’s PromptProvider) Read more