pub struct ToolMatch {
pub tool_name: String,
pub local_present: bool,
pub remote_present: bool,
pub schema_compatible: Option<bool>,
pub upstream_prefix: Option<String>,
pub schema_mismatch: Option<String>,
}Expand description
Per-tool outcome of the matcher.
Fields§
§tool_name: StringThe unprefixed tool name (get_issues, not cloud__get_issues).
local_present: boolTrue if the tool is implemented by the local ToolHandler.
remote_present: boolTrue if at least one upstream proxy advertises this tool.
schema_compatible: Option<bool>Only set when both sides are present. Some(true) means the local schema can
satisfy every required argument the upstream schema declares.
upstream_prefix: Option<String>Prefix of the first upstream advertising this tool (used to build the fully
qualified remote name {prefix}__{tool_name}).
schema_mismatch: Option<String>Human-readable mismatch description. Always Some when schema_compatible == Some(false); may also carry an advisory note when compatible but imperfect.
Implementations§
Source§impl ToolMatch
impl ToolMatch
Sourcepub fn is_matched(&self) -> bool
pub fn is_matched(&self) -> bool
Is there both a local and a remote implementation for this tool?
Sourcepub fn is_routable_local(&self) -> bool
pub fn is_routable_local(&self) -> bool
Is the local executor a viable routing target for this tool?
Sourcepub fn prefixed_remote_name(&self) -> Option<String>
pub fn prefixed_remote_name(&self) -> Option<String>
Fully qualified remote tool name ({prefix}__{tool_name}) if we know the prefix.