UNPKG

plazbot-cli

Version:
53 lines (45 loc) 2.03 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 updateCommand = new Command('update') .description('Actualiza un agente existente en Plazbot') .argument('<agentId>', 'ID del agente a actualizar') .argument('<configPath>', 'Ruta al archivo de configuración JSON del agente') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId: string, configPath: string, options: AgentCommandOptions) => { try { // Obtener credenciales guardadas const credentials = await getStoredCredentials(); // Leer archivo de configuración del agente 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}`); } // Crear instancia del agente con las credenciales guardadas const agent = new Agent({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); logger.info('\n🔄 Actualizando agente...'); // Actualizar el agente const result = await agent.updateAgent(agentId, agentConfig); logger.success('Agente actualizado exitosamente'); logger.info(`Mensaje: ${result.message}`); if (options.dev) { logger.warning('Ambiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al actualizar el agente'; logger.error(message); process.exit(1); } });