UNPKG

@juspay/zephyr-mind

Version:

AI toolkit extracted from lighthouse with multi-provider support

61 lines (60 loc) 1.99 kB
/** * Zephyr-Mind AI Toolkit * * A unified AI provider interface with support for multiple providers, * automatic fallback, streaming, and tool integration. * * Extracted from lighthouse project's proven AI functionality. */ // Core exports import { AIProviderFactory } from './core/factory.js'; export { AIProviderFactory }; // Model enums export { BedrockModels, OpenAIModels, VertexModels, DEFAULT_PROVIDER_CONFIGS } from './core/types.js'; // Provider exports export { GoogleVertexAI, AmazonBedrock, OpenAI } from './providers/index.js'; export { PROVIDERS, AVAILABLE_PROVIDERS } from './providers/index.js'; // Utility exports export { getBestProvider, getAvailableProviders, isValidProvider } from './utils/providerUtils.js'; // Version export const VERSION = '1.0.0'; /** * Quick start factory function * * @example * ```typescript * import { createAIProvider } from 'zephyr-mind'; * * const provider = createAIProvider('bedrock'); * const result = await provider.streamText('Hello, AI!'); * ``` */ export function createAIProvider(providerName, modelName) { return AIProviderFactory.createProvider(providerName || 'bedrock', modelName); } /** * Create provider with automatic fallback * * @example * ```typescript * import { createAIProviderWithFallback } from 'zephyr-mind'; * * const { primary, fallback } = createAIProviderWithFallback('bedrock', 'vertex'); * ``` */ export function createAIProviderWithFallback(primaryProvider, fallbackProvider, modelName) { return AIProviderFactory.createProviderWithFallback(primaryProvider || 'bedrock', fallbackProvider || 'vertex', modelName); } /** * Create the best available provider based on configuration * * @example * ```typescript * import { createBestAIProvider } from 'zephyr-mind'; * * const provider = createBestAIProvider(); * ``` */ export function createBestAIProvider(requestedProvider, modelName) { return AIProviderFactory.createBestProvider(requestedProvider, modelName); }