UNPKG

plazbot-cli

Version:
128 lines (127 loc) 6.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setCommand = void 0; const commander_1 = require("commander"); const plazbot_1 = require("plazbot"); const inquirer_1 = __importDefault(require("inquirer")); const credentials_1 = require("../../utils/credentials"); const logger_1 = require("../../utils/logger"); const ui_1 = require("../../utils/ui"); const setGroup = new commander_1.Command('set') .description('Configurar rapidamente propiedades del agente'); // Set greeting setGroup.command('greeting') .description('Cambiar el saludo del agente') .argument('<agentId>', 'ID del agente') .argument('<greeting>', 'Nuevo saludo') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId, greeting, options) => { try { 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" }) }); const spinner = (0, ui_1.createSpinner)('Actualizando saludo...'); spinner.start(); await agent.setGreeting(agentId, greeting); spinner.succeed('Saludo actualizado'); logger_1.logger.label('Nuevo saludo', greeting); } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido'; logger_1.logger.error(message); process.exit(1); } }); // Set instructions (wizard) setGroup.command('instructions') .description('Configurar instrucciones del agente') .argument('<agentId>', 'ID del agente') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId, options) => { try { 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" }) }); // Cargar instrucciones actuales const loadSpinner = (0, ui_1.createSpinner)('Cargando...'); loadSpinner.start(); const agentData = await agent.getAgentById({ id: agentId }); loadSpinner.stop(); const current = agentData.instructions || {}; console.log((0, ui_1.section)('Instrucciones - ' + (agentData.name || agentId))); const answers = await inquirer_1.default.prompt([ { type: 'list', name: 'tone', message: 'Tono:', choices: ['profesional', 'amigable', 'formal', 'casual', 'tecnico', 'empatico'], default: current.tone || 'profesional' }, { type: 'list', name: 'style', message: 'Estilo:', choices: ['conciso', 'detallado', 'conversacional', 'directo'], default: current.style || 'conciso' }, { type: 'input', name: 'personality', message: 'Personalidad:', default: current.personality || '' }, { type: 'input', name: 'objective', message: 'Objetivo:', default: current.objective || '' }, { type: 'list', name: 'language', message: 'Idioma:', choices: ['Espanol', 'English', 'Portugues'], default: current.language || 'Espanol' }, { type: 'confirm', name: 'useEmojis', message: 'Usar emojis?', default: current.useEmojis === 'si' }, ]); const instructions = { ...current, tone: answers.tone, style: answers.style, personality: answers.personality, objective: answers.objective, language: answers.language, useEmojis: answers.useEmojis ? 'si' : 'no', }; const spinner = (0, ui_1.createSpinner)('Guardando instrucciones...'); spinner.start(); await agent.setInstructions(agentId, instructions); spinner.succeed('Instrucciones actualizadas'); } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido'; logger_1.logger.error(message); process.exit(1); } }); // Set persona (wizard) setGroup.command('persona') .description('Configurar la persona del agente') .argument('<agentId>', 'ID del agente') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (agentId, options) => { try { 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" }) }); const loadSpinner = (0, ui_1.createSpinner)('Cargando...'); loadSpinner.start(); const agentData = await agent.getAgentById({ id: agentId }); loadSpinner.stop(); const current = agentData.person || {}; console.log((0, ui_1.section)('Persona - ' + (agentData.name || agentId))); const answers = await inquirer_1.default.prompt([ { type: 'input', name: 'name', message: 'Nombre del personaje:', default: current.name || '' }, { type: 'input', name: 'role', message: 'Rol:', default: current.role || '' }, { type: 'confirm', name: 'firstPerson', message: 'Hablar en primera persona?', default: current.firstPerson !== false }, ]); const spinner = (0, ui_1.createSpinner)('Guardando persona...'); spinner.start(); await agent.setPersona(agentId, answers); spinner.succeed('Persona actualizada'); } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido'; logger_1.logger.error(message); process.exit(1); } }); exports.setCommand = setGroup;