UNPKG

capsule-ai-cli

Version:

The AI Model Orchestrator - Intelligent multi-model workflows with device-locked licensing

46 lines 1.79 kB
import { stateService } from '../../services/state.js'; import { configManager } from '../../core/config.js'; export const providerCommand = { name: 'provider', description: 'Switch AI provider', alias: ['p'], async execute() { const config = configManager.getConfig(); const hasOpenRouterKey = !!config.providers.openrouter?.apiKey; const availableProviders = await stateService.getAvailableProviders(); const currentProvider = stateService.getProvider(); const localProviders = ['local', 'ollama', 'lmstudio', 'llamacpp']; const hasLocalProviders = availableProviders.some(p => localProviders.includes(p)); if (!hasOpenRouterKey && !hasLocalProviders) { return { success: true, action: 'none', data: { type: 'openrouter-setup', showSetupBox: true } }; } if (availableProviders.length === 0) { return { success: false, message: '⚠️ No providers available. Configure API keys with /keys or start a local model server' }; } const topProviders = ['local', 'ollama', 'lmstudio', 'openai', 'anthropic', 'google', 'xai']; const sortedProviders = [ ...topProviders.filter(p => availableProviders.includes(p)), ...availableProviders.filter(p => !topProviders.includes(p)).sort() ]; return { success: true, action: 'none', data: { type: 'provider-select', providers: sortedProviders, currentProvider } }; } }; //# sourceMappingURL=provider.js.map