Canonical provider feature metadata for the built-in CLI profiles.
This module is the public, authoritative source for:
- provider-native permission mode terminology and CLI flag rendering
- provider-local partial features such as Ollama-backed model routing
- decomposed tool capability metadata for normalized observation versus unadmitted host execution
Summary
Functions
Returns decomposed tool capability metadata for a built-in provider.
Returns the required decomposed tool capability keys.
Types
@type manifest() :: %{ provider: atom(), permission_modes: %{optional(atom()) => permission_manifest()}, partial_features: %{optional(atom()) => partial_feature_manifest()}, tool_capabilities: tool_capability_manifest() }
@type tool_capability_key() ::
:tool_events
| :tool_results
| :host_tools
| :tool_allowlist
| :tool_denylist
| :mcp_servers
| :provider_builtin_tools
| :no_tool_mode
@type tool_capability_manifest() :: %{ required(tool_capability_key()) => tool_capability_value(), optional(:notes) => [String.t()] }
@type tool_capability_value() :: boolean() | :unknown
Functions
@spec partial_feature(atom(), atom()) :: {:ok, partial_feature_manifest()} | :error
@spec partial_feature!(atom(), atom()) :: partial_feature_manifest()
@spec permission_mode(atom(), atom() | String.t()) :: {:ok, permission_manifest()} | :error
@spec permission_mode!(atom(), atom() | String.t()) :: permission_manifest()
@spec tool_capabilities(atom()) :: {:ok, tool_capability_manifest()} | :error
Returns decomposed tool capability metadata for a built-in provider.
:tool_events and :tool_results describe normalized observation payloads
emitted by the core provider profiles. They do not imply host-executable tool
registration, provider-native tool configuration, or tool suppression.
@spec tool_capabilities!(atom()) :: tool_capability_manifest()
@spec tool_capability(atom(), tool_capability_key()) :: {:ok, tool_capability_value()} | :error
@spec tool_capability!(atom(), tool_capability_key()) :: tool_capability_value()
@spec tool_capability_keys() :: [tool_capability_key(), ...]
Returns the required decomposed tool capability keys.