UNPKG

plazbot-cli

Version:
162 lines (161 loc) 8.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCommand = void 0; const commander_1 = require("commander"); const plazbot_1 = require("plazbot"); const credentials_1 = require("../../utils/credentials"); const logger_1 = require("../../utils/logger"); exports.getCommand = new commander_1.Command('get') .description('Obtiene información detallada de un agente específico') .argument('<agentId>', 'ID del agente a consultar') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId, options) => { try { // Obtener credenciales guardadas const credentials = await (0, credentials_1.getStoredCredentials)(); // Crear instancia del agente con las credenciales guardadas const agent = new plazbot_1.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: agentId }); const agentData = agentDetails.agent; logger_1.logger.info('\nDetalles del Agente:'); logger_1.logger.doubleDivider(); // Información básica logger_1.logger.info('Información Básica:'); logger_1.logger.divider(); logger_1.logger.info(`ID: ${agentData.id}`); logger_1.logger.info(`Nombre: ${agentData.name}`); logger_1.logger.info(`Descripción: ${agentData.description}`); logger_1.logger.info(`Estado: ${agentData.enable ? '✅ Activo' : '❌ Inactivo'}`); logger_1.logger.info(`Zona: ${agentData.zone}`); logger_1.logger.info(`Buffer: ${agentData.buffer}`); logger_1.logger.info(`Color: ${agentData.color}`); logger_1.logger.info(`Pregunta inicial: ${agentData.question}`); logger_1.logger.info(`Zona horaria: ${agentData.timezone}`); logger_1.logger.info(`Mostrar en chat: ${agentData.showInChat ? 'Sí' : 'No'}`); // Tags if (agentData.tags && agentData.tags.length > 0) { logger_1.logger.info(`\nTags: ${agentData.tags.join(', ')}`); } // Ejemplos if (agentData.examples && agentData.examples.length > 0) { logger_1.logger.info('\nEjemplos:'); logger_1.logger.divider(); agentData.examples.forEach((example) => { logger_1.logger.info(`- ${example.value} (${example.color})`); }); } // Instrucciones if (agentData.instructions) { logger_1.logger.info('\nInstrucciones:'); logger_1.logger.divider(); const instructions = agentData.instructions; logger_1.logger.info(`Tono: ${instructions.tone}`); logger_1.logger.info(`Estilo: ${instructions.style}`); logger_1.logger.info(`Personalidad: ${instructions.personality}`); logger_1.logger.info(`Objetivo: ${instructions.objective}`); logger_1.logger.info(`Idioma: ${instructions.language}`); logger_1.logger.info(`Emojis: ${instructions.emojis ? 'Sí' : 'No'}`); logger_1.logger.info(`Formato preferido: ${instructions.preferredFormat}`); logger_1.logger.info(`Máximo de palabras: ${instructions.maxWords}`); if (instructions.avoidTopics) { logger_1.logger.info(`Temas a evitar: ${instructions.avoidTopics.join(', ')}`); } logger_1.logger.info(`Responder solo si sabe: ${instructions.respondOnlyIfKnows ? 'Sí' : 'No'}`); logger_1.logger.info(`Mantener tono entre mensajes: ${instructions.maintainToneBetweenMessages ? 'Sí' : 'No'}`); logger_1.logger.info(`Saludo: ${instructions.greeting}`); } // Persona if (agentData.person) { logger_1.logger.info('\nPersona:'); logger_1.logger.divider(); const person = agentData.person; logger_1.logger.info(`Nombre: ${person.name}`); logger_1.logger.info(`Rol: ${person.role}`); logger_1.logger.info(`Habla en primera persona: ${person.speaksInFirstPerson ? 'Sí' : 'No'}`); logger_1.logger.info(`Es humano: ${person.isHuman ? 'Sí' : 'No'}`); } // Fallbacks if (agentData.fallbacks) { logger_1.logger.info('\nFallbacks:'); logger_1.logger.divider(); const fallbacks = agentData.fallbacks; logger_1.logger.info(`Sin respuesta: ${fallbacks.noAnswer}`); logger_1.logger.info(`Error de servicio: ${fallbacks.serviceError}`); logger_1.logger.info(`No entiende: ${fallbacks.doNotUnderstand}`); } // Reglas if (agentData.rules) { logger_1.logger.info('\nReglas:'); logger_1.logger.divider(); const rules = agentData.rules; logger_1.logger.info(`No mencionar precios: ${rules.doNotMentionPrices ? 'Sí' : 'No'}`); logger_1.logger.info(`No diagnosticar: ${rules.doNotDiagnose ? 'Sí' : 'No'}`); if (rules.doNotRespondOutsideHours) { logger_1.logger.info(`Horario de atención: ${rules.doNotRespondOutsideHours}`); } } // Servicios if (agentData.services && agentData.services.length > 0) { logger_1.logger.info('\nServicios:'); logger_1.logger.divider(); agentData.services.forEach((service, index) => { logger_1.logger.info(`\nServicio ${index + 1}:`); logger_1.logger.info(`Intent: ${service.intent}`); logger_1.logger.info(`Referencia: ${service.reference}`); logger_1.logger.info(`Habilitado: ${service.enabled ? 'Sí' : 'No'}`); logger_1.logger.info(`Método: ${service.method}`); logger_1.logger.info(`Endpoint: ${service.endpoint}`); if (service.requiredFields) { logger_1.logger.info('Campos requeridos:'); service.requiredFields.forEach((field) => { logger_1.logger.info(` - ${field.name} (${field.type}): ${field.description}`); }); } }); } // Acciones if (agentData.actions && agentData.actions.length > 0) { logger_1.logger.info('\nAcciones:'); logger_1.logger.divider(); agentData.actions.forEach((action, index) => { logger_1.logger.info(`\nAcción ${index + 1}:`); logger_1.logger.info(`Intent: ${action.intent}`); logger_1.logger.info(`Referencia: ${action.reference}`); logger_1.logger.info(`Habilitado: ${action.enabled ? 'Sí' : 'No'}`); if (action.tags) { logger_1.logger.info(`Tags: ${action.tags.join(', ')}`); } logger_1.logger.info(`Mensaje de respuesta: ${action.responseMessage}`); if (action.action) { logger_1.logger.info('Sub-acciones:'); action.action.forEach((subAction) => { logger_1.logger.info(` - ${subAction.type}: ${subAction.value}`); }); } }); } // Canales if (agentData.channels && agentData.channels.length > 0) { logger_1.logger.info('\nCanales:'); logger_1.logger.divider(); agentData.channels.forEach((channel) => { logger_1.logger.info(`${channel.channel}: ${channel.key}`); }); } logger_1.logger.doubleDivider(); if (options.dev) { logger_1.logger.warning('Ambiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al obtener el agente'; logger_1.logger.error(message); process.exit(1); } });