pub struct CtxHandoffTool;Trait Implementations§
Source§impl McpTool for CtxHandoffTool
impl McpTool for CtxHandoffTool
Source§fn publishes_every_source(&self, args: Option<&Map<String, Value>>) -> bool
fn publishes_every_source(&self, args: Option<&Map<String, Value>>) -> bool
Declared for show only: its reply is the ledger path and the ledger
as handoff_ledger::load_ledger serves it, which publishes the joined
files of a ledger made of curated excerpts and of findings and facts
that were all bound at its creation, and marks the capture incomplete
for every other ledger (an originless finding or fact, session text
or a workflow has no source to re-check).
Not declared: create (curated refs come from the read cache),
merge (the reply carries digests and counts, never ledger text),
export/import (bundle files, read outside the admitted readers),
pull (applies the ledger; the reply carries counts), list, clear.
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 CtxHandoffTool
impl Freeze for CtxHandoffTool
impl Move for CtxHandoffTool
impl RefUnwindSafe for CtxHandoffTool
impl Send for CtxHandoffTool
impl Sync for CtxHandoffTool
impl Unpin for CtxHandoffTool
impl UnsafeUnpin for CtxHandoffTool
impl UnwindSafe for CtxHandoffTool
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