pub struct GitStashTool;Expand description
Tool for stashing changes
Trait Implementations§
Source§impl Clone for GitStashTool
impl Clone for GitStashTool
Source§fn clone(&self) -> GitStashTool
fn clone(&self) -> GitStashTool
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 GitStashTool
impl Tool for GitStashTool
Source§type Args = GitStashArgs
type Args = GitStashArgs
Tool execution arguments - ALSO determines output type via ToolArgs::Output. Read more
Source§type Prompts = StashPrompts
type Prompts = StashPrompts
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 GitStashTool
impl RefUnwindSafe for GitStashTool
impl Send for GitStashTool
impl Sync for GitStashTool
impl Unpin for GitStashTool
impl UnwindSafe for GitStashTool
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