UNPKG

plazbot-cli

Version:
53 lines (45 loc) 1.99 kB
import { Command } from 'commander'; import { Agent } from 'plazbot'; import { getStoredCredentials } from '../../utils/credentials'; import { logger } from '../../utils/logger'; import { AgentCommandOptions } from '../../types/agent'; import fs from 'fs/promises'; export const createCommand = new Command('create') .description('Crea un nuevo agente en Plazbot usando el archivo de configuración') .argument('<configPath>', 'Ruta al archivo de configuración JSON') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (configPath: string, options: AgentCommandOptions) => { try { // Obtener credenciales guardadas const credentials = await getStoredCredentials(); const agent = new Agent({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); // Leer archivo de configuración let agentConfig; try { const fileContent = await fs.readFile(configPath, 'utf-8'); agentConfig = JSON.parse(fileContent); } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Error desconocido'; throw new Error(`Error al leer el archivo de configuración: ${errorMessage}`); } logger.info('\n🤖 Creando nuevo agente...'); logger.info('Configuración:'); logger.info(JSON.stringify(agentConfig, null, 2)); const result = await agent.addAgent(agentConfig); logger.success('Agente creado exitosamente'); logger.info('\n📋 Detalles del agente:'); logger.info(JSON.stringify(result, null, 2)); if (options.dev) { logger.warning('\nAmbiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al crear el agente'; logger.error(message); process.exit(1); } });