@tanstack/ai
Version:
Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.
20 lines (19 loc) • 974 B
TypeScript
import { CapabilityHandle } from './capabilities.js';
import { AnyChatMiddleware } from './types.js';
/** Minimal adapter shape needed for capability validation. */
interface CapabilityRequiringAdapter {
name: string;
requires?: ReadonlyArray<CapabilityHandle>;
}
/**
* Runtime validation: every required capability (from middleware `requires` and
* the adapter's `requires`) must be provided by some middleware's `provides`.
* `optionalRequires` is never gating. Throws a clear error otherwise.
*
* Presence only — ORDER is not validated here (a provider may appear after its
* consumer in the array and still pass). Use the `createChatMiddleware()`
* builder for compile-time order enforcement; at runtime, a consumer that reads
* a not-yet-provided capability during `setup` fails loud via its getter.
*/
export declare function validateCapabilities(middlewares: ReadonlyArray<AnyChatMiddleware>, adapter: CapabilityRequiringAdapter): void;
export {};