@neuroequality/neuroadapt-ai
Version:
AI-powered accessibility personalization for neurodivergent users
21 lines (20 loc) • 1.14 kB
TypeScript
import { AIAdapter, AIAdapterConfig, AIMessage, AIResponse, AICompletionOptions, AIStreamChunk } from '../types/index.js';
export declare abstract class BaseAIAdapter implements AIAdapter {
protected config: AIAdapterConfig;
protected currentModel: string;
constructor(config: AIAdapterConfig);
abstract get name(): string;
abstract get models(): string[];
protected abstract getDefaultModel(): string;
abstract complete(messages: AIMessage[], options?: AICompletionOptions): Promise<AIResponse>;
abstract stream?(messages: AIMessage[], options?: AICompletionOptions): AsyncIterable<AIStreamChunk>;
abstract isAvailable(): Promise<boolean>;
getModel(): string;
setModel(model: string): void;
protected retry<T>(operation: () => Promise<T>, attempts?: number, delay?: number): Promise<T>;
protected isRetryableError(error: unknown): boolean;
protected sleep(ms: number): Promise<void>;
protected formatMessages(messages: AIMessage[]): unknown[];
protected createAbortController(signal?: AbortSignal, timeout?: number): AbortController;
}
//# sourceMappingURL=base-adapter.d.ts.map