UNPKG

plazbot-cli

Version:
41 lines (34 loc) 1.46 kB
import { Command } from 'commander'; import { Agent } from 'plazbot'; import { getStoredCredentials } from '../../utils/credentials'; import { logger } from '../../utils/logger'; import { createSpinner } from '../../utils/ui'; import { AgentCommandOptions } from '../../types/agent'; export const copyCommand = new Command('copy') .description('Clonar un agente existente') .argument('<agentId>', 'ID del agente a clonar') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId: string, options: AgentCommandOptions) => { try { const credentials = await getStoredCredentials(); const agent = new Agent({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); const spinner = createSpinner('Clonando agente...'); spinner.start(); const result = await (agent as any).copyAgent({ id: agentId }); spinner.succeed('Agente clonado exitosamente'); logger.title('Agente clonado'); if (result?.agentId || result?.id) { logger.label('Nuevo ID', result.agentId || result.id); } logger.dim('\nEl agente clonado tiene el widget deshabilitado por defecto.'); } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido'; logger.error(message); process.exit(1); } });