UNPKG

plazbot-cli

Version:
64 lines (54 loc) 2.21 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 readline from 'readline'; export const deleteCommand = new Command('delete') .description('Elimina un agente existente') .argument('<agentId>', 'ID del agente a eliminar') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId: 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" }) }); // Obtener detalles del agente para mostrar información const agentDetails = await agent.getAgentById({ id: agentId }); logger.warning('\nVas a eliminar el siguiente agente:'); logger.divider(); logger.info(`ID: ${agentDetails.agent.id}`); logger.info(`Nombre: ${agentDetails.agent.name}`); logger.info(`Descripción: ${agentDetails.agent.description}`); logger.divider(); // Crear interfaz para confirmación const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); // Preguntar por confirmación rl.question('\n❗ ¿Estás seguro que deseas eliminar este agente? (y/N): ', async (answer) => { if (answer.toLowerCase() === 'y') { await agent.deleteAgent({ id: agentId }); logger.success('Agente eliminado exitosamente'); if (options.dev) { logger.warning('Ambiente: desarrollo'); } } else { logger.error('Operación cancelada'); } rl.close(); }); } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al eliminar el agente'; logger.error(message); process.exit(1); } });