UNPKG

behemoth-cli

Version:

🌍 BEHEMOTH CLIv3.760.4 - Level 50+ POST-SINGULARITY Intelligence Trading AI

56 lines 2.54 kB
import { PROVIDERS } from '../../utils/multi-provider-config.js'; export const modelCommand = { command: 'model', description: 'Select AI provider and model.', handler: async ({ addMessage, parsedArgs, agent }) => { const providerArg = parsedArgs?.[0]?.toLowerCase(); const modelArg = parsedArgs?.[1]; // Keep case for model name if (!providerArg) { // `/model` - List providers and current selection const providers = agent.getAllProviderInfo(); const currentProvider = agent.providerName; const currentModel = agent.getCurrentModel(); let message = '🤖 **AI Model & Provider Selection**\n\n'; message += `**Current Provider:** ${agent.providerName}\n`; message += `**Current Model:** ${agent.getCurrentModel()}\n\n`; message += '**Available Providers:**\n'; Object.keys(PROVIDERS).forEach(p => { message += `- ${p}\n`; }); message += '\n**Usage:**\n'; message += '• `/model <provider>` - See models for a provider\n'; message += '• `/model <provider> <model>` - Set provider and model\n'; addMessage({ role: 'system', content: message }); return; } if (providerArg && !modelArg) { // `/model <provider>` - List models for provider const models = PROVIDERS[providerArg]?.supportedModels; if (!models || models.length === 0) { addMessage({ role: 'system', content: `No models found for provider: ${providerArg}` }); return; } let message = `🤖 **Models for ${providerArg}**\n\n`; models.forEach(m => { message += `- ${m}\n`; }); message += `\nTo set a model, use: /model ${providerArg} <model_name> `; addMessage({ role: 'system', content: message }); return; } if (providerArg && modelArg) { // `/model <provider> <model>` - Set provider and model try { agent.switchProvider(providerArg, modelArg); addMessage({ role: 'system', content: `✅ Switched to provider **${providerArg}** with model **${modelArg}**` }); } catch (error) { addMessage({ role: 'system', content: `❌ Error switching model: ${error.message}` }); } return; } } }; //# sourceMappingURL=model.js.map