UNPKG

ai-switcher

Version:

A package which helps you switch between AI APIs using configurations, so that code changes are not required.

55 lines (49 loc) 1.13 kB
// src/types.ts export type Provider = 'anthropic' | 'openai'; export interface ModelConfig { provider: Provider; modelId: string; maxTokens?: number; temperature?: number; } export interface Message { role: 'system' | 'user' | 'assistant'; content: string; } export interface AIClientConfig { defaultProvider?: Provider; defaultModel?: string; anthropicApiKey?: string; openaiApiKey?: string; } export interface CompletionOptions { model?: string; provider?: Provider; maxTokens?: number; temperature?: number; responseFormat?: 'text' | 'json'; topP?: number; frequencyPenalty?: number; presencePenalty?: number; stop?: string[]; seed?: number; } export class AIError extends Error { constructor( message: string, public provider: Provider, public statusCode?: number, public raw?: any ) { super(message); this.name = 'AIError'; } } export enum AIErrorCode { INVALID_API_KEY = 'invalid_api_key', RATE_LIMIT = 'rate_limit', CONTEXT_LENGTH = 'context_length', BAD_REQUEST = 'bad_request', SERVER_ERROR = 'server_error', TIMEOUT = 'timeout' }