pub struct WorkbookToolHandler { /* private fields */ }Expand description
One served MCP tool per output Table (WBV2-04): validate → seed via cell_map → re-run the embedded IR → project ONLY this tool’s outputs (finite) → stamp.
Each handler advertises a per-tool I/O schema: an inputSchema carrying ONLY
this tool’s DAG-derived input_keys, and a non-empty outputSchema over this
tool’s own outputs (TypedToolWithOutput). The generic single calculate is
retired (§4 — an LLM selects a NAMED tool per output Table).
Implementations§
Source§impl WorkbookToolHandler
impl WorkbookToolHandler
Sourcepub fn new(bundle: Arc<WorkbookBundle>, tool: Tool) -> Self
pub fn new(bundle: Arc<WorkbookBundle>, tool: Tool) -> Self
Build over the shared verified bundle + this tool’s projection.
Sourcepub fn registered_name(&self) -> Result<String, WorkbookToolError>
pub fn registered_name(&self) -> Result<String, WorkbookToolError>
The sanitized MCP tool name (the registered name + the metadata name — ONE source so they cannot drift).
§Errors
Returns Err if this tool’s raw name is unmappable to the MCP charset.
Trait Implementations§
Source§impl ToolHandler for WorkbookToolHandler
impl ToolHandler for WorkbookToolHandler
Auto Trait Implementations§
impl Freeze for WorkbookToolHandler
impl RefUnwindSafe for WorkbookToolHandler
impl Send for WorkbookToolHandler
impl Sync for WorkbookToolHandler
impl Unpin for WorkbookToolHandler
impl UnsafeUnpin for WorkbookToolHandler
impl UnwindSafe for WorkbookToolHandler
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
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 moreCreates a shared type from an unshared type.