UNPKG

@neuroequality/neuroadapt-ai

Version:

AI-powered accessibility personalization for neurodivergent users

82 lines 2.18 kB
export interface AIMessage { role: 'user' | 'assistant' | 'system'; content: string; timestamp: number; } export interface AIResponse { content: string; usage?: { promptTokens: number; completionTokens: number; totalTokens: number; }; finishReason?: 'stop' | 'length' | 'content_filter' | 'tool_calls'; metadata?: Record<string, unknown>; } export interface AIStreamChunk { delta: string; done: boolean; usage?: AIResponse['usage']; } export interface AIAdapterConfig { apiKey?: string; baseURL?: string; model?: string; timeout?: number; retryAttempts?: number; retryDelay?: number; } export interface AIAdapter { readonly name: string; readonly models: string[]; complete(messages: AIMessage[], options?: AICompletionOptions): Promise<AIResponse>; stream?(messages: AIMessage[], options?: AICompletionOptions): AsyncIterable<AIStreamChunk>; getModel(): string; setModel(model: string): void; isAvailable(): Promise<boolean>; } export interface AICompletionOptions { maxTokens?: number; temperature?: number; topP?: number; stream?: boolean; stop?: string[]; abortSignal?: AbortSignal; } export interface PredictableAIConfig { tone: 'calm-supportive' | 'encouraging' | 'neutral' | 'clinical' | 'friendly'; explanationLevel: 'simple' | 'moderate' | 'detailed' | 'technical'; pacing: 'slow' | 'normal' | 'quick'; consistencyLevel: 'low' | 'moderate' | 'high'; useAnalogies: boolean; allowUndo: boolean; maxUndoSteps: number; } export interface UndoState { step: number; prompt: string; response: AIResponse; timestamp: number; } export interface PredictableAIEvents { 'response:start': { prompt: string; }; 'response:chunk': { chunk: AIStreamChunk; }; 'response:complete': { response: AIResponse; }; 'response:error': { error: Error; }; 'undo:performed': { step: number; state: UndoState; }; 'config:changed': { config: Partial<PredictableAIConfig>; }; } //# sourceMappingURL=index.d.ts.map