plazbot-cli 0.2.21 → 0.2.23
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/cli.js +3 -1
- package/dist/commands/auth/index.js +3 -1
- package/dist/commands/auth/status.js +24 -0
- package/dist/commands/workers/deploy.js +1 -1
- package/dist/commands/workers/list.js +1 -1
- package/dist/commands/workers/logs.js +1 -1
- package/dist/commands/workers/remove.js +2 -2
- package/dist/commands/workers/secret.js +3 -3
- package/dist/utils/banner.js +1 -1
- package/package.json +1 -1
- package/src/cli.ts +4 -1
- package/src/commands/auth/index.ts +3 -1
- package/src/commands/auth/status.ts +22 -0
- package/src/commands/workers/deploy.ts +1 -1
- package/src/commands/workers/list.ts +1 -1
- package/src/commands/workers/logs.ts +1 -1
- package/src/commands/workers/remove.ts +2 -2
- package/src/commands/workers/secret.ts +3 -3
- package/src/utils/banner.ts +1 -1
package/dist/cli.js
CHANGED
|
@@ -8,11 +8,13 @@ const agent_1 = require("./commands/agent");
|
|
|
8
8
|
const whatsapp_1 = require("./commands/whatsapp");
|
|
9
9
|
const workers_1 = require("./commands/workers");
|
|
10
10
|
const banner_1 = require("./utils/banner");
|
|
11
|
+
// Leer version desde package.json
|
|
12
|
+
const { version } = require('../package.json');
|
|
11
13
|
// Configuracion basica del CLI
|
|
12
14
|
commander_1.program
|
|
13
15
|
.name('plazbot')
|
|
14
16
|
.description('CLI oficial de Plazbot - Agentes de IA para WhatsApp, portales y desarrolladores')
|
|
15
|
-
.version(
|
|
17
|
+
.version(version);
|
|
16
18
|
// Registrar todos los comandos de autenticacion
|
|
17
19
|
auth_1.authCommands.forEach(cmd => commander_1.program.addCommand(cmd));
|
|
18
20
|
// Registrar todos los comandos de agente
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.authCommands = void 0;
|
|
4
4
|
const login_1 = require("./login");
|
|
5
5
|
const logout_1 = require("./logout");
|
|
6
|
+
const status_1 = require("./status");
|
|
6
7
|
exports.authCommands = [
|
|
7
8
|
login_1.loginCommand,
|
|
8
|
-
logout_1.logoutCommand
|
|
9
|
+
logout_1.logoutCommand,
|
|
10
|
+
status_1.statusCommand
|
|
9
11
|
];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.statusCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const credentials_1 = require("../../utils/credentials");
|
|
6
|
+
const logger_1 = require("../../utils/logger");
|
|
7
|
+
const ui_1 = require("../../utils/ui");
|
|
8
|
+
exports.statusCommand = new commander_1.Command('status')
|
|
9
|
+
.description('Muestra la sesion activa (workspace, email, zona)')
|
|
10
|
+
.action(async () => {
|
|
11
|
+
try {
|
|
12
|
+
const credentials = await (0, credentials_1.getStoredCredentials)();
|
|
13
|
+
console.log((0, ui_1.section)('Sesion activa'));
|
|
14
|
+
logger_1.logger.label('Email', credentials.email);
|
|
15
|
+
logger_1.logger.label('Workspace', credentials.workspace);
|
|
16
|
+
logger_1.logger.label('Zona', credentials.zone === 'LA' ? 'Latinoamerica (LA)' : 'Europa (EU)');
|
|
17
|
+
logger_1.logger.label('API', credentials.zone === 'EU' ? 'https://apieu.plazbot.com' : 'https://api.plazbot.com');
|
|
18
|
+
console.log();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
logger_1.logger.error("No hay sesion activa. Ejecuta 'plazbot init' para conectarte.");
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -45,7 +45,7 @@ exports.deployCommand = new commander_1.Command('deploy')
|
|
|
45
45
|
// Leer archivo fuente
|
|
46
46
|
const sourceCode = await promises_1.default.readFile(filePath, 'utf-8');
|
|
47
47
|
// Enviar al API
|
|
48
|
-
const response = await api.post('/api/
|
|
48
|
+
const response = await api.post('/api/worker/deploy', {
|
|
49
49
|
sourceCode,
|
|
50
50
|
fileName,
|
|
51
51
|
name: files.length === 1 ? options.name : undefined,
|
|
@@ -27,7 +27,7 @@ exports.listCommand = new commander_1.Command('list')
|
|
|
27
27
|
params.type = options.type;
|
|
28
28
|
if (options.status)
|
|
29
29
|
params.status = options.status;
|
|
30
|
-
const response = await api.get('/api/
|
|
30
|
+
const response = await api.get('/api/worker', { params });
|
|
31
31
|
const workers = response.data;
|
|
32
32
|
spinner.stop();
|
|
33
33
|
if (!workers || workers.length === 0) {
|
|
@@ -28,7 +28,7 @@ exports.logsCommand = new commander_1.Command('logs')
|
|
|
28
28
|
};
|
|
29
29
|
if (options.status)
|
|
30
30
|
params.status = options.status;
|
|
31
|
-
const response = await api.get(`/api/
|
|
31
|
+
const response = await api.get(`/api/worker/${encodeURIComponent(name)}/logs`, { params });
|
|
32
32
|
const logs = response.data;
|
|
33
33
|
spinner.stop();
|
|
34
34
|
if (!logs || logs.length === 0) {
|
|
@@ -29,7 +29,7 @@ exports.removeCommand = new commander_1.Command('remove')
|
|
|
29
29
|
spinner.start();
|
|
30
30
|
let workerInfo;
|
|
31
31
|
try {
|
|
32
|
-
const response = await api.get(`/api/
|
|
32
|
+
const response = await api.get(`/api/worker/${encodeURIComponent(name)}`);
|
|
33
33
|
workerInfo = response.data;
|
|
34
34
|
spinner.stop();
|
|
35
35
|
}
|
|
@@ -61,7 +61,7 @@ exports.removeCommand = new commander_1.Command('remove')
|
|
|
61
61
|
}
|
|
62
62
|
const deleteSpinner = (0, ui_1.createSpinner)(`Eliminando "${name}"...`);
|
|
63
63
|
deleteSpinner.start();
|
|
64
|
-
await api.delete(`/api/
|
|
64
|
+
await api.delete(`/api/worker/${encodeURIComponent(name)}`);
|
|
65
65
|
deleteSpinner.succeed(`Worker "${name}" eliminado`);
|
|
66
66
|
console.log();
|
|
67
67
|
if (options.dev) {
|
|
@@ -34,7 +34,7 @@ function secretSetCommand() {
|
|
|
34
34
|
});
|
|
35
35
|
const spinner = (0, ui_1.createSpinner)(`Guardando secret "${key}"...`);
|
|
36
36
|
spinner.start();
|
|
37
|
-
await api.put('/api/
|
|
37
|
+
await api.put('/api/worker/secrets', { key, value });
|
|
38
38
|
spinner.succeed(`Secret "${key}" guardado`);
|
|
39
39
|
logger_1.logger.dim(` Disponible en tus workers como plz.env.${key}`);
|
|
40
40
|
console.log();
|
|
@@ -65,7 +65,7 @@ function secretListCommand() {
|
|
|
65
65
|
});
|
|
66
66
|
const spinner = (0, ui_1.createSpinner)('Obteniendo secrets...');
|
|
67
67
|
spinner.start();
|
|
68
|
-
const response = await api.get('/api/
|
|
68
|
+
const response = await api.get('/api/worker/secrets');
|
|
69
69
|
const secrets = response.data;
|
|
70
70
|
spinner.stop();
|
|
71
71
|
if (!secrets || secrets.length === 0) {
|
|
@@ -118,7 +118,7 @@ function secretRemoveCommand() {
|
|
|
118
118
|
}
|
|
119
119
|
const spinner = (0, ui_1.createSpinner)(`Eliminando secret "${key}"...`);
|
|
120
120
|
spinner.start();
|
|
121
|
-
await api.delete(`/api/
|
|
121
|
+
await api.delete(`/api/worker/secrets/${encodeURIComponent(key)}`);
|
|
122
122
|
spinner.succeed(`Secret "${key}" eliminado`);
|
|
123
123
|
console.log();
|
|
124
124
|
if (options.dev) {
|
package/dist/utils/banner.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.showBanner = showBanner;
|
|
|
7
7
|
exports.showMiniHeader = showMiniHeader;
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const credentials_1 = require("./credentials");
|
|
10
|
-
const VERSION = '
|
|
10
|
+
const { version: VERSION } = require('../../package.json');
|
|
11
11
|
// ASCII art del logo Plazbot (burbujas de chat)
|
|
12
12
|
const logo = [
|
|
13
13
|
' ╭──────────╮ ',
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -7,11 +7,14 @@ import { whatsappCommands } from './commands/whatsapp';
|
|
|
7
7
|
import { workersCommands } from './commands/workers';
|
|
8
8
|
import { showBanner } from './utils/banner';
|
|
9
9
|
|
|
10
|
+
// Leer version desde package.json
|
|
11
|
+
const { version } = require('../package.json');
|
|
12
|
+
|
|
10
13
|
// Configuracion basica del CLI
|
|
11
14
|
program
|
|
12
15
|
.name('plazbot')
|
|
13
16
|
.description('CLI oficial de Plazbot - Agentes de IA para WhatsApp, portales y desarrolladores')
|
|
14
|
-
.version(
|
|
17
|
+
.version(version);
|
|
15
18
|
|
|
16
19
|
// Registrar todos los comandos de autenticacion
|
|
17
20
|
authCommands.forEach(cmd => program.addCommand(cmd));
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { loginCommand } from './login';
|
|
3
3
|
import { logoutCommand } from './logout';
|
|
4
|
+
import { statusCommand } from './status';
|
|
4
5
|
|
|
5
6
|
export const authCommands: Command[] = [
|
|
6
7
|
loginCommand,
|
|
7
|
-
logoutCommand
|
|
8
|
+
logoutCommand,
|
|
9
|
+
statusCommand
|
|
8
10
|
];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { getStoredCredentials } from '../../utils/credentials';
|
|
3
|
+
import { logger } from '../../utils/logger';
|
|
4
|
+
import { theme, section } from '../../utils/ui';
|
|
5
|
+
|
|
6
|
+
export const statusCommand = new Command('status')
|
|
7
|
+
.description('Muestra la sesion activa (workspace, email, zona)')
|
|
8
|
+
.action(async () => {
|
|
9
|
+
try {
|
|
10
|
+
const credentials = await getStoredCredentials();
|
|
11
|
+
|
|
12
|
+
console.log(section('Sesion activa'));
|
|
13
|
+
logger.label('Email', credentials.email);
|
|
14
|
+
logger.label('Workspace', credentials.workspace);
|
|
15
|
+
logger.label('Zona', credentials.zone === 'LA' ? 'Latinoamerica (LA)' : 'Europa (EU)');
|
|
16
|
+
logger.label('API', credentials.zone === 'EU' ? 'https://apieu.plazbot.com' : 'https://api.plazbot.com');
|
|
17
|
+
console.log();
|
|
18
|
+
} catch {
|
|
19
|
+
logger.error("No hay sesion activa. Ejecuta 'plazbot init' para conectarte.");
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
@@ -49,7 +49,7 @@ export const deployCommand = new Command('deploy')
|
|
|
49
49
|
const sourceCode = await fs.readFile(filePath, 'utf-8');
|
|
50
50
|
|
|
51
51
|
// Enviar al API
|
|
52
|
-
const response = await api.post('/api/
|
|
52
|
+
const response = await api.post('/api/worker/deploy', {
|
|
53
53
|
sourceCode,
|
|
54
54
|
fileName,
|
|
55
55
|
name: files.length === 1 ? options.name : undefined,
|
|
@@ -27,7 +27,7 @@ export const listCommand = new Command('list')
|
|
|
27
27
|
if (options.type) params.type = options.type;
|
|
28
28
|
if (options.status) params.status = options.status;
|
|
29
29
|
|
|
30
|
-
const response = await api.get('/api/
|
|
30
|
+
const response = await api.get('/api/worker', { params });
|
|
31
31
|
const workers: WorkerListItem[] = response.data;
|
|
32
32
|
|
|
33
33
|
spinner.stop();
|
|
@@ -29,7 +29,7 @@ export const logsCommand = new Command('logs')
|
|
|
29
29
|
};
|
|
30
30
|
if (options.status) params.status = options.status;
|
|
31
31
|
|
|
32
|
-
const response = await api.get(`/api/
|
|
32
|
+
const response = await api.get(`/api/worker/${encodeURIComponent(name)}/logs`, { params });
|
|
33
33
|
const logs: WorkerLogItem[] = response.data;
|
|
34
34
|
|
|
35
35
|
spinner.stop();
|
|
@@ -27,7 +27,7 @@ export const removeCommand = new Command('remove')
|
|
|
27
27
|
|
|
28
28
|
let workerInfo: any;
|
|
29
29
|
try {
|
|
30
|
-
const response = await api.get(`/api/
|
|
30
|
+
const response = await api.get(`/api/worker/${encodeURIComponent(name)}`);
|
|
31
31
|
workerInfo = response.data;
|
|
32
32
|
spinner.stop();
|
|
33
33
|
} catch (error: any) {
|
|
@@ -64,7 +64,7 @@ export const removeCommand = new Command('remove')
|
|
|
64
64
|
const deleteSpinner = createSpinner(`Eliminando "${name}"...`);
|
|
65
65
|
deleteSpinner.start();
|
|
66
66
|
|
|
67
|
-
await api.delete(`/api/
|
|
67
|
+
await api.delete(`/api/worker/${encodeURIComponent(name)}`);
|
|
68
68
|
|
|
69
69
|
deleteSpinner.succeed(`Worker "${name}" eliminado`);
|
|
70
70
|
console.log();
|
|
@@ -35,7 +35,7 @@ function secretSetCommand(): Command {
|
|
|
35
35
|
const spinner = createSpinner(`Guardando secret "${key}"...`);
|
|
36
36
|
spinner.start();
|
|
37
37
|
|
|
38
|
-
await api.put('/api/
|
|
38
|
+
await api.put('/api/worker/secrets', { key, value });
|
|
39
39
|
|
|
40
40
|
spinner.succeed(`Secret "${key}" guardado`);
|
|
41
41
|
logger.dim(` Disponible en tus workers como plz.env.${key}`);
|
|
@@ -72,7 +72,7 @@ function secretListCommand(): Command {
|
|
|
72
72
|
const spinner = createSpinner('Obteniendo secrets...');
|
|
73
73
|
spinner.start();
|
|
74
74
|
|
|
75
|
-
const response = await api.get('/api/
|
|
75
|
+
const response = await api.get('/api/worker/secrets');
|
|
76
76
|
const secrets: WorkerSecretItem[] = response.data;
|
|
77
77
|
|
|
78
78
|
spinner.stop();
|
|
@@ -143,7 +143,7 @@ function secretRemoveCommand(): Command {
|
|
|
143
143
|
const spinner = createSpinner(`Eliminando secret "${key}"...`);
|
|
144
144
|
spinner.start();
|
|
145
145
|
|
|
146
|
-
await api.delete(`/api/
|
|
146
|
+
await api.delete(`/api/worker/secrets/${encodeURIComponent(key)}`);
|
|
147
147
|
|
|
148
148
|
spinner.succeed(`Secret "${key}" eliminado`);
|
|
149
149
|
console.log();
|
package/src/utils/banner.ts
CHANGED