@neetru/cli 2.28.7 → 2.28.8
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/CHANGELOG.md +44 -0
- package/README.md +23 -0
- package/dist/commands/admin/oidc-login.js +6 -3
- package/dist/commands/admin/oidc-login.js.map +1 -1
- package/dist/commands/admin/sdk-credential.js +11 -6
- package/dist/commands/admin/sdk-credential.js.map +1 -1
- package/dist/commands/agent-release.js +14 -27
- package/dist/commands/agent-release.js.map +1 -1
- package/dist/commands/ai-models.js +9 -4
- package/dist/commands/ai-models.js.map +1 -1
- package/dist/commands/archive.js +9 -2
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/auth.js +17 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/autocomplete.d.ts +1 -1
- package/dist/commands/autocomplete.js +2 -0
- package/dist/commands/autocomplete.js.map +1 -1
- package/dist/commands/chat-menu.js +20 -6
- package/dist/commands/chat-menu.js.map +1 -1
- package/dist/commands/chat.d.ts +14 -0
- package/dist/commands/chat.js +32 -4
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/config.js +7 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/db-move.d.ts +204 -0
- package/dist/commands/db-move.js +890 -0
- package/dist/commands/db-move.js.map +1 -0
- package/dist/commands/db.d.ts +14 -3
- package/dist/commands/db.js +102 -67
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.js +13 -1
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev-up.d.ts +5 -0
- package/dist/commands/dev-up.js +29 -4
- package/dist/commands/dev-up.js.map +1 -1
- package/dist/commands/domains.js +48 -36
- package/dist/commands/domains.js.map +1 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.js +14 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/logs.js +18 -21
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/mobile.d.ts +26 -0
- package/dist/commands/mobile.js +344 -0
- package/dist/commands/mobile.js.map +1 -0
- package/dist/commands/ops.d.ts +3 -0
- package/dist/commands/ops.js +21 -0
- package/dist/commands/ops.js.map +1 -1
- package/dist/commands/promote.js +13 -32
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/schema.d.ts +4 -0
- package/dist/commands/schema.js +25 -16
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/smoke.d.ts +123 -0
- package/dist/commands/smoke.js +529 -0
- package/dist/commands/smoke.js.map +1 -0
- package/dist/commands/vm-memory.d.ts +53 -0
- package/dist/commands/vm-memory.js +307 -0
- package/dist/commands/vm-memory.js.map +1 -0
- package/dist/commands/webhooks.d.ts +2 -0
- package/dist/commands/webhooks.js +7 -0
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/index.js +351 -15
- package/dist/index.js.map +1 -1
- package/dist/lib/mobile-local/index.d.ts +7 -0
- package/dist/lib/mobile-local/index.js +7 -0
- package/dist/lib/mobile-local/index.js.map +1 -0
- package/dist/lib/mobile-local/mobile-json.d.ts +57 -0
- package/dist/lib/mobile-local/mobile-json.js +169 -0
- package/dist/lib/mobile-local/mobile-json.js.map +1 -0
- package/dist/lib/product-config.d.ts +5 -0
- package/dist/lib/product-config.js +37 -0
- package/dist/lib/product-config.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-move.js","sourceRoot":"","sources":["../../src/commands/db-move.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/db.d.ts
CHANGED
|
@@ -115,18 +115,29 @@ export interface DbBackupsOptions {
|
|
|
115
115
|
*/
|
|
116
116
|
export declare function runDbBackups(dbId: string, opts?: DbBackupsOptions): Promise<void>;
|
|
117
117
|
export interface DbRestoreOptions {
|
|
118
|
-
mfa
|
|
118
|
+
/** TOTP step-up MFA (canônico `--mfa-token`; alias oculto `--mfa`). */
|
|
119
|
+
mfa?: string;
|
|
120
|
+
/** `--backup-id`: escolhe o backup sem prompt. Obrigatório em `--json`. */
|
|
121
|
+
backupId?: string;
|
|
122
|
+
/** `--yes`: pula a confirmação textual "RESTAURAR". Obrigatório em `--json`. */
|
|
123
|
+
yes?: boolean;
|
|
119
124
|
json?: boolean;
|
|
120
125
|
}
|
|
121
126
|
/**
|
|
122
|
-
* Dispara um restore de banco a partir de um backup
|
|
127
|
+
* Dispara um restore de banco a partir de um backup.
|
|
123
128
|
*
|
|
124
|
-
* Fluxo:
|
|
129
|
+
* Fluxo interativo (TTY, sem flags):
|
|
125
130
|
* 1. Lista backups disponíveis via GET /api/cli/v1/db/[id]/backups
|
|
126
131
|
* 2. Operador escolhe qual backup restaurar
|
|
127
132
|
* 3. Exige confirmação textual "RESTAURAR" (operação destrutiva)
|
|
128
133
|
* 4. POST /api/cli/v1/db/[id]/restore com MFA step-up
|
|
129
134
|
*
|
|
135
|
+
* Automação / --json (auditoria UX 2026-09): o restore precisa ser scriptável.
|
|
136
|
+
* - `--backup-id <id>` pula o prompt de seleção (validado contra a lista).
|
|
137
|
+
* - `--yes` pula a confirmação textual.
|
|
138
|
+
* - Em `--json`, AMBOS (`--backup-id` e `--yes`) são OBRIGATÓRIOS e o inquirer
|
|
139
|
+
* é totalmente evitado (fail-closed) — nunca trava em CI/pipe.
|
|
140
|
+
*
|
|
130
141
|
* Endpoints implementados em:
|
|
131
142
|
* GET src/app/api/cli/v1/db/[id]/backups/route.ts
|
|
132
143
|
* POST src/app/api/cli/v1/db/[id]/restore/route.ts
|
package/dist/commands/db.js
CHANGED
|
@@ -34,10 +34,10 @@ import { readDbJson, writeDbJson, normalizeEnv, } from '../lib/db-local/index.js
|
|
|
34
34
|
import { safeExit } from '../utils/safe-exit.js';
|
|
35
35
|
import { runApplyPipeline, runExecSqlPipeline, buildPipelineDeps, isPipelineError, } from '../lib/db-pipeline/index.js';
|
|
36
36
|
import { resolveStepUp } from '../lib/cli-write.js';
|
|
37
|
+
import { loadProductConfig } from '../lib/product-config.js';
|
|
37
38
|
// ---------------------------------------------------------------------------
|
|
38
39
|
// Constantes e tipos locais
|
|
39
40
|
// ---------------------------------------------------------------------------
|
|
40
|
-
const CONFIG_FILES = ['neetru.config.json', '.neetru.json'];
|
|
41
41
|
/** Caminho canônico do registro local de bancos. */
|
|
42
42
|
const DB_JSON_REL = '.neetru/db.json';
|
|
43
43
|
/** Caminho default do arquivo de schema DrizzleORM do produto. */
|
|
@@ -101,24 +101,9 @@ function diagnoseMigrationError(rawError) {
|
|
|
101
101
|
// ---------------------------------------------------------------------------
|
|
102
102
|
// Helpers internos
|
|
103
103
|
// ---------------------------------------------------------------------------
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (!fsSync.existsSync(filePath))
|
|
108
|
-
continue;
|
|
109
|
-
try {
|
|
110
|
-
const raw = await fs.readFile(filePath, 'utf8');
|
|
111
|
-
const parsed = JSON.parse(raw);
|
|
112
|
-
if (typeof parsed.slug !== 'string' || !parsed.slug)
|
|
113
|
-
return null;
|
|
114
|
-
return parsed;
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
104
|
+
// loadProductConfig (lê neetru.config.json/.neetru.json) extraído para
|
|
105
|
+
// ../lib/product-config.js (2026-09, feature `neetru mobile`) — evita mais
|
|
106
|
+
// uma cópia duplicada; importado no topo do arquivo.
|
|
122
107
|
// handleApiError unificado em ../lib/api-error.js (auditoria qualidade 2026-06-20).
|
|
123
108
|
function statusColor(status) {
|
|
124
109
|
switch (status) {
|
|
@@ -352,8 +337,11 @@ export async function runDbInit(opts = {}) {
|
|
|
352
337
|
const dbJsonPath = path.resolve(cwd, DB_JSON_REL);
|
|
353
338
|
const dbJson = readDbJson(dbJsonPath);
|
|
354
339
|
// ── nome do banco ────────────────────────────────────────────────────────
|
|
340
|
+
// --json é não-interativo igual a --yes (o bloco de serverId abaixo já trata
|
|
341
|
+
// json assim): sem --name em --json/CI, usa o default em vez de travar no
|
|
342
|
+
// inquirer.
|
|
355
343
|
let dbName = opts.name;
|
|
356
|
-
if (!dbName && !opts.yes) {
|
|
344
|
+
if (!dbName && !opts.yes && !opts.json) {
|
|
357
345
|
const existing = dbJson.databases.map((d) => d.name);
|
|
358
346
|
const { n } = await inquirer.prompt([
|
|
359
347
|
{
|
|
@@ -407,7 +395,8 @@ export async function runDbInit(opts = {}) {
|
|
|
407
395
|
}
|
|
408
396
|
engine = opts.engine;
|
|
409
397
|
}
|
|
410
|
-
else if (opts.yes) {
|
|
398
|
+
else if (opts.yes || opts.json) {
|
|
399
|
+
// --json não-interativo: usa o default em vez de travar no inquirer.
|
|
411
400
|
engine = 'cloud-sql-postgres';
|
|
412
401
|
}
|
|
413
402
|
else {
|
|
@@ -1371,15 +1360,29 @@ export async function runDbBackups(dbId, opts = {}) {
|
|
|
1371
1360
|
{ header: 'GCS Path', value: (r) => r.gcsPath ?? '—', maxWidth: 60 },
|
|
1372
1361
|
], resp.backups);
|
|
1373
1362
|
}
|
|
1363
|
+
/** Falha json-aware de restore: emite {ok:false} no stdout em --json, senão texto humano; encerra com exit 1. */
|
|
1364
|
+
function restoreFail(json, error, message) {
|
|
1365
|
+
if (json)
|
|
1366
|
+
console.log(JSON.stringify({ ok: false, error, message }));
|
|
1367
|
+
else
|
|
1368
|
+
log.error(message);
|
|
1369
|
+
safeExit(1);
|
|
1370
|
+
}
|
|
1374
1371
|
/**
|
|
1375
|
-
* Dispara um restore de banco a partir de um backup
|
|
1372
|
+
* Dispara um restore de banco a partir de um backup.
|
|
1376
1373
|
*
|
|
1377
|
-
* Fluxo:
|
|
1374
|
+
* Fluxo interativo (TTY, sem flags):
|
|
1378
1375
|
* 1. Lista backups disponíveis via GET /api/cli/v1/db/[id]/backups
|
|
1379
1376
|
* 2. Operador escolhe qual backup restaurar
|
|
1380
1377
|
* 3. Exige confirmação textual "RESTAURAR" (operação destrutiva)
|
|
1381
1378
|
* 4. POST /api/cli/v1/db/[id]/restore com MFA step-up
|
|
1382
1379
|
*
|
|
1380
|
+
* Automação / --json (auditoria UX 2026-09): o restore precisa ser scriptável.
|
|
1381
|
+
* - `--backup-id <id>` pula o prompt de seleção (validado contra a lista).
|
|
1382
|
+
* - `--yes` pula a confirmação textual.
|
|
1383
|
+
* - Em `--json`, AMBOS (`--backup-id` e `--yes`) são OBRIGATÓRIOS e o inquirer
|
|
1384
|
+
* é totalmente evitado (fail-closed) — nunca trava em CI/pipe.
|
|
1385
|
+
*
|
|
1383
1386
|
* Endpoints implementados em:
|
|
1384
1387
|
* GET src/app/api/cli/v1/db/[id]/backups/route.ts
|
|
1385
1388
|
* POST src/app/api/cli/v1/db/[id]/restore/route.ts
|
|
@@ -1387,63 +1390,95 @@ export async function runDbBackups(dbId, opts = {}) {
|
|
|
1387
1390
|
export async function runDbRestore(dbId, opts) {
|
|
1388
1391
|
log.banner();
|
|
1389
1392
|
if (!dbId) {
|
|
1390
|
-
|
|
1391
|
-
safeExit(1);
|
|
1393
|
+
restoreFail(opts.json, 'invalid_input', '<dbId> é obrigatório.');
|
|
1392
1394
|
return;
|
|
1393
1395
|
}
|
|
1394
1396
|
if (!opts.mfa) {
|
|
1395
|
-
|
|
1396
|
-
safeExit(1);
|
|
1397
|
+
restoreFail(opts.json, 'mfa_required', '--mfa-token <token> é obrigatório para restaurar banco (operação destrutiva).');
|
|
1397
1398
|
return;
|
|
1398
1399
|
}
|
|
1399
|
-
//
|
|
1400
|
-
|
|
1400
|
+
// Fail-CLOSED em --json: sem TTY pra escolher backup ou digitar a confirmação,
|
|
1401
|
+
// então exige --backup-id e --yes explícitos (pula o inquirer, nunca trava).
|
|
1402
|
+
if (opts.json && !opts.backupId) {
|
|
1403
|
+
restoreFail(opts.json, 'backup_id_required', 'Em --json, --backup-id <id> é obrigatório (use `neetru db backups <dbId>` para listar).');
|
|
1404
|
+
return;
|
|
1405
|
+
}
|
|
1406
|
+
if (opts.json && !opts.yes) {
|
|
1407
|
+
restoreFail(opts.json, 'confirmation_required', 'Restore é destrutivo e irreversível: em --json exige --yes para confirmar.');
|
|
1408
|
+
return;
|
|
1409
|
+
}
|
|
1410
|
+
// 1. Lista backups disponíveis (valida --backup-id / alimenta o prompt).
|
|
1411
|
+
const spinnerList = opts.json
|
|
1412
|
+
? null
|
|
1413
|
+
: ora({ text: `Buscando backups do banco ${dbId}…`, color: 'blue' }).start();
|
|
1401
1414
|
let backupsResp;
|
|
1402
1415
|
try {
|
|
1403
1416
|
backupsResp = await apiRequest(`/api/cli/v1/db/${encodeURIComponent(dbId)}/backups`);
|
|
1404
|
-
spinnerList
|
|
1417
|
+
spinnerList?.stop();
|
|
1405
1418
|
}
|
|
1406
1419
|
catch (err) {
|
|
1407
|
-
spinnerList
|
|
1408
|
-
handleApiError(err);
|
|
1420
|
+
spinnerList?.fail('Falha ao buscar backups.');
|
|
1421
|
+
handleApiError(err, opts.json);
|
|
1409
1422
|
}
|
|
1410
1423
|
if (backupsResp.count === 0 || backupsResp.backups.length === 0) {
|
|
1411
|
-
|
|
1424
|
+
if (opts.json) {
|
|
1425
|
+
console.log(JSON.stringify({ ok: false, error: 'no_backups', message: 'Nenhum backup disponível para este banco.' }));
|
|
1426
|
+
}
|
|
1427
|
+
else {
|
|
1428
|
+
log.warn('Nenhum backup disponível para este banco.');
|
|
1429
|
+
}
|
|
1412
1430
|
safeExit(0);
|
|
1413
1431
|
return;
|
|
1414
1432
|
}
|
|
1415
|
-
// 2.
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1433
|
+
// 2. Escolhe backup: --backup-id (validado) OU prompt interativo.
|
|
1434
|
+
let backupId;
|
|
1435
|
+
if (opts.backupId) {
|
|
1436
|
+
const exists = backupsResp.backups.find((b) => b.id === opts.backupId);
|
|
1437
|
+
if (!exists) {
|
|
1438
|
+
const ids = backupsResp.backups.map((b) => b.id).join(', ');
|
|
1439
|
+
restoreFail(opts.json, 'backup_not_found', `Backup "${opts.backupId}" não encontrado para o banco ${dbId}. Disponíveis: ${ids}`);
|
|
1440
|
+
return;
|
|
1441
|
+
}
|
|
1442
|
+
backupId = opts.backupId;
|
|
1443
|
+
}
|
|
1444
|
+
else {
|
|
1445
|
+
const ans = await inquirer.prompt([
|
|
1446
|
+
{
|
|
1447
|
+
type: 'list',
|
|
1448
|
+
name: 'backupId',
|
|
1449
|
+
message: 'Escolha o backup para restaurar:',
|
|
1450
|
+
choices: backupsResp.backups.map((b) => ({
|
|
1451
|
+
name: `${b.id} ${fmtTimestamp(b.timestamp)} ${b.sizeMb != null ? b.sizeMb + ' MB' : ''} ${statusColor(b.status)}`,
|
|
1452
|
+
value: b.id,
|
|
1453
|
+
})),
|
|
1454
|
+
},
|
|
1455
|
+
]);
|
|
1456
|
+
backupId = ans.backupId;
|
|
1457
|
+
}
|
|
1427
1458
|
const chosen = backupsResp.backups.find((b) => b.id === backupId);
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
{
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1459
|
+
// 3. Confirmação textual obrigatória — pulada com --yes (automação).
|
|
1460
|
+
if (!opts.yes) {
|
|
1461
|
+
log.warn('');
|
|
1462
|
+
log.warn(`ATENÇÃO: Restore de banco é destrutivo — o banco ${chalk.bold(dbId)} será sobrescrito`);
|
|
1463
|
+
log.warn(`pelo backup ${chalk.bold(backupId)} (${fmtTimestamp(chosen?.timestamp)}).`);
|
|
1464
|
+
log.warn('Esta operação NÃO pode ser desfeita.');
|
|
1465
|
+
log.warn('');
|
|
1466
|
+
const { confirmText } = await inquirer.prompt([
|
|
1467
|
+
{
|
|
1468
|
+
type: 'input',
|
|
1469
|
+
name: 'confirmText',
|
|
1470
|
+
message: `Digite ${chalk.bold('RESTAURAR')} para confirmar:`,
|
|
1471
|
+
},
|
|
1472
|
+
]);
|
|
1473
|
+
if (confirmText !== 'RESTAURAR') {
|
|
1474
|
+
log.dim('Operação cancelada.');
|
|
1475
|
+
return;
|
|
1476
|
+
}
|
|
1444
1477
|
}
|
|
1445
|
-
// 4. POST restore com MFA step-up
|
|
1446
|
-
const spinnerRestore =
|
|
1478
|
+
// 4. POST restore com MFA step-up.
|
|
1479
|
+
const spinnerRestore = opts.json
|
|
1480
|
+
? null
|
|
1481
|
+
: ora({ text: 'Disparando restore…', color: 'yellow' }).start();
|
|
1447
1482
|
let resp;
|
|
1448
1483
|
try {
|
|
1449
1484
|
resp = await apiRequest(`/api/cli/v1/db/${encodeURIComponent(dbId)}/restore`, {
|
|
@@ -1451,14 +1486,14 @@ export async function runDbRestore(dbId, opts) {
|
|
|
1451
1486
|
headers: { 'X-Neetru-MFA-Token': opts.mfa },
|
|
1452
1487
|
body: { backupId, dbId },
|
|
1453
1488
|
});
|
|
1454
|
-
spinnerRestore
|
|
1489
|
+
spinnerRestore?.succeed(`Restore iniciado — job ${chalk.bold(resp.jobId ?? '—')} · status: ${resp.status}`);
|
|
1455
1490
|
}
|
|
1456
1491
|
catch (err) {
|
|
1457
|
-
spinnerRestore
|
|
1458
|
-
handleApiError(err);
|
|
1492
|
+
spinnerRestore?.fail('Falha ao iniciar restore.');
|
|
1493
|
+
handleApiError(err, opts.json);
|
|
1459
1494
|
}
|
|
1460
1495
|
if (opts.json) {
|
|
1461
|
-
console.log(JSON.stringify(resp
|
|
1496
|
+
console.log(JSON.stringify(resp));
|
|
1462
1497
|
}
|
|
1463
1498
|
}
|
|
1464
1499
|
function dbDensityLabel(databases) {
|