pub struct CtxLoadToolsTool;Trait Implementations§
Source§impl McpTool for CtxLoadToolsTool
impl McpTool for CtxLoadToolsTool
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§
impl Forget for CtxLoadToolsTool
impl Freeze for CtxLoadToolsTool
impl Move for CtxLoadToolsTool
impl RefUnwindSafe for CtxLoadToolsTool
impl Send for CtxLoadToolsTool
impl Sync for CtxLoadToolsTool
impl Unpin for CtxLoadToolsTool
impl UnsafeUnpin for CtxLoadToolsTool
impl UnwindSafe for CtxLoadToolsTool
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