UNPKG

capsule-ai-cli

Version:

The AI Model Orchestrator - Intelligent multi-model workflows with device-locked licensing

32 lines 1.52 kB
import { ModelProvider, Message, CompletionOptions, CompletionResponse, StreamChunk, Usage, Cost } from '../types/index.js'; export declare abstract class BaseProvider implements ModelProvider { abstract name: string; abstract models: string[]; abstract supportsStreaming: boolean; abstract supportsTools: boolean; protected apiKey: string; protected baseUrl?: string; constructor(apiKey: string, baseUrl?: string); abstract complete(messages: Message[], options?: CompletionOptions): Promise<CompletionResponse>; stream(_messages: Message[], _options?: CompletionOptions): AsyncIterableIterator<StreamChunk>; abstract calculateCost(usage: Usage, model?: string): Cost; protected countTokens(text: string): number; protected validateMessages(messages: Message[]): void; protected getTextContent(message: Message): string; protected hasMultimodalContent(message: Message): boolean; protected supportsVision(_model: string): boolean; formatTools?(tools: any[]): any[]; parseToolCalls?(_response: any): any[] | undefined; protected handleRateLimit(retryAfter: number): Promise<void>; } export declare class ProviderRegistry { private providers; register(provider: BaseProvider): void; get(name: string): BaseProvider | undefined; list(): string[]; getModels(): Record<string, string[]>; clear(name: string): void; clearAll(): void; } export declare const providerRegistry: ProviderRegistry; //# sourceMappingURL=base.d.ts.map