pub fn competing_memory_tool(tool: &dyn Tool) -> boolExpand description
Whether a non-builtin tool is an independent memory capability, which an
exclusive (host-selected) memory backend refuses beside the host’s own
memory tools: its source registered a memory operation (an extension’s
Tool::source_operation, an MCP server’s or a plugin’s tool name in its
ToolOrigin), or its runtime name, or that name’s last : segment, is
or is offered as a memory tool’s name. An extension memory registering
search is offered as memory_search (memory_search_2 beside the
host’s own tool) and is therefore competing. Builtins are never
classified. A custom tool with any other name cannot be recognized
generically; this guards against names a model would take for a memory
tool, it is not a sandbox.