@neetru/cli 2.28.6 → 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.
Files changed (77) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +23 -0
  3. package/dist/commands/admin/oidc-login.js +6 -3
  4. package/dist/commands/admin/oidc-login.js.map +1 -1
  5. package/dist/commands/admin/sdk-credential.js +11 -6
  6. package/dist/commands/admin/sdk-credential.js.map +1 -1
  7. package/dist/commands/agent-release.js +14 -27
  8. package/dist/commands/agent-release.js.map +1 -1
  9. package/dist/commands/ai-models.js +9 -4
  10. package/dist/commands/ai-models.js.map +1 -1
  11. package/dist/commands/archive.js +9 -2
  12. package/dist/commands/archive.js.map +1 -1
  13. package/dist/commands/auth.js +17 -2
  14. package/dist/commands/auth.js.map +1 -1
  15. package/dist/commands/autocomplete.d.ts +1 -1
  16. package/dist/commands/autocomplete.js +2 -0
  17. package/dist/commands/autocomplete.js.map +1 -1
  18. package/dist/commands/chat-menu.js +20 -6
  19. package/dist/commands/chat-menu.js.map +1 -1
  20. package/dist/commands/chat.d.ts +14 -0
  21. package/dist/commands/chat.js +32 -4
  22. package/dist/commands/chat.js.map +1 -1
  23. package/dist/commands/config.js +7 -0
  24. package/dist/commands/config.js.map +1 -1
  25. package/dist/commands/db-move.d.ts +204 -0
  26. package/dist/commands/db-move.js +890 -0
  27. package/dist/commands/db-move.js.map +1 -0
  28. package/dist/commands/db.d.ts +14 -3
  29. package/dist/commands/db.js +102 -67
  30. package/dist/commands/db.js.map +1 -1
  31. package/dist/commands/deploy.js +13 -1
  32. package/dist/commands/deploy.js.map +1 -1
  33. package/dist/commands/dev-up.d.ts +5 -0
  34. package/dist/commands/dev-up.js +29 -4
  35. package/dist/commands/dev-up.js.map +1 -1
  36. package/dist/commands/domains.js +48 -36
  37. package/dist/commands/domains.js.map +1 -1
  38. package/dist/commands/init.d.ts +0 -8
  39. package/dist/commands/init.js +14 -3
  40. package/dist/commands/init.js.map +1 -1
  41. package/dist/commands/logs.js +18 -21
  42. package/dist/commands/logs.js.map +1 -1
  43. package/dist/commands/mobile.d.ts +26 -0
  44. package/dist/commands/mobile.js +344 -0
  45. package/dist/commands/mobile.js.map +1 -0
  46. package/dist/commands/ops.d.ts +3 -0
  47. package/dist/commands/ops.js +21 -0
  48. package/dist/commands/ops.js.map +1 -1
  49. package/dist/commands/promote.js +13 -32
  50. package/dist/commands/promote.js.map +1 -1
  51. package/dist/commands/schema.d.ts +4 -0
  52. package/dist/commands/schema.js +25 -16
  53. package/dist/commands/schema.js.map +1 -1
  54. package/dist/commands/servers.d.ts +8 -6
  55. package/dist/commands/servers.js +11 -4
  56. package/dist/commands/servers.js.map +1 -1
  57. package/dist/commands/smoke.d.ts +123 -0
  58. package/dist/commands/smoke.js +529 -0
  59. package/dist/commands/smoke.js.map +1 -0
  60. package/dist/commands/vm-memory.d.ts +53 -0
  61. package/dist/commands/vm-memory.js +307 -0
  62. package/dist/commands/vm-memory.js.map +1 -0
  63. package/dist/commands/webhooks.d.ts +2 -0
  64. package/dist/commands/webhooks.js +7 -0
  65. package/dist/commands/webhooks.js.map +1 -1
  66. package/dist/index.js +360 -19
  67. package/dist/index.js.map +1 -1
  68. package/dist/lib/mobile-local/index.d.ts +7 -0
  69. package/dist/lib/mobile-local/index.js +7 -0
  70. package/dist/lib/mobile-local/index.js.map +1 -0
  71. package/dist/lib/mobile-local/mobile-json.d.ts +57 -0
  72. package/dist/lib/mobile-local/mobile-json.js +169 -0
  73. package/dist/lib/mobile-local/mobile-json.js.map +1 -0
  74. package/dist/lib/product-config.d.ts +5 -0
  75. package/dist/lib/product-config.js +37 -0
  76. package/dist/lib/product-config.js.map +1 -0
  77. 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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"}
@@ -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: string;
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 selecionado interativamente.
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
@@ -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
- async function loadProductConfig() {
105
- for (const name of CONFIG_FILES) {
106
- const filePath = path.resolve(process.cwd(), name);
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 selecionado interativamente.
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
- log.error('<dbId> é obrigatório.');
1391
- safeExit(1);
1393
+ restoreFail(opts.json, 'invalid_input', '<dbId> é obrigatório.');
1392
1394
  return;
1393
1395
  }
1394
1396
  if (!opts.mfa) {
1395
- log.error('--mfa <token> é obrigatório para restaurar banco (operação destrutiva).');
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
- // 1. Lista backups disponíveis
1400
- const spinnerList = ora({ text: `Buscando backups do banco ${dbId}…`, color: 'blue' }).start();
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.stop();
1417
+ spinnerList?.stop();
1405
1418
  }
1406
1419
  catch (err) {
1407
- spinnerList.fail('Falha ao buscar backups.');
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
- log.warn('Nenhum backup disponível para este banco.');
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. Operador escolhe backup
1416
- const { backupId } = await inquirer.prompt([
1417
- {
1418
- type: 'list',
1419
- name: 'backupId',
1420
- message: 'Escolha o backup para restaurar:',
1421
- choices: backupsResp.backups.map((b) => ({
1422
- name: `${b.id} ${fmtTimestamp(b.timestamp)} ${b.sizeMb != null ? b.sizeMb + ' MB' : ''} ${statusColor(b.status)}`,
1423
- value: b.id,
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
- log.warn('');
1429
- log.warn(`ATENÇÃO: Restore de banco é destrutivo — o banco ${chalk.bold(dbId)} será sobrescrito`);
1430
- log.warn(`pelo backup ${chalk.bold(backupId)} (${fmtTimestamp(chosen?.timestamp)}).`);
1431
- log.warn('Esta operação NÃO pode ser desfeita.');
1432
- log.warn('');
1433
- // 3. Confirmação textual obrigatória
1434
- const { confirmText } = await inquirer.prompt([
1435
- {
1436
- type: 'input',
1437
- name: 'confirmText',
1438
- message: `Digite ${chalk.bold('RESTAURAR')} para confirmar:`,
1439
- },
1440
- ]);
1441
- if (confirmText !== 'RESTAURAR') {
1442
- log.dim('Operação cancelada.');
1443
- return;
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 = ora({ text: 'Disparando restore…', color: 'yellow' }).start();
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.succeed(`Restore iniciado — job ${chalk.bold(resp.jobId ?? '—')} · status: ${resp.status}`);
1489
+ spinnerRestore?.succeed(`Restore iniciado — job ${chalk.bold(resp.jobId ?? '—')} · status: ${resp.status}`);
1455
1490
  }
1456
1491
  catch (err) {
1457
- spinnerRestore.fail('Falha ao iniciar restore.');
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, null, 2));
1496
+ console.log(JSON.stringify(resp));
1462
1497
  }
1463
1498
  }
1464
1499
  function dbDensityLabel(databases) {