plazbot-cli
Version:
CLI para Plazbot SDK
128 lines (127 loc) • 6.06 kB
JavaScript
"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;