@formigio/fazemos-cli 0.10.67 → 0.10.75
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/approvals.d.ts +1 -1
- package/dist/approvals.js +50 -19
- package/dist/approvals.js.map +1 -1
- package/dist/commands/preflight.d.ts +41 -0
- package/dist/commands/preflight.js +706 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/provision.d.ts +29 -0
- package/dist/commands/provision.js +382 -0
- package/dist/commands/provision.js.map +1 -0
- package/dist/index.js +124 -5
- package/dist/index.js.map +1 -1
- package/dist/pause.js +42 -11
- package/dist/pause.js.map +1 -1
- package/dist/preflight/repoRead.d.ts +65 -0
- package/dist/preflight/repoRead.js +194 -0
- package/dist/preflight/repoRead.js.map +1 -0
- package/dist/preflight/roster.d.ts +65 -0
- package/dist/preflight/roster.js +153 -0
- package/dist/preflight/roster.js.map +1 -0
- package/dist/preflight/row1_member.d.ts +8 -0
- package/dist/preflight/row1_member.js +64 -0
- package/dist/preflight/row1_member.js.map +1 -0
- package/dist/preflight/row2_roleRegistration.d.ts +18 -0
- package/dist/preflight/row2_roleRegistration.js +156 -0
- package/dist/preflight/row2_roleRegistration.js.map +1 -0
- package/dist/preflight/row3_persona.d.ts +24 -0
- package/dist/preflight/row3_persona.js +92 -0
- package/dist/preflight/row3_persona.js.map +1 -0
- package/dist/preflight/row3_playbook.d.ts +30 -0
- package/dist/preflight/row3_playbook.js +142 -0
- package/dist/preflight/row3_playbook.js.map +1 -0
- package/dist/preflight/row3_rolesJson.d.ts +12 -0
- package/dist/preflight/row3_rolesJson.js +38 -0
- package/dist/preflight/row3_rolesJson.js.map +1 -0
- package/dist/preflight/row3_workspace.d.ts +24 -0
- package/dist/preflight/row3_workspace.js +253 -0
- package/dist/preflight/row3_workspace.js.map +1 -0
- package/dist/preflight/row4_ssm.d.ts +57 -0
- package/dist/preflight/row4_ssm.js +235 -0
- package/dist/preflight/row4_ssm.js.map +1 -0
- package/dist/preflight/row5_workerLambdaWakeConfig.d.ts +20 -0
- package/dist/preflight/row5_workerLambdaWakeConfig.js +113 -0
- package/dist/preflight/row5_workerLambdaWakeConfig.js.map +1 -0
- package/dist/preflight/row6_ingest.d.ts +20 -0
- package/dist/preflight/row6_ingest.js +178 -0
- package/dist/preflight/row6_ingest.js.map +1 -0
- package/dist/preflight/schema.d.ts +175 -0
- package/dist/preflight/schema.js +62 -0
- package/dist/preflight/schema.js.map +1 -0
- package/dist/preflight/workerLambdas.d.ts +22 -0
- package/dist/preflight/workerLambdas.js +25 -0
- package/dist/preflight/workerLambdas.js.map +1 -0
- package/package.json +1 -1
package/dist/approvals.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* → GET /api/control-plane/approvals
|
|
10
10
|
* Returns pending approval gates for the active org.
|
|
11
11
|
*
|
|
12
|
-
* fazemos approvals resolve <id> --decision
|
|
12
|
+
* fazemos approvals resolve <id> --decision approved|rejected --reason <text> [--json]
|
|
13
13
|
* → POST /api/control-plane/approvals/:id/resolve
|
|
14
14
|
* Resolves an approval gate; sends surface='cli' for audit trail.
|
|
15
15
|
* --reason is mandatory (min 4 chars) — this is the CLI typed-token
|
package/dist/approvals.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* → GET /api/control-plane/approvals
|
|
10
10
|
* Returns pending approval gates for the active org.
|
|
11
11
|
*
|
|
12
|
-
* fazemos approvals resolve <id> --decision
|
|
12
|
+
* fazemos approvals resolve <id> --decision approved|rejected --reason <text> [--json]
|
|
13
13
|
* → POST /api/control-plane/approvals/:id/resolve
|
|
14
14
|
* Resolves an approval gate; sends surface='cli' for audit trail.
|
|
15
15
|
* --reason is mandatory (min 4 chars) — this is the CLI typed-token
|
|
@@ -33,10 +33,15 @@ import { api, ApiError, resolveProjectIdBySlug } from './api.js';
|
|
|
33
33
|
* Throws a user-facing error otherwise.
|
|
34
34
|
*/
|
|
35
35
|
function validateDecision(value) {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
// Accept the natural verbs as aliases so existing muscle memory and scripts
|
|
37
|
+
// keep working, but send what the API validates.
|
|
38
|
+
const normalized = value === 'approve' || value === 'approved' ? 'approved' :
|
|
39
|
+
value === 'reject' || value === 'rejected' ? 'rejected' :
|
|
40
|
+
null;
|
|
41
|
+
if (!normalized) {
|
|
42
|
+
throw new Error(`--decision must be 'approved' or 'rejected', got: ${value}`);
|
|
38
43
|
}
|
|
39
|
-
return
|
|
44
|
+
return normalized;
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
42
47
|
* Validate that --reason meets the minimum length requirement (4 chars).
|
|
@@ -212,7 +217,7 @@ export function registerApprovalsCommands(program) {
|
|
|
212
217
|
' 0 — resolved successfully\n' +
|
|
213
218
|
' 1 — validation error (missing/invalid flag) or API error (see error message)')
|
|
214
219
|
.argument('<id>', 'Approval gate ID (UUID)')
|
|
215
|
-
.requiredOption('--decision <
|
|
220
|
+
.requiredOption('--decision <approved|rejected>', "Decision: 'approved' or 'rejected' ('approve'/'reject' accepted as aliases)")
|
|
216
221
|
.requiredOption('--reason <text>', 'Reason for the decision (min 4 chars; recorded in audit trail)')
|
|
217
222
|
.option('--json', 'output machine-readable JSON (raw API response)')
|
|
218
223
|
.action(async (id, opts) => {
|
|
@@ -223,12 +228,13 @@ export function registerApprovalsCommands(program) {
|
|
|
223
228
|
const decision = validateDecision(opts.decision);
|
|
224
229
|
const reason = validateReason(opts.reason);
|
|
225
230
|
// ── POST /api/control-plane/approvals/:id/resolve ──────────────────
|
|
226
|
-
// Body
|
|
227
|
-
//
|
|
231
|
+
// Body keys must match what the route destructures: it reads
|
|
232
|
+
// `body.reason` (NOT reason_note), so the mandatory audit reason was
|
|
233
|
+
// being silently dropped and a reject 400'd with REASON_REQUIRED.
|
|
228
234
|
// surface='cli' propagates to via='cli' in the audit trail.
|
|
229
235
|
const body = {
|
|
230
236
|
decision,
|
|
231
|
-
|
|
237
|
+
reason,
|
|
232
238
|
surface: 'cli',
|
|
233
239
|
};
|
|
234
240
|
const data = await api('POST', `/api/control-plane/approvals/${encodeURIComponent(id)}/resolve`, body, { noProjectHeader: true });
|
|
@@ -237,18 +243,36 @@ export function registerApprovalsCommands(program) {
|
|
|
237
243
|
return;
|
|
238
244
|
}
|
|
239
245
|
// ── Human output ───────────────────────────────────────────────────
|
|
240
|
-
const decisionLabel = decision === '
|
|
246
|
+
const decisionLabel = decision === 'approved'
|
|
241
247
|
? chalk.green('approved')
|
|
242
248
|
: chalk.red('rejected');
|
|
249
|
+
const req = data.request;
|
|
250
|
+
// already_resolved is a 200, not an error — the API is idempotent here.
|
|
251
|
+
if (data.already_resolved) {
|
|
252
|
+
console.log(chalk.yellow('Gate was already resolved — nothing changed.'));
|
|
253
|
+
console.log();
|
|
254
|
+
console.log(` id: ${chalk.dim(req?.id ?? id)}`);
|
|
255
|
+
console.log(` status: ${chalk.dim(req?.status ?? '?')}`);
|
|
256
|
+
if (req?.resolved_at) {
|
|
257
|
+
console.log(` resolved_at: ${chalk.dim(new Date(req.resolved_at).toLocaleString())}`);
|
|
258
|
+
}
|
|
259
|
+
if (req?.resolved_via)
|
|
260
|
+
console.log(` via: ${chalk.dim(req.resolved_via)}`);
|
|
261
|
+
console.log();
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
243
264
|
console.log(chalk.bold(`Approval ${decisionLabel}`));
|
|
244
265
|
console.log();
|
|
245
|
-
console.log(` id: ${chalk.dim(
|
|
266
|
+
console.log(` id: ${chalk.dim(req?.id ?? id)}`);
|
|
246
267
|
console.log(` decision: ${decisionLabel}`);
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
if (
|
|
250
|
-
console.log();
|
|
251
|
-
|
|
268
|
+
if (req?.resolved_via)
|
|
269
|
+
console.log(` via: ${chalk.dim(req.resolved_via)}`);
|
|
270
|
+
if (req?.resolved_at) {
|
|
271
|
+
console.log(` resolved_at: ${new Date(req.resolved_at).toLocaleString()}`);
|
|
272
|
+
}
|
|
273
|
+
console.log(` pipeline: ${data.pipeline_resumed ? chalk.cyan('resumed') : chalk.dim('not resumed')}`);
|
|
274
|
+
if (data.denied_path_applied) {
|
|
275
|
+
console.log(` denied_path: ${chalk.yellow(data.denied_path_applied)}`);
|
|
252
276
|
}
|
|
253
277
|
console.log();
|
|
254
278
|
}
|
|
@@ -260,11 +284,18 @@ export function registerApprovalsCommands(program) {
|
|
|
260
284
|
if (err.code) {
|
|
261
285
|
console.error(chalk.dim(` code: ${err.code}`));
|
|
262
286
|
}
|
|
263
|
-
|
|
264
|
-
|
|
287
|
+
// Codes the API actually emits. The previous branches keyed on
|
|
288
|
+
// APPROVAL_ALREADY_RESOLVED / REJECT_REQUIRES_REASON, neither of
|
|
289
|
+
// which exists server-side (an already-resolved gate is a 200 with
|
|
290
|
+
// already_resolved:true, handled above).
|
|
291
|
+
if (err.code === 'REASON_REQUIRED') {
|
|
292
|
+
console.error(chalk.dim(' A reason is required when rejecting. Pass --reason "<text>".'));
|
|
293
|
+
}
|
|
294
|
+
else if (err.code === 'INVALID_DECISION') {
|
|
295
|
+
console.error(chalk.dim(" --decision must be 'approved' or 'rejected'."));
|
|
265
296
|
}
|
|
266
|
-
else if (err.code === '
|
|
267
|
-
console.error(chalk.dim('
|
|
297
|
+
else if (err.code === 'APPROVER_ROLE_REQUIRED') {
|
|
298
|
+
console.error(chalk.dim(' You do not hold the approver role for this gate in its org.'));
|
|
268
299
|
}
|
|
269
300
|
}
|
|
270
301
|
else {
|
package/dist/approvals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F53 — `fazemos agents preflight <target>`
|
|
3
|
+
*
|
|
4
|
+
* 6-row PASS/FAIL/SKIP/TOOLING-ERROR/XWS_DEFERRED verifier for agent provisioning.
|
|
5
|
+
* Non-zero exit on FAIL (1), TOOLING-ERROR (2), or XWS_DEFERRED (3).
|
|
6
|
+
*
|
|
7
|
+
* Target forms:
|
|
8
|
+
* <org>/<project>/<role> — single project row-set
|
|
9
|
+
* <org>/<project> — fan-out all declared roles for a project
|
|
10
|
+
* <org>/<role> — fan-out all declared projects for a role
|
|
11
|
+
*
|
|
12
|
+
* Spec: projects/fazemos/specs/tech/platform/F53-agent-provision-tooling-tech-spec.md
|
|
13
|
+
*/
|
|
14
|
+
interface RunOptions {
|
|
15
|
+
json?: boolean;
|
|
16
|
+
workspace?: string;
|
|
17
|
+
env?: string;
|
|
18
|
+
region?: string;
|
|
19
|
+
}
|
|
20
|
+
interface TargetParts {
|
|
21
|
+
form: 'single' | 'fan-out-project' | 'fan-out-role';
|
|
22
|
+
orgSlug: string;
|
|
23
|
+
projectSlug?: string;
|
|
24
|
+
roleSlug?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse <target> into its components.
|
|
28
|
+
* Disambiguation of 2-segment form uses the roster:
|
|
29
|
+
* - If segment[1] matches a role_slug in the roster → fan-out-role
|
|
30
|
+
* - Otherwise → fan-out-project
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseTarget(target: string, roster?: {
|
|
33
|
+
declared_here: Array<{
|
|
34
|
+
role_slug: string;
|
|
35
|
+
}>;
|
|
36
|
+
declared_cross_workspace: Array<{
|
|
37
|
+
role_slug: string;
|
|
38
|
+
}>;
|
|
39
|
+
}): TargetParts | null;
|
|
40
|
+
export declare function runPreflight(target: string, opts: RunOptions): Promise<number>;
|
|
41
|
+
export {};
|