UNPKG

plazbot-cli

Version:
68 lines (67 loc) 3.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.messageCommand = void 0; const commander_1 = require("commander"); const plazbot_1 = require("plazbot"); const credentials_1 = require("../../utils/credentials"); const logger_1 = require("../../utils/logger"); const crypto_1 = __importDefault(require("crypto")); exports.messageCommand = new commander_1.Command('message') .description('Envía un mensaje a un agente y obtiene su respuesta') .requiredOption('-a, --agent-id <id>', 'ID del agente') .requiredOption('-q, --question <text>', 'Mensaje o pregunta para el agente') .option('-s, --session-id <id>', 'ID de sesión (opcional)') .option('-m, --multiple-answers', 'Permitir múltiples respuestas', false) .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (options) => { try { // Obtener credenciales guardadas const credentials = await (0, credentials_1.getStoredCredentials)(); const agent = new plazbot_1.Agent({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); // Generar un sessionId si no se proporcionó uno const sessionId = options.sessionId || crypto_1.default.randomUUID(); logger_1.logger.info('\n🤖 Enviando mensaje al agente...'); logger_1.logger.info(`ID del agente: ${options.agentId}`); logger_1.logger.info(`Pregunta: ${options.question}`); logger_1.logger.info(`ID de sesión: ${sessionId}`); if (options.multipleAnswers) { logger_1.logger.info('Modo: Múltiples respuestas'); } const response = await agent.onMessage({ agentId: options.agentId, question: options.question, sessionId, multipleAnswers: options.multipleAnswers }); logger_1.logger.info('\n💬 Respuesta del Agente:'); logger_1.logger.divider(); console.log(response.answer); if (response.sources && response.sources.length > 0) { logger_1.logger.info('\n📚 Fuentes:'); logger_1.logger.divider(); response.sources.forEach((source) => { logger_1.logger.info(`- ${source.title || 'Sin título'}`); if (source.url) logger_1.logger.info(` URL: ${source.url}`); }); } logger_1.logger.info('\n🔑 ID de Sesión:'); logger_1.logger.info(sessionId); if (options.dev) { logger_1.logger.warning('\nAmbiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al enviar el mensaje'; logger_1.logger.error(message); process.exit(1); } });