@neetru/cli 2.12.22 → 2.12.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.
@@ -17,8 +17,10 @@ import * as fs from 'node:fs/promises';
17
17
  import * as fsSync from 'node:fs';
18
18
  import * as path from 'node:path';
19
19
  import chalk from 'chalk';
20
+ import ora from 'ora';
20
21
  import { log } from '../utils/logger.js';
21
22
  import { apiRequest, CliApiError, CliNetworkError } from '../lib/api-client.js';
23
+ import { requireToken, handleApiError, confirmDestructive, resolveStepUp, printWriteResult, } from '../lib/cli-write.js';
22
24
  import { safeExit } from '../utils/safe-exit.js';
23
25
  const CONFIG_FILENAMES = ['neetru.config.json', '.neetru.json'];
24
26
  const VALID_ENVS = ['dev', 'staging', 'prod'];
@@ -112,4 +114,121 @@ export async function runPromote(opts) {
112
114
  safeExit(7);
113
115
  }
114
116
  }
117
+ /** Renderiza uma reprovação de gate (não é erro genérico — orienta o próximo passo). */
118
+ function renderGateFailed(opts, serverMessage, reasons) {
119
+ const reasonLines = reasons && reasons.length > 0
120
+ ? reasons.map((r) => ` • ${r}`).join('\n')
121
+ : ' • (o Core não detalhou os critérios — cheque em /observability/promotions)';
122
+ const human = `Gate de promoção REPROVADO: ${serverMessage}\n` +
123
+ `A promoção NÃO foi aplicada. Critérios reprovados:\n${reasonLines}\n` +
124
+ `Acompanhe em https://core.neetru.com/observability/promotions.\n` +
125
+ (opts.forceOverride
126
+ ? `Você já passou --force-override e o gate ainda barrou — trate os critérios acima antes de reenviar.`
127
+ : `Se você tem autoridade de admin pra forçar, reenvie com --force-override (BYPASSA o gate).`);
128
+ if (opts.json) {
129
+ console.log(JSON.stringify({ ok: false, error: 'promotion_gate_failed', message: serverMessage, reasons: reasons ?? [] }));
130
+ }
131
+ else {
132
+ log.error(human);
133
+ }
134
+ safeExit(4);
135
+ }
136
+ export async function runPromoteExecute(opts) {
137
+ if (!opts.json)
138
+ log.banner();
139
+ if (!opts.from || !opts.to) {
140
+ const msg = '--from e --to são obrigatórios. Ex: neetru promote execute --from=staging --to=prod --product=<slug> --mfa-token=<TOTP>';
141
+ if (opts.json)
142
+ console.log(JSON.stringify({ ok: false, error: 'missing_env', message: msg }));
143
+ else
144
+ log.error(msg);
145
+ safeExit(1);
146
+ return;
147
+ }
148
+ if (!isValidEnv(opts.from)) {
149
+ const msg = `--from inválido. Use: ${VALID_ENVS.join(' | ')}`;
150
+ if (opts.json)
151
+ console.log(JSON.stringify({ ok: false, error: 'invalid_env', message: msg }));
152
+ else
153
+ log.error(msg);
154
+ safeExit(2);
155
+ return;
156
+ }
157
+ if (!isValidEnv(opts.to)) {
158
+ const msg = `--to inválido. Use: ${VALID_ENVS.join(' | ')}`;
159
+ if (opts.json)
160
+ console.log(JSON.stringify({ ok: false, error: 'invalid_env', message: msg }));
161
+ else
162
+ log.error(msg);
163
+ safeExit(2);
164
+ return;
165
+ }
166
+ // Produto: --product-id tem prioridade; senão --product (slug); senão slug do config.
167
+ let productId = opts.productId;
168
+ let productSlug = opts.product;
169
+ if (!productId && !productSlug) {
170
+ const cfg = await loadProductConfig();
171
+ if (!cfg) {
172
+ const msg = 'Produto não informado: passe --product <slug> ou --product-id <id>, ' +
173
+ 'ou rode dentro de um projeto com neetru.config.json.';
174
+ if (opts.json)
175
+ console.log(JSON.stringify({ ok: false, error: 'missing_product', message: msg }));
176
+ else
177
+ log.error(msg);
178
+ safeExit(3);
179
+ return;
180
+ }
181
+ productSlug = cfg.slug;
182
+ }
183
+ const productLabel = productId ?? productSlug;
184
+ const token = await requireToken(opts.json);
185
+ await confirmDestructive(`Promover ${productLabel}: ${opts.from} → ${opts.to}` +
186
+ (opts.forceOverride ? ' [FORCE-OVERRIDE: bypassa o gate de promoção]' : '') +
187
+ '. A promoção é aplicada no ambiente de destino.', opts);
188
+ const { headers } = await resolveStepUp(opts);
189
+ const spinner = opts.json
190
+ ? null
191
+ : ora({ text: `Promovendo ${productLabel} (${opts.from} → ${opts.to})…`, color: 'blue' }).start();
192
+ const body = { fromEnv: opts.from, toEnv: opts.to };
193
+ if (productId)
194
+ body.productId = productId;
195
+ else
196
+ body.productSlug = productSlug;
197
+ if (opts.forceOverride)
198
+ body.forceOverride = true;
199
+ let res;
200
+ try {
201
+ res = await apiRequest(`/api/cli/v1/promotion/promote${opts.dryRun ? '?dryRun=true' : ''}`, { method: 'POST', token, headers, body });
202
+ spinner?.stop();
203
+ }
204
+ catch (err) {
205
+ spinner?.fail('Falha na promoção.');
206
+ // Gate reprovado → 409. Renderiza o motivo, não um erro genérico.
207
+ if (err instanceof CliApiError && err.status === 409) {
208
+ renderGateFailed(opts, err.message);
209
+ return;
210
+ }
211
+ handleApiError(err, opts.json);
212
+ return;
213
+ }
214
+ if (!res)
215
+ return;
216
+ // Alguns backends devolvem 200 com status='gate_failed' (gate soft) em vez de 409.
217
+ if (res.status === 'gate_failed' || res.gate?.passed === false) {
218
+ renderGateFailed(opts, 'gate de promoção reprovado', res.gate?.reasons);
219
+ return;
220
+ }
221
+ printWriteResult({
222
+ promotionId: res.promotionId,
223
+ productId: res.productId ?? productId,
224
+ productSlug: res.productSlug ?? productSlug,
225
+ fromEnv: res.fromEnv,
226
+ toEnv: res.toEnv,
227
+ status: res.status,
228
+ revision: res.revision,
229
+ dryRun: opts.dryRun,
230
+ wouldApply: opts.dryRun ? { fromEnv: opts.from, toEnv: opts.to } : undefined,
231
+ }, `Promoção aplicada: ${productLabel} ${chalk.bold(opts.from)} → ${chalk.bold(opts.to)} ` +
232
+ `(status: ${res.status})${res.promotionId ? ` — id ${res.promotionId}` : ''}`, opts.json);
233
+ }
115
234
  //# sourceMappingURL=promote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promote.js","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"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"}
@@ -339,6 +339,18 @@ export async function runServersForceCleanup(id, opts) {
339
339
  const token = await requireToken(opts.json);
340
340
  // Double-confirm — não usa MFA mas exige usuário digitar o sentinel.
341
341
  if (!opts.yes) {
342
+ // bug #14 (caça-bruxas 2026-06-30): em --json ou terminal SEM TTY (CI, pipe)
343
+ // não dá pra promptar — o inquirer trava/quebra sem stdin interativo. Em modo
344
+ // não-interativo a confirmação destrutiva TEM que ser explícita via --yes;
345
+ // falha-fechado com erro claro (stderr, --json-safe) em vez de pendurar.
346
+ const interactive = !opts.json && process.stdin.isTTY === true;
347
+ if (!interactive) {
348
+ log.error(opts.json
349
+ ? 'force-cleanup é destrutivo: requer --yes em modo --json/não-interativo.'
350
+ : 'force-cleanup é destrutivo: requer --yes em terminal não-interativo (sem TTY).');
351
+ safeExit(1);
352
+ return;
353
+ }
342
354
  console.log(chalk.yellow.bold('\n⚠ FORCE-CLEANUP é IRREVERSÍVEL e BYPASSA MFA.'));
343
355
  console.log(chalk.dim(' Server stuck em provisioning/timeout que está bloqueando o pipeline.'));
344
356
  console.log(chalk.dim(' Audit pesado + notification all staff serão gerados.\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/commands/servers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/commands/servers.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@
7
7
  */
8
8
  import chalk from 'chalk';
9
9
  import { resolveToken } from '../lib/cli-read.js';
10
- import { apiRequest, CliApiError, CliNetworkError } from '../lib/api-client.js';
10
+ import { apiRequest } from '../lib/api-client.js';
11
+ import { handleApiError } from '../lib/api-error.js';
11
12
  import { log } from '../utils/logger.js';
12
13
  import { safeExit } from '../utils/safe-exit.js';
13
14
  // MASTER-HIGH-048 (2.11.0): `resolveToken` agora vem de cli-read.ts —
@@ -34,32 +35,9 @@ export async function runWhoami(opts = {}) {
34
35
  console.log(` ${chalk.dim('keyId')} ${me.keyId}`);
35
36
  }
36
37
  catch (error) {
37
- if (error instanceof CliApiError) {
38
- if (error.status === 401 || error.status === 403) {
39
- if (opts.json)
40
- console.log(JSON.stringify({ ok: false, error: 'invalid_token' }));
41
- else
42
- log.error('Token inválido ou revogado. Execute: neetru login');
43
- safeExit(1);
44
- }
45
- if (opts.json)
46
- console.log(JSON.stringify({ ok: false, error: error.code, status: error.status, message: error.message }));
47
- else
48
- log.error(`${error.status}: ${error.message}`);
49
- safeExit(2);
50
- }
51
- if (error instanceof CliNetworkError) {
52
- if (opts.json)
53
- console.log(JSON.stringify({ ok: false, error: 'network', message: error.message }));
54
- else
55
- log.error(error.message);
56
- safeExit(2);
57
- }
58
- if (opts.json)
59
- console.log(JSON.stringify({ ok: false, error: 'unknown', message: error.message }));
60
- else
61
- log.error(error.message);
62
- safeExit(2);
38
+ // bug exit-codes: 401/403 davam exit 1 (divergente). Roteia pro handleApiError
39
+ // canônico (401→2, 403→3, 4xx→1, 5xx/rede/unknown→4) fonte única.
40
+ handleApiError(error, opts.json);
63
41
  }
64
42
  }
65
43
  //# sourceMappingURL=whoami.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAajD,sEAAsE;AACtE,kEAAkE;AAElE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB,EAAE;IACtD,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;;YAC/E,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAiB,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+EAA+E;QAC/E,oEAAoE;QACpE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -1687,11 +1687,20 @@ program
1687
1687
  // 404 silencioso desde a Sprint 10. Reintroduzir quando/se a feature
1688
1688
  // for de fato construída server-side.
1689
1689
  // ── neetru promote ────────────────────────────────────────────────────
1690
- program
1690
+ // GRUPO (sem action própria — commander mistura mal action+subcomando). Dois modos:
1691
+ // • `neetru promote request` (DEFAULT — `neetru promote --from …` cai aqui) =
1692
+ // ABRE um pedido de promoção (aprovação staff) via /promotion/request.
1693
+ // • `neetru promote execute` = APLICA a promoção gated e imediata via
1694
+ // /promotion/promote (destrutivo: requireCliAuth + role admin|operator +
1695
+ // escopo de produto + step-up MFA; gate reprovado → 409).
1696
+ const promoteCmd = program
1691
1697
  .command('promote')
1692
- .description('Solicitar promotion entre ambientes (staff-gated)')
1693
- .requiredOption('--from <env>', 'dev | workspace | beta | prod')
1694
- .requiredOption('--to <env>', 'dev | workspace | beta | prod')
1698
+ .description('Promover produto entre ambientes (request = pedido de aprovação; execute = aplicar gated)');
1699
+ promoteCmd
1700
+ .command('request', { isDefault: true })
1701
+ .description('Abrir pedido de promoção (aprovação staff) — POST /api/cli/v1/promotion/request')
1702
+ .requiredOption('--from <env>', 'dev | staging | prod')
1703
+ .requiredOption('--to <env>', 'dev | staging | prod')
1695
1704
  .option('--product <slug>', 'override do slug do neetru.config.json')
1696
1705
  .option('--reason <text>', 'razão livre da promotion')
1697
1706
  .option('--from-revision <rev>', 'revisão Cloud Run atual (rollback target)')
@@ -1707,6 +1716,36 @@ program
1707
1716
  toRevision: opts.toRevision,
1708
1717
  });
1709
1718
  });
1719
+ // ── neetru promote execute ────────────────────────────────────────────
1720
+ // Promoção GATED + IMEDIATA. POST /api/cli/v1/promotion/promote — destrutivo:
1721
+ // requireCliAuth + role admin|operator + escopo de produto + step-up MFA.
1722
+ // Gate reprovado → 409. Espelha `neetru dr restore` / `neetru db restore`.
1723
+ promoteCmd
1724
+ .command('execute')
1725
+ .description('Aplicar promoção gated entre ambientes com step-up MFA (POST /api/cli/v1/promotion/promote)')
1726
+ .requiredOption('--from <env>', 'ambiente de origem (dev | staging | prod)')
1727
+ .requiredOption('--to <env>', 'ambiente de destino (dev | staging | prod)')
1728
+ .option('--product <slug>', 'slug do produto (ou pega do neetru.config.json)')
1729
+ .option('--product-id <id>', 'ID do produto (alternativa ao slug)')
1730
+ .option('--force-override', 'bypassa o gate de promoção (exige autoridade admin)')
1731
+ .option('--mfa-token <code>', 'código TOTP step-up MFA (obrigatório em terminal não-interativo)')
1732
+ .option('--yes', 'pula a confirmação interativa (modo script/CI)')
1733
+ .option('--dry-run', 'valida e retorna o efeito SEM aplicar')
1734
+ .option('--json', 'saída em JSON')
1735
+ .action(async (opts) => {
1736
+ const { runPromoteExecute } = await import('./commands/promote.js');
1737
+ await runPromoteExecute({
1738
+ from: opts.from,
1739
+ to: opts.to,
1740
+ product: opts.product,
1741
+ productId: opts.productId,
1742
+ forceOverride: !!opts.forceOverride,
1743
+ mfaToken: opts.mfaToken,
1744
+ yes: !!opts.yes,
1745
+ dryRun: !!opts.dryRun,
1746
+ json: !!opts.json,
1747
+ });
1748
+ });
1710
1749
  // ── neetru doctor ─────────────────────────────────────────────────────
1711
1750
  program
1712
1751
  .command('doctor')