pub enum ToolOrigin {
LocalSandbox,
Fetcher,
FirstParty,
RegisteredConnector,
Unknown,
}Expand description
Where a tool comes from — the registry-provenance half of classification.
Trust scoping is the security-load-bearing part: taint-immune
classification (Capability::FixedConnectorRead) is earned only by
operator registration (ToolOrigin::RegisteredConnector /
ToolOrigin::FirstParty) — never by a connector’s self-declared
annotation hints alone. This is what the MCP specification normatively
requires: clients MUST treat tool annotations as untrusted unless the
server is trusted.
Variants§
LocalSandbox
A sandbox-confined built-in (the coding tools): runs inside the conversation’s execution unit, which has no outbound network.
Fetcher
A built-in fetcher (the web/paid fetchers): brokered on the trusted side to a model-controlled destination.
FirstParty
A built-in that reads or acts on the caller’s own first-party state via the control plane (the history and wallet families): a fixed, operator-owned destination.
RegisteredConnector
A connector tool whose server the operator registered (registry
provenance, e.g. the ToolService registry). Its annotations are
load-bearing inputs because the operator vouched for the server.
Unknown
Anything else: an unregistered server’s self-declared tool, an unknown name, an unannotated spec. Fails closed to the privileged set.
Trait Implementations§
Source§impl Clone for ToolOrigin
impl Clone for ToolOrigin
Source§fn clone(&self) -> ToolOrigin
fn clone(&self) -> ToolOrigin
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ToolOrigin
Source§impl Debug for ToolOrigin
impl Debug for ToolOrigin
impl Eq for ToolOrigin
Source§impl PartialEq for ToolOrigin
impl PartialEq for ToolOrigin
Source§fn eq(&self, other: &ToolOrigin) -> bool
fn eq(&self, other: &ToolOrigin) -> bool
self and other values to be equal, and is used by ==.