UNPKG

@makolabs/ripple

Version:

Simple Svelte 5 powered component library ✨

45 lines (44 loc) 1.65 kB
import { browser } from '$app/environment'; import { dev } from '$app/environment'; export function getAIConfig() { if (!browser) { return { provider: 'openai' }; } const config = { // eslint-disable-next-line @typescript-eslint/no-explicit-any provider: import.meta.env.VITE_AI_PROVIDER || 'openai', apiKey: import.meta.env.VITE_OPENAI_API_KEY, model: import.meta.env.VITE_OPENAI_MODEL || 'gpt-4-turbo-preview', baseUrl: import.meta.env.VITE_OPENAI_BASE_URL || 'https://api.openai.com/v1' }; // In development, provide helpful warnings if (dev && !config.apiKey && config.provider === 'openai') { console.warn('⚠️ OpenAI API key not found. Set VITE_OPENAI_API_KEY in your .env file'); console.warn('💡 Create a .env file with: VITE_OPENAI_API_KEY=sk-your-key-here'); } return config; } export function validateAIConfig(config) { switch (config.provider) { case 'openai': return !!config.apiKey; case 'anthropic': return !!config.apiKey; case 'ollama': return !!config.baseUrl; default: return false; } } // Environment variables guide export const ENV_GUIDE = { openai: [ 'VITE_OPENAI_API_KEY=sk-your-openai-key', 'VITE_OPENAI_MODEL=gpt-4-turbo-preview (optional)', 'VITE_OPENAI_BASE_URL=https://api.openai.com/v1 (optional)' ], anthropic: ['VITE_ANTHROPIC_API_KEY=your-anthropic-key', 'VITE_AI_PROVIDER=anthropic'], ollama: ['VITE_OLLAMA_BASE_URL=http://localhost:11434', 'VITE_AI_PROVIDER=ollama'] };