UNPKG

plazbot-cli

Version:
66 lines (55 loc) 2.37 kB
import { Command } from 'commander'; import { Portal, Agent } from 'plazbot'; import { getStoredCredentials } from '../../utils/credentials'; import { logger } from '../../utils/logger'; import { AddAgentToPortalOptions } from '../../types/portal'; export const addAgentCommand = new Command('add-agent-portal') .description('Agrega un agente existente a un portal') .requiredOption('-p, --portal-id <portalId>', 'ID del portal') .requiredOption('-a, --agent-id <agentId>', 'ID del agente a agregar') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (options: AddAgentToPortalOptions) => { try { // Obtener credenciales guardadas const credentials = await getStoredCredentials(); const portal = new Portal({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); // Obtener detalles del portal const portalDetails = await portal.getPortal(options.portalId); // Crear instancia del agente para obtener sus detalles const agent = new Agent({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); // Obtener detalles del agente const agentDetails = await agent.getAgentById({ id: options.agentId }); logger.info('\n📎 Detalles de la operación:'); logger.divider(); logger.info('Portal:'); logger.info(` ID: ${portalDetails.portal.id}`); logger.info(` Nombre: ${portalDetails.portal.name}`); logger.info('\nAgente:'); logger.info(` ID: ${agentDetails.agent.id}`); logger.info(` Nombre: ${agentDetails.agent.name}`); logger.divider(); logger.info('\n🔄 Agregando agente al portal...'); await portal.addAgentToPortal({ portalId: options.portalId, id: options.agentId }); logger.success('Agente agregado exitosamente al portal'); if (options.dev) { logger.warning('Ambiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido'; logger.error(message); process.exit(1); } });