61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
/**
|
|
* Simple AI Provider - A unified interface for multiple AI providers
|
|
*
|
|
* Main entry point for the library, providing access to all providers
|
|
* and utilities in a clean, type-safe interface.
|
|
*
|
|
* @author Jan-Marlon Leibl
|
|
* @version 1.0.0
|
|
*/
|
|
|
|
// Core types
|
|
export type {
|
|
AIMessage,
|
|
AIProviderConfig,
|
|
CompletionParams,
|
|
CompletionResponse,
|
|
CompletionChunk,
|
|
ProviderInfo,
|
|
TokenUsage,
|
|
ResponseType
|
|
} from './types/index.js';
|
|
|
|
// Error types
|
|
export { AIProviderError, AIErrorType } from './types/index.js';
|
|
|
|
// Response type utilities
|
|
export {
|
|
createResponseType,
|
|
generateResponseTypePrompt,
|
|
parseAndValidateResponseType
|
|
} from './types/index.js';
|
|
|
|
// Base provider
|
|
export { BaseAIProvider } from './providers/base.js';
|
|
|
|
// Provider implementations
|
|
export { ClaudeProvider, type ClaudeConfig } from './providers/claude.js';
|
|
export { OpenAIProvider, type OpenAIConfig } from './providers/openai.js';
|
|
export { GeminiProvider, type GeminiConfig } from './providers/gemini.js';
|
|
export { OpenWebUIProvider, type OpenWebUIConfig } from './providers/openwebui.js';
|
|
|
|
// Factory utilities
|
|
export {
|
|
createProvider,
|
|
createClaudeProvider,
|
|
createOpenAIProvider,
|
|
createGeminiProvider,
|
|
createOpenWebUIProvider,
|
|
type ProviderType,
|
|
PROVIDER_REGISTRY
|
|
} from './utils/factory.js';
|
|
|
|
/**
|
|
* List of all supported providers
|
|
*/
|
|
export const SUPPORTED_PROVIDERS = ['claude', 'openai', 'gemini', 'openwebui'] as const;
|
|
|
|
/**
|
|
* Package version
|
|
*/
|
|
export const VERSION = '1.2.0';
|