pub struct CtxShareTool;Trait Implementations§
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.Source§fn publishes_every_source(&self, _args: Option<&Map<String, Value>>) -> bool
fn publishes_every_source(&self, _args: Option<&Map<String, Value>>) -> bool
Declaration that this invocation reads every project source it
derives output from through the admitted readers
(
tools::ctx_read::read_file_*), on the handler’s own thread or on
workers started with TaskSpine::spawn_thread — so that each of them is
published into the call’s source capture. Only then is a captured
source set the WHOLE set, and only then may it authorize reuse of the
result (idempotent replay, response cache, source-bound recovery copy). Read moreAuto Trait Implementations§
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