Type Alias: AIAdapterCapabilities
Makaio Framework / ai-adapters-core / AIAdapterCapabilities
Type Alias: AIAdapterCapabilities
Section titled “Type Alias: AIAdapterCapabilities”AIAdapterCapabilities =
GeneratedCapabilityProperties&object
Defined in: ../../../adapters/core/src/types/capabilities.ts:107
Runtime-queryable capabilities object returned by AI adapters.
Auto-generates boolean properties from AIAdapterCapabilityRegistry:
'systemPrompt'→caps.systemPrompt'systemPrompt:override'→caps.systemPromptOverride'session:fork'→caps.sessionFork
Type Declaration
Section titled “Type Declaration”hasAll()
Section titled “hasAll()”hasAll(
capabilities):boolean
Check if ALL specified capabilities are present (AND logic)
Parameters
Section titled “Parameters”capabilities
Section titled “capabilities”("systemPrompt" | "vision" | "structuredOutput" | "streaming" | "session" | "tools" | "chat" | "modelSwitchInSession" | "systemPrompt:override" | "systemPrompt:append" | "session:fork" | "session:resume" | "chat:inTurnMessages")[]
Returns
Section titled “Returns”boolean
hasAny()
Section titled “hasAny()”hasAny(
capabilities):boolean
Check if ANY of the specified capabilities are present (OR logic)
Parameters
Section titled “Parameters”capabilities
Section titled “capabilities”("systemPrompt" | "vision" | "structuredOutput" | "streaming" | "session" | "tools" | "chat" | "modelSwitchInSession" | "systemPrompt:override" | "systemPrompt:append" | "session:fork" | "session:resume" | "chat:inTurnMessages")[]
Returns
Section titled “Returns”boolean
Remarks
Section titled “Remarks”Capabilities are optional and declarative:
- Adapters declare only what their underlying service supports
- Platform checks capabilities before using optional features
- No “not implemented” exceptions
- Plugin-extendable via declaration merging
Example
Section titled “Example”const caps = adapter.getCapabilities();
// Single checks (most common)if (caps.vision) { ... }if (caps.tools && caps.vision) { ... }
// Batch checks (explicit AND/OR)if (caps.hasAll(['vision', 'tools'])) { ... }if (caps.hasAny(['session:resume', 'session:fork'])) { ... }- AIAdapterCapabilityRegistry - Schema and plugin extensibility
- parseAIAdapterCapabilities - Create instances from strings
Type Composition
Section titled “Type Composition”-
- `GeneratedCapabilityProperties & { /** Check if ALL specified capabilities are present (AND logic) */ hasAll(capabilities: ValidCapability[]): boolean;
/** Check if ANY of the specified capabilities are present (OR logic) */ hasAny(capabilities: ValidCapability[]): boolean; }`
GeneratedCapabilityProperties{ [P in ValidCapability as PathToPropertyName<P>]?: boolean; }
- `{ /** Check if ALL specified capabilities are present (AND logic) */ hasAll(capabilities: ValidCapability[]): boolean;
/** Check if ANY of the specified capabilities are present (OR logic) */ hasAny(capabilities: ValidCapability[]): boolean; }`
Resolved Shape
Section titled “Resolved Shape”type AIAdapterCapabilities = { vision?: boolean | undefined; structuredOutput?: boolean | undefined; streaming?: boolean | undefined; systemPrompt?: boolean | undefined; session?: boolean | undefined; chat?: boolean | undefined; modelSwitchInSession?: boolean | undefined; tools?: boolean | undefined; systemPromptOverride?: boolean | undefined; systemPromptAppend?: boolean | undefined; sessionResume?: boolean | undefined; sessionFork?: boolean | undefined; chatInTurnMessages?: boolean | undefined; hasAll: (capabilities: ValidCapability[]) => boolean; hasAny: (capabilities: ValidCapability[]) => boolean;};