plazbot-cli 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/agent/chat.js +1 -1
- package/dist/commands/agent/delete.js +1 -1
- package/dist/commands/agent/enable-widget.js +7 -11
- package/dist/commands/agent/get.js +1 -1
- package/dist/commands/agent/list.js +1 -1
- package/dist/commands/agent/on-message.js +10 -12
- package/dist/commands/agent/update.js +1 -1
- package/dist/commands/auth/login.js +13 -12
- package/dist/commands/portal/add-agent.js +5 -10
- package/dist/commands/portal/add-link.js +3 -2
- package/dist/commands/portal/clear-links.js +3 -2
- package/dist/commands/portal/create.js +3 -7
- package/dist/commands/portal/delete.js +5 -6
- package/dist/commands/portal/get.js +15 -17
- package/dist/commands/portal/list.js +15 -17
- package/dist/commands/portal/update.js +5 -6
- package/dist/commands/whatsapp/delete-webhook.js +3 -3
- package/dist/commands/whatsapp/register-webhook.js +4 -4
- package/dist/utils/logger.js +3 -3
- package/package.json +1 -1
- package/src/commands/agent/chat.ts +1 -1
- package/src/commands/agent/delete.ts +1 -1
- package/src/commands/agent/enable-widget.ts +8 -12
- package/src/commands/agent/get.ts +1 -1
- package/src/commands/agent/list.ts +1 -1
- package/src/commands/agent/on-message.ts +11 -13
- package/src/commands/agent/update.ts +1 -1
- package/src/commands/auth/login.ts +13 -12
- package/src/commands/portal/add-agent.ts +5 -11
- package/src/commands/portal/add-link.ts +2 -2
- package/src/commands/portal/clear-links.ts +3 -2
- package/src/commands/portal/create.ts +3 -8
- package/src/commands/portal/delete.ts +5 -6
- package/src/commands/portal/get.ts +16 -20
- package/src/commands/portal/list.ts +16 -19
- package/src/commands/portal/update.ts +5 -6
- package/src/commands/whatsapp/delete-webhook.ts +3 -3
- package/src/commands/whatsapp/register-webhook.ts +4 -4
- package/src/utils/logger.ts +3 -3
|
@@ -121,7 +121,7 @@ exports.chatCommand = new commander_1.Command('chat')
|
|
|
121
121
|
// Mostrar tool calls si hay
|
|
122
122
|
if (response.actionsExecuted && response.actionsExecuted.length > 0) {
|
|
123
123
|
response.actionsExecuted.forEach((action) => {
|
|
124
|
-
console.log(chalk_1.default.hex('#FFA726')(`
|
|
124
|
+
console.log(chalk_1.default.hex('#FFA726')(` Tool: ${action.name || action.intent || 'action'}`));
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
// Respuesta del agente
|
|
@@ -37,7 +37,7 @@ exports.deleteCommand = new commander_1.Command('delete')
|
|
|
37
37
|
output: process.stdout
|
|
38
38
|
});
|
|
39
39
|
// Preguntar por confirmación
|
|
40
|
-
rl.question('\
|
|
40
|
+
rl.question('\nEstas seguro que deseas eliminar este agente? (y/N): ', async (answer) => {
|
|
41
41
|
if (answer.toLowerCase() === 'y') {
|
|
42
42
|
await agent.deleteAgent({
|
|
43
43
|
id: agentId
|
|
@@ -22,10 +22,8 @@ exports.enableCommand = new commander_1.Command('enable-widget')
|
|
|
22
22
|
});
|
|
23
23
|
// Obtener estado actual del agente
|
|
24
24
|
const agentDetails = await agent.getAgentById({ id: agentId });
|
|
25
|
-
logger_1.logger.
|
|
26
|
-
logger_1.logger.
|
|
27
|
-
logger_1.logger.info(`Agente: ${agentDetails.name}`);
|
|
28
|
-
logger_1.logger.divider();
|
|
25
|
+
logger_1.logger.title('Estado actual del widget');
|
|
26
|
+
logger_1.logger.label('Agente', agentDetails.name);
|
|
29
27
|
// Cambiar estado
|
|
30
28
|
const newState = !options.disable; // Si --disable está presente, newState será false
|
|
31
29
|
const result = await agent.enableWidget({
|
|
@@ -33,14 +31,12 @@ exports.enableCommand = new commander_1.Command('enable-widget')
|
|
|
33
31
|
enable: newState
|
|
34
32
|
});
|
|
35
33
|
logger_1.logger.success(`Widget ${newState ? 'habilitado' : 'deshabilitado'} exitosamente`);
|
|
36
|
-
logger_1.logger.
|
|
37
|
-
logger_1.logger.
|
|
38
|
-
logger_1.logger.
|
|
39
|
-
logger_1.logger.info(`Mensaje: ${result.message}`);
|
|
34
|
+
logger_1.logger.title('Respuesta del servidor');
|
|
35
|
+
logger_1.logger.label('Estado', result.success ? 'Exitoso' : 'Fallido');
|
|
36
|
+
logger_1.logger.label('Mensaje', result.message);
|
|
40
37
|
if (newState && result.script) {
|
|
41
|
-
logger_1.logger.
|
|
42
|
-
logger_1.logger.
|
|
43
|
-
logger_1.logger.info('Coloca este script debajo de la etiqueta <HEAD> en tu sitio web:');
|
|
38
|
+
logger_1.logger.title('Instrucciones de instalacion');
|
|
39
|
+
logger_1.logger.dim('Coloca este script debajo de la etiqueta <HEAD> en tu sitio web:');
|
|
44
40
|
logger_1.logger.info('\n' + result.script);
|
|
45
41
|
}
|
|
46
42
|
if (options.dev) {
|
|
@@ -30,7 +30,7 @@ exports.getCommand = new commander_1.Command('get')
|
|
|
30
30
|
logger_1.logger.info(`ID: ${agentData.id}`);
|
|
31
31
|
logger_1.logger.info(`Nombre: ${agentData.name}`);
|
|
32
32
|
logger_1.logger.info(`Descripción: ${agentData.description}`);
|
|
33
|
-
logger_1.logger.info(`Estado: ${agentData.enable ? '
|
|
33
|
+
logger_1.logger.info(`Estado: ${agentData.enable ? 'Activo' : 'Inactivo'}`);
|
|
34
34
|
logger_1.logger.info(`Zona: ${agentData.zone}`);
|
|
35
35
|
logger_1.logger.info(`Buffer: ${agentData.buffer}`);
|
|
36
36
|
logger_1.logger.info(`Color: ${agentData.color}`);
|
|
@@ -30,7 +30,7 @@ exports.listCommand = new commander_1.Command('list')
|
|
|
30
30
|
agents.forEach((a, index) => {
|
|
31
31
|
logger_1.logger.info(`${index + 1}. ID: ${a.id}`);
|
|
32
32
|
logger_1.logger.info(` Nombre: ${a.name}`);
|
|
33
|
-
logger_1.logger.info(` Estado: ${a.enable ? '
|
|
33
|
+
logger_1.logger.info(` Estado: ${a.enable ? 'Activo' : 'Inactivo'}`);
|
|
34
34
|
logger_1.logger.info(` Descripción: ${a.description}`);
|
|
35
35
|
logger_1.logger.info(` Creado: ${a.createdAt ? new Date(a.createdAt).toLocaleString() : 'N/A'}`);
|
|
36
36
|
logger_1.logger.divider();
|
|
@@ -28,10 +28,10 @@ exports.messageCommand = new commander_1.Command('message')
|
|
|
28
28
|
});
|
|
29
29
|
// Generar un sessionId si no se proporcionó uno
|
|
30
30
|
const sessionId = options.sessionId || crypto_1.default.randomUUID();
|
|
31
|
-
logger_1.logger.
|
|
32
|
-
logger_1.logger.
|
|
33
|
-
logger_1.logger.
|
|
34
|
-
logger_1.logger.
|
|
31
|
+
logger_1.logger.title('Enviando mensaje al agente');
|
|
32
|
+
logger_1.logger.label('ID del agente', options.agentId);
|
|
33
|
+
logger_1.logger.label('Pregunta', options.question);
|
|
34
|
+
logger_1.logger.label('ID de sesion', sessionId);
|
|
35
35
|
if (options.multipleAnswers) {
|
|
36
36
|
logger_1.logger.info('Modo: Múltiples respuestas');
|
|
37
37
|
}
|
|
@@ -41,20 +41,18 @@ exports.messageCommand = new commander_1.Command('message')
|
|
|
41
41
|
sessionId,
|
|
42
42
|
multipleAnswers: options.multipleAnswers
|
|
43
43
|
});
|
|
44
|
-
logger_1.logger.
|
|
45
|
-
logger_1.logger.divider();
|
|
44
|
+
logger_1.logger.title('Respuesta del Agente');
|
|
46
45
|
console.log(response.answer);
|
|
47
46
|
if (response.sources && response.sources.length > 0) {
|
|
48
|
-
logger_1.logger.
|
|
49
|
-
logger_1.logger.divider();
|
|
47
|
+
logger_1.logger.title('Fuentes');
|
|
50
48
|
response.sources.forEach((source) => {
|
|
51
|
-
logger_1.logger.
|
|
49
|
+
logger_1.logger.label('Titulo', source.title || 'Sin titulo');
|
|
52
50
|
if (source.url)
|
|
53
|
-
logger_1.logger.
|
|
51
|
+
logger_1.logger.label('URL', source.url);
|
|
54
52
|
});
|
|
55
53
|
}
|
|
56
|
-
logger_1.logger.
|
|
57
|
-
logger_1.logger.
|
|
54
|
+
logger_1.logger.title('Sesion');
|
|
55
|
+
logger_1.logger.label('ID', sessionId);
|
|
58
56
|
if (options.dev) {
|
|
59
57
|
logger_1.logger.warning('\nAmbiente: desarrollo');
|
|
60
58
|
}
|
|
@@ -35,7 +35,7 @@ exports.updateCommand = new commander_1.Command('update')
|
|
|
35
35
|
zone: credentials.zone,
|
|
36
36
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
37
37
|
});
|
|
38
|
-
logger_1.logger.
|
|
38
|
+
logger_1.logger.dim('Actualizando agente...');
|
|
39
39
|
// Actualizar el agente
|
|
40
40
|
const result = await agent.updateAgent(agentId, agentConfig);
|
|
41
41
|
logger_1.logger.success('Agente actualizado exitosamente');
|
|
@@ -20,10 +20,10 @@ exports.loginCommand = new commander_1.Command('init')
|
|
|
20
20
|
logger_1.logger.info('│' + ' Bienvenido a Plazbot CLI'.padEnd(69) + '│');
|
|
21
21
|
logger_1.logger.info('│' + ''.padEnd(69) + '│');
|
|
22
22
|
logger_1.logger.info('│' + ' Con esta herramienta podrás:'.padEnd(69) + '│');
|
|
23
|
-
logger_1.logger.info('│' + '
|
|
24
|
-
logger_1.logger.info('│' + '
|
|
25
|
-
logger_1.logger.info('│' + '
|
|
26
|
-
logger_1.logger.info('│' + '
|
|
23
|
+
logger_1.logger.info('│' + ' Crear y actualizar agentes'.padEnd(69) + '│');
|
|
24
|
+
logger_1.logger.info('│' + ' Gestionar configuraciones'.padEnd(69) + '│');
|
|
25
|
+
logger_1.logger.info('│' + ' Interactuar con tus agentes'.padEnd(69) + '│');
|
|
26
|
+
logger_1.logger.info('│' + ' Activar todas sus capacidades'.padEnd(69) + '│');
|
|
27
27
|
logger_1.logger.info('└' + '─'.repeat(70) + '┘\n');
|
|
28
28
|
await (0, credentials_1.saveCredentials)({
|
|
29
29
|
email: options.email,
|
|
@@ -32,14 +32,15 @@ exports.loginCommand = new commander_1.Command('init')
|
|
|
32
32
|
zone: options.zone
|
|
33
33
|
});
|
|
34
34
|
logger_1.logger.success('Configuración guardada exitosamente:');
|
|
35
|
-
logger_1.logger.
|
|
36
|
-
logger_1.logger.
|
|
37
|
-
logger_1.logger.
|
|
38
|
-
logger_1.logger.
|
|
39
|
-
logger_1.logger.
|
|
40
|
-
logger_1.logger.
|
|
41
|
-
logger_1.logger.
|
|
42
|
-
logger_1.logger.
|
|
35
|
+
logger_1.logger.label('Email', options.email);
|
|
36
|
+
logger_1.logger.label('Workspace', options.workspace);
|
|
37
|
+
logger_1.logger.label('Zona', options.zone);
|
|
38
|
+
logger_1.logger.title('Puedes comenzar usando los siguientes comandos');
|
|
39
|
+
logger_1.logger.dim('plazbot agent list - Ver tus agentes');
|
|
40
|
+
logger_1.logger.dim('plazbot agent templates - Crear agente desde plantilla');
|
|
41
|
+
logger_1.logger.dim('plazbot agent chat - Chatear con un agente');
|
|
42
|
+
logger_1.logger.dim('plazbot --help - Ver todos los comandos');
|
|
43
|
+
console.log();
|
|
43
44
|
if (options.dev) {
|
|
44
45
|
logger_1.logger.warning('Ambiente: desarrollo');
|
|
45
46
|
}
|
|
@@ -31,16 +31,11 @@ exports.addAgentCommand = new commander_1.Command('add-agent-portal')
|
|
|
31
31
|
});
|
|
32
32
|
// Obtener detalles del agente
|
|
33
33
|
const agentDetails = await agent.getAgentById({ id: options.agentId });
|
|
34
|
-
logger_1.logger.
|
|
35
|
-
logger_1.logger.
|
|
36
|
-
logger_1.logger.
|
|
37
|
-
logger_1.logger.
|
|
38
|
-
logger_1.logger.
|
|
39
|
-
logger_1.logger.info('\nAgente:');
|
|
40
|
-
logger_1.logger.info(` ID: ${agentDetails.id}`);
|
|
41
|
-
logger_1.logger.info(` Nombre: ${agentDetails.name}`);
|
|
42
|
-
logger_1.logger.divider();
|
|
43
|
-
logger_1.logger.info('\n🔄 Agregando agente al portal...');
|
|
34
|
+
logger_1.logger.title('Detalles de la operacion');
|
|
35
|
+
logger_1.logger.label('Portal ID', portalDetails.portal?.id || options.portalId);
|
|
36
|
+
logger_1.logger.label('Portal Nombre', portalDetails.portal?.name || 'N/A');
|
|
37
|
+
logger_1.logger.label('Agente ID', agentDetails.id);
|
|
38
|
+
logger_1.logger.label('Agente Nombre', agentDetails.name);
|
|
44
39
|
await portal.addAgentToPortal({
|
|
45
40
|
portalId: options.portalId,
|
|
46
41
|
id: options.agentId
|
|
@@ -4,6 +4,7 @@ exports.addLinkCommand = void 0;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const plazbot_1 = require("plazbot");
|
|
6
6
|
const credentials_1 = require("../../utils/credentials");
|
|
7
|
+
const logger_1 = require("../../utils/logger");
|
|
7
8
|
exports.addLinkCommand = new commander_1.Command('add-link')
|
|
8
9
|
.description('Agregar un enlace al portal')
|
|
9
10
|
.argument('<portalId>', 'ID del portal')
|
|
@@ -24,10 +25,10 @@ exports.addLinkCommand = new commander_1.Command('add-link')
|
|
|
24
25
|
value: options.title,
|
|
25
26
|
url: options.url
|
|
26
27
|
});
|
|
27
|
-
|
|
28
|
+
logger_1.logger.success('Enlace agregado exitosamente');
|
|
28
29
|
}
|
|
29
30
|
catch (error) {
|
|
30
|
-
|
|
31
|
+
logger_1.logger.error(error.message);
|
|
31
32
|
process.exit(1);
|
|
32
33
|
}
|
|
33
34
|
});
|
|
@@ -4,6 +4,7 @@ exports.clearLinksCommand = void 0;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const plazbot_1 = require("plazbot");
|
|
6
6
|
const credentials_1 = require("../../utils/credentials");
|
|
7
|
+
const logger_1 = require("../../utils/logger");
|
|
7
8
|
exports.clearLinksCommand = new commander_1.Command('clear-links')
|
|
8
9
|
.description('Eliminar todos los enlaces del portal')
|
|
9
10
|
.argument('<portalId>', 'ID del portal')
|
|
@@ -18,10 +19,10 @@ exports.clearLinksCommand = new commander_1.Command('clear-links')
|
|
|
18
19
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
19
20
|
});
|
|
20
21
|
await portal.clearLinks(portalId);
|
|
21
|
-
|
|
22
|
+
logger_1.logger.success('Enlaces eliminados exitosamente');
|
|
22
23
|
}
|
|
23
24
|
catch (error) {
|
|
24
|
-
|
|
25
|
+
logger_1.logger.error(error.message);
|
|
25
26
|
process.exit(1);
|
|
26
27
|
}
|
|
27
28
|
});
|
|
@@ -20,12 +20,10 @@ exports.createCommand = new commander_1.Command('create')
|
|
|
20
20
|
zone: credentials.zone,
|
|
21
21
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
22
22
|
});
|
|
23
|
-
logger_1.logger.info('\n🚀 Creando portal...');
|
|
24
23
|
const portalCreated = await portal.addPortal({
|
|
25
24
|
name: options.name,
|
|
26
25
|
title: options.title,
|
|
27
26
|
zone: credentials.zone,
|
|
28
|
-
// Valores por defecto
|
|
29
27
|
subtitle: "",
|
|
30
28
|
logo: "",
|
|
31
29
|
logodark: "",
|
|
@@ -34,11 +32,9 @@ exports.createCommand = new commander_1.Command('create')
|
|
|
34
32
|
brandOff: false
|
|
35
33
|
});
|
|
36
34
|
logger_1.logger.success('Portal creado exitosamente');
|
|
37
|
-
logger_1.logger.
|
|
38
|
-
logger_1.logger.
|
|
39
|
-
logger_1.logger.
|
|
40
|
-
logger_1.logger.info(`URL: ${portalCreated.url}`);
|
|
41
|
-
logger_1.logger.divider();
|
|
35
|
+
logger_1.logger.title('Detalles del portal');
|
|
36
|
+
logger_1.logger.label('ID', portalCreated.id);
|
|
37
|
+
logger_1.logger.label('URL', portalCreated.url);
|
|
42
38
|
if (options.dev) {
|
|
43
39
|
logger_1.logger.warning('\nAmbiente: desarrollo');
|
|
44
40
|
}
|
|
@@ -26,11 +26,10 @@ exports.deleteCommand = new commander_1.Command('delete')
|
|
|
26
26
|
});
|
|
27
27
|
// Obtener detalles del portal para mostrar qué se va a eliminar
|
|
28
28
|
const portalDetails = await portal.getPortal(portalId);
|
|
29
|
-
logger_1.logger.
|
|
30
|
-
logger_1.logger.
|
|
31
|
-
logger_1.logger.
|
|
32
|
-
logger_1.logger.
|
|
33
|
-
logger_1.logger.info(`URL: ${portalDetails.portal.url}`);
|
|
29
|
+
logger_1.logger.title('Portal a eliminar');
|
|
30
|
+
logger_1.logger.label('ID', portalDetails.portal.id);
|
|
31
|
+
logger_1.logger.label('Nombre', portalDetails.portal.name);
|
|
32
|
+
logger_1.logger.label('URL', portalDetails.portal.url);
|
|
34
33
|
if (!options.force) {
|
|
35
34
|
const { confirm } = await inquirer_1.default.prompt([{
|
|
36
35
|
type: 'confirm',
|
|
@@ -43,7 +42,7 @@ exports.deleteCommand = new commander_1.Command('delete')
|
|
|
43
42
|
return;
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
|
-
logger_1.logger.
|
|
45
|
+
logger_1.logger.dim('Eliminando portal...');
|
|
47
46
|
await portal.deletePortal(portalId);
|
|
48
47
|
logger_1.logger.success('Portal eliminado exitosamente');
|
|
49
48
|
if (options.dev) {
|
|
@@ -19,39 +19,37 @@ exports.getCommand = new commander_1.Command('get')
|
|
|
19
19
|
zone: credentials.zone,
|
|
20
20
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
21
21
|
});
|
|
22
|
-
logger_1.logger.info('\n🔄 Obteniendo detalles del portal...');
|
|
23
22
|
const response = await portal.getPortal(portalId);
|
|
24
23
|
const portalDetails = response.portal;
|
|
25
|
-
logger_1.logger.
|
|
26
|
-
logger_1.logger.
|
|
27
|
-
logger_1.logger.
|
|
28
|
-
logger_1.logger.
|
|
29
|
-
logger_1.logger.
|
|
30
|
-
logger_1.logger.
|
|
31
|
-
logger_1.logger.info(`Estado: ${portalDetails.disabled ? 'Deshabilitado' : 'Habilitado'}`);
|
|
24
|
+
logger_1.logger.title('Detalles del portal');
|
|
25
|
+
logger_1.logger.label('ID', portalDetails.id);
|
|
26
|
+
logger_1.logger.label('Nombre', portalDetails.name);
|
|
27
|
+
logger_1.logger.label('URL', portalDetails.url);
|
|
28
|
+
logger_1.logger.label('Acceso', portalDetails.access);
|
|
29
|
+
logger_1.logger.label('Estado', portalDetails.disabled ? 'Deshabilitado' : 'Habilitado');
|
|
32
30
|
if (portalDetails.title) {
|
|
33
|
-
logger_1.logger.
|
|
31
|
+
logger_1.logger.label('Titulo', portalDetails.title);
|
|
34
32
|
}
|
|
35
33
|
if (portalDetails.subtitle) {
|
|
36
|
-
logger_1.logger.
|
|
34
|
+
logger_1.logger.label('Subtitulo', portalDetails.subtitle);
|
|
37
35
|
}
|
|
38
36
|
if (portalDetails.logo) {
|
|
39
|
-
logger_1.logger.
|
|
40
|
-
logger_1.logger.
|
|
37
|
+
logger_1.logger.title('Recursos');
|
|
38
|
+
logger_1.logger.label('Logo', portalDetails.logo);
|
|
41
39
|
if (portalDetails.logodark) {
|
|
42
|
-
logger_1.logger.
|
|
40
|
+
logger_1.logger.label('Logo (modo oscuro)', portalDetails.logodark);
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
if (portalDetails.links && portalDetails.links.length > 0) {
|
|
46
|
-
logger_1.logger.
|
|
44
|
+
logger_1.logger.title('Enlaces');
|
|
47
45
|
portalDetails.links.forEach((link) => {
|
|
48
|
-
logger_1.logger.
|
|
46
|
+
logger_1.logger.label(link.value, link.url);
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
49
|
if (portalDetails.agents && portalDetails.agents.length > 0) {
|
|
52
|
-
logger_1.logger.
|
|
50
|
+
logger_1.logger.title('Agentes asociados');
|
|
53
51
|
portalDetails.agents.forEach((agent) => {
|
|
54
|
-
logger_1.logger.
|
|
52
|
+
logger_1.logger.label(agent.name, agent.id);
|
|
55
53
|
});
|
|
56
54
|
}
|
|
57
55
|
if (options.dev) {
|
|
@@ -18,40 +18,38 @@ exports.listCommand = new commander_1.Command('list')
|
|
|
18
18
|
zone: credentials.zone,
|
|
19
19
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
20
20
|
});
|
|
21
|
-
logger_1.logger.info('\n🔍 Buscando portal del workspace...');
|
|
22
21
|
const response = await portal.getExistsPortal();
|
|
23
22
|
const portalDetails = response.portal;
|
|
24
|
-
logger_1.logger.
|
|
25
|
-
logger_1.logger.
|
|
26
|
-
logger_1.logger.
|
|
27
|
-
logger_1.logger.
|
|
28
|
-
logger_1.logger.
|
|
29
|
-
logger_1.logger.
|
|
30
|
-
logger_1.logger.info(`Estado: ${portalDetails.disabled ? 'Deshabilitado' : 'Habilitado'}`);
|
|
23
|
+
logger_1.logger.title('Portal encontrado');
|
|
24
|
+
logger_1.logger.label('ID', portalDetails.id);
|
|
25
|
+
logger_1.logger.label('Nombre', portalDetails.name);
|
|
26
|
+
logger_1.logger.label('URL', portalDetails.url);
|
|
27
|
+
logger_1.logger.label('Acceso', portalDetails.access || 'N/A');
|
|
28
|
+
logger_1.logger.label('Estado', portalDetails.disabled ? 'Deshabilitado' : 'Habilitado');
|
|
31
29
|
if (portalDetails.title) {
|
|
32
|
-
logger_1.logger.
|
|
30
|
+
logger_1.logger.label('Titulo', portalDetails.title);
|
|
33
31
|
}
|
|
34
32
|
if (portalDetails.subtitle) {
|
|
35
|
-
logger_1.logger.
|
|
33
|
+
logger_1.logger.label('Subtitulo', portalDetails.subtitle);
|
|
36
34
|
}
|
|
37
35
|
if (portalDetails.logo) {
|
|
38
|
-
logger_1.logger.
|
|
39
|
-
logger_1.logger.
|
|
36
|
+
logger_1.logger.title('Recursos');
|
|
37
|
+
logger_1.logger.label('Logo', portalDetails.logo);
|
|
40
38
|
if (portalDetails.logodark) {
|
|
41
|
-
logger_1.logger.
|
|
39
|
+
logger_1.logger.label('Logo (modo oscuro)', portalDetails.logodark);
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
const portalAny = portalDetails;
|
|
45
43
|
if (portalAny.links && portalAny.links.length > 0) {
|
|
46
|
-
logger_1.logger.
|
|
44
|
+
logger_1.logger.title('Enlaces');
|
|
47
45
|
portalAny.links.forEach((link) => {
|
|
48
|
-
logger_1.logger.
|
|
46
|
+
logger_1.logger.label(link.value, link.url);
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
49
|
if (portalAny.agents && portalAny.agents.length > 0) {
|
|
52
|
-
logger_1.logger.
|
|
50
|
+
logger_1.logger.title('Agentes asociados');
|
|
53
51
|
portalAny.agents.forEach((agent) => {
|
|
54
|
-
logger_1.logger.
|
|
52
|
+
logger_1.logger.label(agent.name, agent.id);
|
|
55
53
|
});
|
|
56
54
|
}
|
|
57
55
|
if (options.dev) {
|
|
@@ -29,9 +29,8 @@ exports.updateCommand = new commander_1.Command('update')
|
|
|
29
29
|
});
|
|
30
30
|
// Obtener detalles actuales del portal
|
|
31
31
|
const currentPortal = await portal.getPortal(portalId);
|
|
32
|
-
logger_1.logger.
|
|
33
|
-
logger_1.logger.
|
|
34
|
-
logger_1.logger.info(JSON.stringify(currentPortal.portal, null, 2));
|
|
32
|
+
logger_1.logger.title('Portal actual');
|
|
33
|
+
logger_1.logger.json(currentPortal.portal);
|
|
35
34
|
// Construir objeto de actualización solo con los campos proporcionados
|
|
36
35
|
const updateData = { id: portalId };
|
|
37
36
|
if (options.name)
|
|
@@ -62,11 +61,11 @@ exports.updateCommand = new commander_1.Command('update')
|
|
|
62
61
|
}
|
|
63
62
|
updateData.brandOff = options.brandOff === 'true';
|
|
64
63
|
}
|
|
65
|
-
logger_1.logger.
|
|
66
|
-
logger_1.logger.
|
|
64
|
+
logger_1.logger.title('Cambios a aplicar');
|
|
65
|
+
logger_1.logger.json(updateData);
|
|
67
66
|
const result = await portal.updatePortal(updateData);
|
|
68
67
|
logger_1.logger.success('Portal actualizado exitosamente');
|
|
69
|
-
logger_1.logger.
|
|
68
|
+
logger_1.logger.label('Mensaje', result.message);
|
|
70
69
|
if (options.dev) {
|
|
71
70
|
logger_1.logger.warning('\nAmbiente: desarrollo');
|
|
72
71
|
}
|
|
@@ -18,15 +18,15 @@ exports.deleteWebhookCommand = new commander_1.Command('delete-webhook')
|
|
|
18
18
|
zone: credentials.zone,
|
|
19
19
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
20
20
|
});
|
|
21
|
-
logger_1.logger.
|
|
22
|
-
logger_1.logger.
|
|
21
|
+
logger_1.logger.title('Eliminando webhook de WhatsApp');
|
|
22
|
+
logger_1.logger.label('Numero', options.number);
|
|
23
23
|
await messageClient.deleteWebhook({
|
|
24
24
|
number: options.number
|
|
25
25
|
});
|
|
26
26
|
logger_1.logger.success('Webhook eliminado exitosamente');
|
|
27
27
|
}
|
|
28
28
|
catch (error) {
|
|
29
|
-
logger_1.logger.error(
|
|
29
|
+
logger_1.logger.error(error.message);
|
|
30
30
|
process.exit(1);
|
|
31
31
|
}
|
|
32
32
|
});
|
|
@@ -19,9 +19,9 @@ exports.registerWebhookCommand = new commander_1.Command('register-webhook')
|
|
|
19
19
|
zone: credentials.zone,
|
|
20
20
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
21
21
|
});
|
|
22
|
-
logger_1.logger.
|
|
23
|
-
logger_1.logger.
|
|
24
|
-
logger_1.logger.
|
|
22
|
+
logger_1.logger.title('Registrando webhook de WhatsApp');
|
|
23
|
+
logger_1.logger.label('Numero', options.number);
|
|
24
|
+
logger_1.logger.label('URL', options.url);
|
|
25
25
|
await messageClient.registerWebhook({
|
|
26
26
|
number: options.number,
|
|
27
27
|
webhookUrl: options.url
|
|
@@ -29,7 +29,7 @@ exports.registerWebhookCommand = new commander_1.Command('register-webhook')
|
|
|
29
29
|
logger_1.logger.success('Webhook registrado exitosamente');
|
|
30
30
|
}
|
|
31
31
|
catch (error) {
|
|
32
|
-
logger_1.logger.error(
|
|
32
|
+
logger_1.logger.error(error.message);
|
|
33
33
|
process.exit(1);
|
|
34
34
|
}
|
|
35
35
|
});
|
package/dist/utils/logger.js
CHANGED
|
@@ -10,14 +10,14 @@ exports.logger = {
|
|
|
10
10
|
console.log(chalk_1.default.white(message));
|
|
11
11
|
},
|
|
12
12
|
success: (message) => {
|
|
13
|
-
console.log(chalk_1.default.hex('#66BB6A')(`\n
|
|
13
|
+
console.log(chalk_1.default.hex('#66BB6A')(`\n ${message}`));
|
|
14
14
|
},
|
|
15
15
|
warning: (message) => {
|
|
16
|
-
console.log(chalk_1.default.hex('#FFA726')(`\n
|
|
16
|
+
console.log(chalk_1.default.hex('#FFA726')(`\n ${message}`));
|
|
17
17
|
},
|
|
18
18
|
error: (error) => {
|
|
19
19
|
const message = error instanceof Error ? error.message : error;
|
|
20
|
-
console.error(chalk_1.default.hex('#EF5350')(`\n
|
|
20
|
+
console.error(chalk_1.default.hex('#EF5350')(`\n Error: ${message}`));
|
|
21
21
|
},
|
|
22
22
|
divider: (length = 50) => {
|
|
23
23
|
console.log(chalk_1.default.gray('─'.repeat(length)));
|
package/package.json
CHANGED
|
@@ -138,7 +138,7 @@ export const chatCommand = new Command('chat')
|
|
|
138
138
|
// Mostrar tool calls si hay
|
|
139
139
|
if (response.actionsExecuted && response.actionsExecuted.length > 0) {
|
|
140
140
|
response.actionsExecuted.forEach((action: any) => {
|
|
141
|
-
console.log(chalk.hex('#FFA726')(`
|
|
141
|
+
console.log(chalk.hex('#FFA726')(` Tool: ${action.name || action.intent || 'action'}`));
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
|
|
@@ -38,7 +38,7 @@ export const deleteCommand = new Command('delete')
|
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
// Preguntar por confirmación
|
|
41
|
-
rl.question('\
|
|
41
|
+
rl.question('\nEstas seguro que deseas eliminar este agente? (y/N): ', async (answer) => {
|
|
42
42
|
if (answer.toLowerCase() === 'y') {
|
|
43
43
|
await agent.deleteAgent({
|
|
44
44
|
id: agentId
|
|
@@ -24,10 +24,8 @@ export const enableCommand = new Command('enable-widget')
|
|
|
24
24
|
// Obtener estado actual del agente
|
|
25
25
|
const agentDetails = await agent.getAgentById({ id: agentId });
|
|
26
26
|
|
|
27
|
-
logger.
|
|
28
|
-
logger.
|
|
29
|
-
logger.info(`Agente: ${agentDetails.name}`);
|
|
30
|
-
logger.divider();
|
|
27
|
+
logger.title('Estado actual del widget');
|
|
28
|
+
logger.label('Agente', agentDetails.name);
|
|
31
29
|
|
|
32
30
|
// Cambiar estado
|
|
33
31
|
const newState = !options.disable; // Si --disable está presente, newState será false
|
|
@@ -38,15 +36,13 @@ export const enableCommand = new Command('enable-widget')
|
|
|
38
36
|
|
|
39
37
|
logger.success(`Widget ${newState ? 'habilitado' : 'deshabilitado'} exitosamente`);
|
|
40
38
|
|
|
41
|
-
logger.
|
|
42
|
-
logger.
|
|
43
|
-
logger.
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
logger.title('Respuesta del servidor');
|
|
40
|
+
logger.label('Estado', result.success ? 'Exitoso' : 'Fallido');
|
|
41
|
+
logger.label('Mensaje', result.message);
|
|
42
|
+
|
|
46
43
|
if (newState && result.script) {
|
|
47
|
-
logger.
|
|
48
|
-
logger.
|
|
49
|
-
logger.info('Coloca este script debajo de la etiqueta <HEAD> en tu sitio web:');
|
|
44
|
+
logger.title('Instrucciones de instalacion');
|
|
45
|
+
logger.dim('Coloca este script debajo de la etiqueta <HEAD> en tu sitio web:');
|
|
50
46
|
logger.info('\n' + result.script);
|
|
51
47
|
}
|
|
52
48
|
|
|
@@ -33,7 +33,7 @@ export const getCommand = new Command('get')
|
|
|
33
33
|
logger.info(`ID: ${agentData.id}`);
|
|
34
34
|
logger.info(`Nombre: ${agentData.name}`);
|
|
35
35
|
logger.info(`Descripción: ${agentData.description}`);
|
|
36
|
-
logger.info(`Estado: ${agentData.enable ? '
|
|
36
|
+
logger.info(`Estado: ${agentData.enable ? 'Activo' : 'Inactivo'}`);
|
|
37
37
|
logger.info(`Zona: ${agentData.zone}`);
|
|
38
38
|
logger.info(`Buffer: ${agentData.buffer}`);
|
|
39
39
|
logger.info(`Color: ${agentData.color}`);
|
|
@@ -34,7 +34,7 @@ export const listCommand = new Command('list')
|
|
|
34
34
|
agents.forEach((a: any, index: number) => {
|
|
35
35
|
logger.info(`${index + 1}. ID: ${a.id}`);
|
|
36
36
|
logger.info(` Nombre: ${a.name}`);
|
|
37
|
-
logger.info(` Estado: ${a.enable ? '
|
|
37
|
+
logger.info(` Estado: ${a.enable ? 'Activo' : 'Inactivo'}`);
|
|
38
38
|
logger.info(` Descripción: ${a.description}`);
|
|
39
39
|
logger.info(` Creado: ${a.createdAt ? new Date(a.createdAt).toLocaleString() : 'N/A'}`);
|
|
40
40
|
logger.divider();
|
|
@@ -32,10 +32,10 @@ export const messageCommand = new Command('message')
|
|
|
32
32
|
// Generar un sessionId si no se proporcionó uno
|
|
33
33
|
const sessionId = options.sessionId || crypto.randomUUID();
|
|
34
34
|
|
|
35
|
-
logger.
|
|
36
|
-
logger.
|
|
37
|
-
logger.
|
|
38
|
-
logger.
|
|
35
|
+
logger.title('Enviando mensaje al agente');
|
|
36
|
+
logger.label('ID del agente', options.agentId);
|
|
37
|
+
logger.label('Pregunta', options.question);
|
|
38
|
+
logger.label('ID de sesion', sessionId);
|
|
39
39
|
if (options.multipleAnswers) {
|
|
40
40
|
logger.info('Modo: Múltiples respuestas');
|
|
41
41
|
}
|
|
@@ -47,21 +47,19 @@ export const messageCommand = new Command('message')
|
|
|
47
47
|
multipleAnswers: options.multipleAnswers
|
|
48
48
|
}) as AgentResponse;
|
|
49
49
|
|
|
50
|
-
logger.
|
|
51
|
-
logger.divider();
|
|
50
|
+
logger.title('Respuesta del Agente');
|
|
52
51
|
console.log(response.answer);
|
|
53
|
-
|
|
52
|
+
|
|
54
53
|
if (response.sources && response.sources.length > 0) {
|
|
55
|
-
logger.
|
|
56
|
-
logger.divider();
|
|
54
|
+
logger.title('Fuentes');
|
|
57
55
|
response.sources.forEach((source: AgentSource) => {
|
|
58
|
-
logger.
|
|
59
|
-
if (source.url) logger.
|
|
56
|
+
logger.label('Titulo', source.title || 'Sin titulo');
|
|
57
|
+
if (source.url) logger.label('URL', source.url);
|
|
60
58
|
});
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
logger.
|
|
64
|
-
logger.
|
|
61
|
+
logger.title('Sesion');
|
|
62
|
+
logger.label('ID', sessionId);
|
|
65
63
|
|
|
66
64
|
if (options.dev) {
|
|
67
65
|
logger.warning('\nAmbiente: desarrollo');
|
|
@@ -33,7 +33,7 @@ export const updateCommand = new Command('update')
|
|
|
33
33
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
logger.
|
|
36
|
+
logger.dim('Actualizando agente...');
|
|
37
37
|
|
|
38
38
|
// Actualizar el agente
|
|
39
39
|
const result = await agent.updateAgent(agentId, agentConfig);
|
|
@@ -20,10 +20,10 @@ export const loginCommand = new Command('init')
|
|
|
20
20
|
logger.info('│' + ' Bienvenido a Plazbot CLI'.padEnd(69) + '│');
|
|
21
21
|
logger.info('│' + ''.padEnd(69) + '│');
|
|
22
22
|
logger.info('│' + ' Con esta herramienta podrás:'.padEnd(69) + '│');
|
|
23
|
-
logger.info('│' + '
|
|
24
|
-
logger.info('│' + '
|
|
25
|
-
logger.info('│' + '
|
|
26
|
-
logger.info('│' + '
|
|
23
|
+
logger.info('│' + ' Crear y actualizar agentes'.padEnd(69) + '│');
|
|
24
|
+
logger.info('│' + ' Gestionar configuraciones'.padEnd(69) + '│');
|
|
25
|
+
logger.info('│' + ' Interactuar con tus agentes'.padEnd(69) + '│');
|
|
26
|
+
logger.info('│' + ' Activar todas sus capacidades'.padEnd(69) + '│');
|
|
27
27
|
logger.info('└' + '─'.repeat(70) + '┘\n');
|
|
28
28
|
|
|
29
29
|
await saveCredentials({
|
|
@@ -34,15 +34,16 @@ export const loginCommand = new Command('init')
|
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
logger.success('Configuración guardada exitosamente:');
|
|
37
|
-
logger.
|
|
38
|
-
logger.
|
|
39
|
-
logger.
|
|
37
|
+
logger.label('Email', options.email);
|
|
38
|
+
logger.label('Workspace', options.workspace);
|
|
39
|
+
logger.label('Zona', options.zone);
|
|
40
40
|
|
|
41
|
-
logger.
|
|
42
|
-
logger.
|
|
43
|
-
logger.
|
|
44
|
-
logger.
|
|
45
|
-
logger.
|
|
41
|
+
logger.title('Puedes comenzar usando los siguientes comandos');
|
|
42
|
+
logger.dim('plazbot agent list - Ver tus agentes');
|
|
43
|
+
logger.dim('plazbot agent templates - Crear agente desde plantilla');
|
|
44
|
+
logger.dim('plazbot agent chat - Chatear con un agente');
|
|
45
|
+
logger.dim('plazbot --help - Ver todos los comandos');
|
|
46
|
+
console.log();
|
|
46
47
|
|
|
47
48
|
if (options.dev) {
|
|
48
49
|
logger.warning('Ambiente: desarrollo');
|
|
@@ -35,17 +35,11 @@ export const addAgentCommand = new Command('add-agent-portal')
|
|
|
35
35
|
// Obtener detalles del agente
|
|
36
36
|
const agentDetails = await agent.getAgentById({ id: options.agentId });
|
|
37
37
|
|
|
38
|
-
logger.
|
|
39
|
-
logger.
|
|
40
|
-
logger.
|
|
41
|
-
logger.
|
|
42
|
-
logger.
|
|
43
|
-
logger.info('\nAgente:');
|
|
44
|
-
logger.info(` ID: ${agentDetails.id}`);
|
|
45
|
-
logger.info(` Nombre: ${agentDetails.name}`);
|
|
46
|
-
logger.divider();
|
|
47
|
-
|
|
48
|
-
logger.info('\n🔄 Agregando agente al portal...');
|
|
38
|
+
logger.title('Detalles de la operacion');
|
|
39
|
+
logger.label('Portal ID', portalDetails.portal?.id || options.portalId);
|
|
40
|
+
logger.label('Portal Nombre', portalDetails.portal?.name || 'N/A');
|
|
41
|
+
logger.label('Agente ID', agentDetails.id);
|
|
42
|
+
logger.label('Agente Nombre', agentDetails.name);
|
|
49
43
|
|
|
50
44
|
await portal.addAgentToPortal({
|
|
51
45
|
portalId: options.portalId,
|
|
@@ -31,9 +31,9 @@ export const addLinkCommand = new Command('add-link')
|
|
|
31
31
|
url: options.url
|
|
32
32
|
})
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
logger.success('Enlace agregado exitosamente')
|
|
35
35
|
} catch (error: unknown) {
|
|
36
|
-
|
|
36
|
+
logger.error((error as Error).message)
|
|
37
37
|
process.exit(1)
|
|
38
38
|
}
|
|
39
39
|
})
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { Portal } from 'plazbot';
|
|
3
3
|
import { getStoredCredentials } from '../../utils/credentials';
|
|
4
|
+
import { logger } from '../../utils/logger';
|
|
4
5
|
import { BaseCommandOptions } from '../../types/common';
|
|
5
6
|
|
|
6
7
|
export const clearLinksCommand = new Command('clear-links')
|
|
@@ -18,9 +19,9 @@ export const clearLinksCommand = new Command('clear-links')
|
|
|
18
19
|
});
|
|
19
20
|
|
|
20
21
|
await portal.clearLinks(portalId);
|
|
21
|
-
|
|
22
|
+
logger.success('Enlaces eliminados exitosamente');
|
|
22
23
|
} catch (error: unknown) {
|
|
23
|
-
|
|
24
|
+
logger.error((error as Error).message);
|
|
24
25
|
process.exit(1);
|
|
25
26
|
}
|
|
26
27
|
});
|
|
@@ -21,13 +21,10 @@ export const createCommand = new Command('create')
|
|
|
21
21
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
-
logger.info('\n🚀 Creando portal...');
|
|
25
|
-
|
|
26
24
|
const portalCreated = await portal.addPortal({
|
|
27
25
|
name: options.name,
|
|
28
26
|
title: options.title,
|
|
29
27
|
zone: credentials.zone as "LA" | "EU",
|
|
30
|
-
// Valores por defecto
|
|
31
28
|
subtitle: "",
|
|
32
29
|
logo: "",
|
|
33
30
|
logodark: "",
|
|
@@ -37,11 +34,9 @@ export const createCommand = new Command('create')
|
|
|
37
34
|
});
|
|
38
35
|
|
|
39
36
|
logger.success('Portal creado exitosamente');
|
|
40
|
-
logger.
|
|
41
|
-
logger.
|
|
42
|
-
logger.
|
|
43
|
-
logger.info(`URL: ${portalCreated.url}`);
|
|
44
|
-
logger.divider();
|
|
37
|
+
logger.title('Detalles del portal');
|
|
38
|
+
logger.label('ID', portalCreated.id);
|
|
39
|
+
logger.label('URL', portalCreated.url);
|
|
45
40
|
|
|
46
41
|
if (options.dev) {
|
|
47
42
|
logger.warning('\nAmbiente: desarrollo');
|
|
@@ -25,11 +25,10 @@ export const deleteCommand = new Command('delete')
|
|
|
25
25
|
// Obtener detalles del portal para mostrar qué se va a eliminar
|
|
26
26
|
const portalDetails = await portal.getPortal(portalId) as PortalResponse;
|
|
27
27
|
|
|
28
|
-
logger.
|
|
29
|
-
logger.
|
|
30
|
-
logger.
|
|
31
|
-
logger.
|
|
32
|
-
logger.info(`URL: ${portalDetails.portal.url}`);
|
|
28
|
+
logger.title('Portal a eliminar');
|
|
29
|
+
logger.label('ID', portalDetails.portal.id);
|
|
30
|
+
logger.label('Nombre', portalDetails.portal.name);
|
|
31
|
+
logger.label('URL', portalDetails.portal.url);
|
|
33
32
|
|
|
34
33
|
if (!options.force) {
|
|
35
34
|
const { confirm } = await inquirer.prompt([{
|
|
@@ -45,7 +44,7 @@ export const deleteCommand = new Command('delete')
|
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
logger.
|
|
47
|
+
logger.dim('Eliminando portal...');
|
|
49
48
|
|
|
50
49
|
await portal.deletePortal(portalId);
|
|
51
50
|
|
|
@@ -20,46 +20,42 @@ export const getCommand = new Command('get')
|
|
|
20
20
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
logger.info('\n🔄 Obteniendo detalles del portal...');
|
|
24
|
-
|
|
25
23
|
const response = await portal.getPortal(portalId) as PortalResponse;
|
|
26
24
|
const portalDetails = response.portal;
|
|
27
25
|
|
|
28
|
-
logger.
|
|
29
|
-
logger.
|
|
30
|
-
|
|
31
|
-
logger.
|
|
32
|
-
logger.
|
|
33
|
-
logger.
|
|
34
|
-
|
|
35
|
-
logger.info(`Estado: ${portalDetails.disabled ? 'Deshabilitado' : 'Habilitado'}`);
|
|
36
|
-
|
|
26
|
+
logger.title('Detalles del portal');
|
|
27
|
+
logger.label('ID', portalDetails.id);
|
|
28
|
+
logger.label('Nombre', portalDetails.name);
|
|
29
|
+
logger.label('URL', portalDetails.url);
|
|
30
|
+
logger.label('Acceso', portalDetails.access);
|
|
31
|
+
logger.label('Estado', portalDetails.disabled ? 'Deshabilitado' : 'Habilitado');
|
|
32
|
+
|
|
37
33
|
if (portalDetails.title) {
|
|
38
|
-
logger.
|
|
34
|
+
logger.label('Titulo', portalDetails.title);
|
|
39
35
|
}
|
|
40
36
|
if (portalDetails.subtitle) {
|
|
41
|
-
logger.
|
|
37
|
+
logger.label('Subtitulo', portalDetails.subtitle);
|
|
42
38
|
}
|
|
43
39
|
|
|
44
40
|
if (portalDetails.logo) {
|
|
45
|
-
logger.
|
|
46
|
-
logger.
|
|
41
|
+
logger.title('Recursos');
|
|
42
|
+
logger.label('Logo', portalDetails.logo);
|
|
47
43
|
if (portalDetails.logodark) {
|
|
48
|
-
logger.
|
|
44
|
+
logger.label('Logo (modo oscuro)', portalDetails.logodark);
|
|
49
45
|
}
|
|
50
46
|
}
|
|
51
47
|
|
|
52
48
|
if (portalDetails.links && portalDetails.links.length > 0) {
|
|
53
|
-
logger.
|
|
49
|
+
logger.title('Enlaces');
|
|
54
50
|
portalDetails.links.forEach((link: PortalLink) => {
|
|
55
|
-
logger.
|
|
51
|
+
logger.label(link.value, link.url);
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
54
|
|
|
59
55
|
if (portalDetails.agents && portalDetails.agents.length > 0) {
|
|
60
|
-
logger.
|
|
56
|
+
logger.title('Agentes asociados');
|
|
61
57
|
portalDetails.agents.forEach((agent: PortalAgent) => {
|
|
62
|
-
logger.
|
|
58
|
+
logger.label(agent.name, agent.id);
|
|
63
59
|
});
|
|
64
60
|
}
|
|
65
61
|
|
|
@@ -19,46 +19,43 @@ export const listCommand = new Command('list')
|
|
|
19
19
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
logger.info('\n🔍 Buscando portal del workspace...');
|
|
23
|
-
|
|
24
22
|
const response = await portal.getExistsPortal();
|
|
25
23
|
const portalDetails = response.portal;
|
|
26
24
|
|
|
27
|
-
logger.
|
|
28
|
-
logger.
|
|
29
|
-
logger.
|
|
30
|
-
logger.
|
|
31
|
-
logger.
|
|
32
|
-
logger.
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
logger.title('Portal encontrado');
|
|
26
|
+
logger.label('ID', portalDetails.id);
|
|
27
|
+
logger.label('Nombre', portalDetails.name);
|
|
28
|
+
logger.label('URL', portalDetails.url);
|
|
29
|
+
logger.label('Acceso', portalDetails.access || 'N/A');
|
|
30
|
+
logger.label('Estado', portalDetails.disabled ? 'Deshabilitado' : 'Habilitado');
|
|
31
|
+
|
|
35
32
|
if (portalDetails.title) {
|
|
36
|
-
logger.
|
|
33
|
+
logger.label('Titulo', portalDetails.title);
|
|
37
34
|
}
|
|
38
35
|
if (portalDetails.subtitle) {
|
|
39
|
-
logger.
|
|
36
|
+
logger.label('Subtitulo', portalDetails.subtitle);
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
if (portalDetails.logo) {
|
|
43
|
-
logger.
|
|
44
|
-
logger.
|
|
40
|
+
logger.title('Recursos');
|
|
41
|
+
logger.label('Logo', portalDetails.logo);
|
|
45
42
|
if (portalDetails.logodark) {
|
|
46
|
-
logger.
|
|
43
|
+
logger.label('Logo (modo oscuro)', portalDetails.logodark);
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
const portalAny = portalDetails as any;
|
|
51
48
|
if (portalAny.links && portalAny.links.length > 0) {
|
|
52
|
-
logger.
|
|
49
|
+
logger.title('Enlaces');
|
|
53
50
|
portalAny.links.forEach((link: { value: string; url: string }) => {
|
|
54
|
-
logger.
|
|
51
|
+
logger.label(link.value, link.url);
|
|
55
52
|
});
|
|
56
53
|
}
|
|
57
54
|
|
|
58
55
|
if (portalAny.agents && portalAny.agents.length > 0) {
|
|
59
|
-
logger.
|
|
56
|
+
logger.title('Agentes asociados');
|
|
60
57
|
portalAny.agents.forEach((agent: { name: string; id: string }) => {
|
|
61
|
-
logger.
|
|
58
|
+
logger.label(agent.name, agent.id);
|
|
62
59
|
});
|
|
63
60
|
}
|
|
64
61
|
|
|
@@ -31,9 +31,8 @@ export const updateCommand = new Command('update')
|
|
|
31
31
|
// Obtener detalles actuales del portal
|
|
32
32
|
const currentPortal = await portal.getPortal(portalId);
|
|
33
33
|
|
|
34
|
-
logger.
|
|
35
|
-
logger.
|
|
36
|
-
logger.info(JSON.stringify(currentPortal.portal, null, 2));
|
|
34
|
+
logger.title('Portal actual');
|
|
35
|
+
logger.json(currentPortal.portal);
|
|
37
36
|
|
|
38
37
|
// Construir objeto de actualización solo con los campos proporcionados
|
|
39
38
|
const updateData: any = { id: portalId };
|
|
@@ -62,13 +61,13 @@ export const updateCommand = new Command('update')
|
|
|
62
61
|
updateData.brandOff = options.brandOff === 'true';
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
logger.
|
|
66
|
-
logger.
|
|
64
|
+
logger.title('Cambios a aplicar');
|
|
65
|
+
logger.json(updateData);
|
|
67
66
|
|
|
68
67
|
const result = await portal.updatePortal(updateData);
|
|
69
68
|
|
|
70
69
|
logger.success('Portal actualizado exitosamente');
|
|
71
|
-
logger.
|
|
70
|
+
logger.label('Mensaje', result.message);
|
|
72
71
|
|
|
73
72
|
if (options.dev) {
|
|
74
73
|
logger.warning('\nAmbiente: desarrollo');
|
|
@@ -22,8 +22,8 @@ export const deleteWebhookCommand = new Command('delete-webhook')
|
|
|
22
22
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
logger.
|
|
26
|
-
logger.
|
|
25
|
+
logger.title('Eliminando webhook de WhatsApp');
|
|
26
|
+
logger.label('Numero', options.number);
|
|
27
27
|
|
|
28
28
|
await messageClient.deleteWebhook({
|
|
29
29
|
number: options.number
|
|
@@ -31,7 +31,7 @@ export const deleteWebhookCommand = new Command('delete-webhook')
|
|
|
31
31
|
|
|
32
32
|
logger.success('Webhook eliminado exitosamente');
|
|
33
33
|
} catch (error: unknown) {
|
|
34
|
-
logger.error(
|
|
34
|
+
logger.error((error as Error).message);
|
|
35
35
|
process.exit(1);
|
|
36
36
|
}
|
|
37
37
|
});
|
|
@@ -24,9 +24,9 @@ export const registerWebhookCommand = new Command('register-webhook')
|
|
|
24
24
|
...(options.dev && { customUrl: "http://localhost:5090" })
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
logger.
|
|
28
|
-
logger.
|
|
29
|
-
logger.
|
|
27
|
+
logger.title('Registrando webhook de WhatsApp');
|
|
28
|
+
logger.label('Numero', options.number);
|
|
29
|
+
logger.label('URL', options.url);
|
|
30
30
|
|
|
31
31
|
await messageClient.registerWebhook({
|
|
32
32
|
number: options.number,
|
|
@@ -35,7 +35,7 @@ export const registerWebhookCommand = new Command('register-webhook')
|
|
|
35
35
|
|
|
36
36
|
logger.success('Webhook registrado exitosamente');
|
|
37
37
|
} catch (error: unknown) {
|
|
38
|
-
logger.error(
|
|
38
|
+
logger.error((error as Error).message);
|
|
39
39
|
process.exit(1);
|
|
40
40
|
}
|
|
41
41
|
});
|
package/src/utils/logger.ts
CHANGED
|
@@ -5,14 +5,14 @@ export const logger = {
|
|
|
5
5
|
console.log(chalk.white(message));
|
|
6
6
|
},
|
|
7
7
|
success: (message: string) => {
|
|
8
|
-
console.log(chalk.hex('#66BB6A')(`\n
|
|
8
|
+
console.log(chalk.hex('#66BB6A')(`\n ${message}`));
|
|
9
9
|
},
|
|
10
10
|
warning: (message: string) => {
|
|
11
|
-
console.log(chalk.hex('#FFA726')(`\n
|
|
11
|
+
console.log(chalk.hex('#FFA726')(`\n ${message}`));
|
|
12
12
|
},
|
|
13
13
|
error: (error: Error | string) => {
|
|
14
14
|
const message = error instanceof Error ? error.message : error;
|
|
15
|
-
console.error(chalk.hex('#EF5350')(`\n
|
|
15
|
+
console.error(chalk.hex('#EF5350')(`\n Error: ${message}`));
|
|
16
16
|
},
|
|
17
17
|
divider: (length: number = 50) => {
|
|
18
18
|
console.log(chalk.gray('─'.repeat(length)));
|