Maps each tool to the B2 key capability it needs. Before serving a request,
the server reads the key's allowed.capabilities (from b2_authorize_account)
and only registers the tools the key can actually use — so the surface auto-right-sizes
to the credential: smaller context, no dead tools, and a surface that matches
the key's real power. This is a layer below the destructive gate and the
durable-secret sink policy (the key decides what is possible; the other
guards decide what is permitted).
Semantics: a tool registers when the key holds ANY of its listed capabilities.
A tool NOT in this map is always registered (e.g. b2_authorize_account, and the
Partner tools, which are gated separately on a configured master key). Durable
secret-producing handlers register only when a reviewed out-of-band secret
sink is active; createServer adds non-secret compatibility stubs in off mode
for stale tools/list clients.
Capability-aware tool registration.
Maps each tool to the B2 key capability it needs. Before serving a request, the server reads the key's
allowed.capabilities(from b2_authorize_account) and only registers the tools the key can actually use — so the surface auto-right-sizes to the credential: smaller context, no dead tools, and a surface that matches the key's real power. This is a layer below the destructive gate and the durable-secret sink policy (the key decides what is possible; the other guards decide what is permitted).Semantics: a tool registers when the key holds ANY of its listed capabilities. A tool NOT in this map is always registered (e.g. b2_authorize_account, and the Partner tools, which are gated separately on a configured master key). Durable secret-producing handlers register only when a reviewed out-of-band secret sink is active; createServer adds non-secret compatibility stubs in off mode for stale tools/list clients.