Expand description
Transport-free tool enumeration.
The embedded control plane returned a hardcoded [] for tools while both
registries sat right there on the kernel — a client could not tell “no tools
configured” from “tool listing is unavailable here”.
Tools come from TWO backends and a caller needs both to reason about what an agent can actually do:
- NATIVE skills — in-process Rust (
web_fetch, the diagnostics tool…). These work with no network and no child process, which is why they are the ones that function on a phone. - MCP tools — supplied by connected MCP servers, and therefore dependent on those servers being reachable.
The distinction is carried in the output rather than flattened away: an
offline surface needs to show that its native tools still work while its MCP
tools do not, and a merged list with no source field cannot express that.
Structs§
Enums§
- Tool
Source - Which backend provides a tool.
Functions§
- list
- Every tool this runtime can currently dispatch.