pub struct CtxExecuteTool;Trait Implementations§
Source§impl McpTool for CtxExecuteTool
impl McpTool for CtxExecuteTool
Source§fn publishes_every_source(&self, args: Option<&Map<String, Value>>) -> bool
fn publishes_every_source(&self, args: Option<&Map<String, Value>>) -> bool
action=file reads exactly one source, through the admitted rooted
reader on the handler thread (tools::ctx_execute::handle_file_in_view)
and derives its summary from that text alone. code and batch run
arbitrary programs whose reads nothing here observes: not declared.
Source§fn tool_def(&self) -> Tool
fn tool_def(&self) -> Tool
MCP tool definition including JSON schema. This replaces the
corresponding entry in
granular_tool_defs().Source§fn handle(
&self,
args: &Map<String, Value>,
ctx: &ToolContext,
) -> Result<ToolOutput, ErrorData>
fn handle( &self, args: &Map<String, Value>, ctx: &ToolContext, ) -> Result<ToolOutput, ErrorData>
Execute the tool. Args are the raw JSON-RPC arguments.
ctx provides access to resolved paths and project state.Source§fn rights_name(&self) -> &'static str
fn rights_name(&self) -> &'static str
The name of the handler this tool runs, for the session rights’
denied_tools (process-v1 §9): an alias names the tool it delegates
to, so denying that tool denies every name it is reachable under.Source§fn produces_machine_readable(&self, _args: Option<&Map<String, Value>>) -> bool
fn produces_machine_readable(&self, _args: Option<&Map<String, Value>>) -> bool
Whether this invocation yields a machine-readable payload (e.g. JSON)
that must reach the client byte-exact and parseable. When
true, the
dispatch pipeline suppresses every human-oriented decoration
(auto-context briefing, verify footer, hints, checkpoints, deprecation
notices) and terse compression for this call, returning the pure body.
Keyed on args because most tools emit machine-readable output only for
an opt-in format flag (e.g. format=json); defaults to false (#990).Source§fn attests_source_free(&self, _args: Option<&Map<String, Value>>) -> bool
fn attests_source_free(&self, _args: Option<&Map<String, Value>>) -> bool
Attestation that this invocation derives its output from the caller’s
arguments and lean-ctx’s own state only — it reads no project source,
provider or stored copy of one. Replay admission relies on it: an
output with no captured source set is replayed under protection only
when its tool attests this. The default is
false: “no source was
observed” is not proof, an uninstrumented reader publishes none either.
Override only for a tool whose handler was read for exactly this.Auto Trait Implementations§
impl Forget for CtxExecuteTool
impl Freeze for CtxExecuteTool
impl Move for CtxExecuteTool
impl RefUnwindSafe for CtxExecuteTool
impl Send for CtxExecuteTool
impl Sync for CtxExecuteTool
impl Unpin for CtxExecuteTool
impl UnsafeUnpin for CtxExecuteTool
impl UnwindSafe for CtxExecuteTool
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> 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