@formigio/fazemos-cli 0.10.74 → 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/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/pause.js +42 -11
- package/dist/pause.js.map +1 -1
- package/package.json +1 -1
package/dist/pause.js
CHANGED
|
@@ -33,17 +33,26 @@ import { api } from './api.js';
|
|
|
33
33
|
* (both) → error: mutually exclusive
|
|
34
34
|
*/
|
|
35
35
|
function resolveScope(opts) {
|
|
36
|
-
|
|
36
|
+
// Test for PRESENCE, not truthiness. `--role ""` (the standard agent idiom
|
|
37
|
+
// `--role "$ROLE"` with an unset shell variable) yields '', which is falsy —
|
|
38
|
+
// so the old `if (opts.role)` skipped the branch entirely, the empty-string
|
|
39
|
+
// guard below was unreachable, and control fell through to `scope: 'global'`.
|
|
40
|
+
// A typo'd variable silently escalated a per-role pause into an ORG-WIDE one.
|
|
41
|
+
const hasRole = opts.role !== undefined;
|
|
42
|
+
const hasStream = opts.stream !== undefined;
|
|
43
|
+
if (hasRole && hasStream) {
|
|
37
44
|
throw new Error('--role and --stream are mutually exclusive; specify at most one.');
|
|
38
45
|
}
|
|
39
|
-
if (
|
|
40
|
-
if (!opts.role.trim())
|
|
41
|
-
throw new Error('--role
|
|
46
|
+
if (hasRole) {
|
|
47
|
+
if (!opts.role.trim()) {
|
|
48
|
+
throw new Error('--role was given an empty value. Omit --role for a global pause.');
|
|
49
|
+
}
|
|
42
50
|
return { scope: 'role', scope_key: opts.role.trim().toLowerCase() };
|
|
43
51
|
}
|
|
44
|
-
if (
|
|
45
|
-
if (!opts.stream.trim())
|
|
46
|
-
throw new Error('--stream
|
|
52
|
+
if (hasStream) {
|
|
53
|
+
if (!opts.stream.trim()) {
|
|
54
|
+
throw new Error('--stream was given an empty value. Omit --stream for a global pause.');
|
|
55
|
+
}
|
|
47
56
|
return { scope: 'stream', scope_key: opts.stream.trim() };
|
|
48
57
|
}
|
|
49
58
|
return { scope: 'global' };
|
|
@@ -83,12 +92,26 @@ export function registerPauseCommands(program) {
|
|
|
83
92
|
'Requires admin or owner role. --reason is mandatory (audit trail).')
|
|
84
93
|
.option('--role <slug>', 'pause a specific agent role (lower-cased role-slug)')
|
|
85
94
|
.option('--stream <pipeline-instance-id>', 'pause a specific pipeline instance stream')
|
|
86
|
-
|
|
95
|
+
// NOT requiredOption: commander checks ancestors for missing mandatory
|
|
96
|
+
// options, so a required --reason here fires on `fazemos pause status`
|
|
97
|
+
// too — the documented read path errored out demanding a value it then
|
|
98
|
+
// discarded. Enforced in the action instead.
|
|
99
|
+
.option('--reason <text>', 'reason for the pause (required for audit trail)')
|
|
87
100
|
.option('--json', 'output machine-readable JSON')
|
|
101
|
+
// SECURITY: `pause` carries BOTH this action and a `status` subcommand.
|
|
102
|
+
// Commander dispatches to a subcommand only when operands[0] matches one;
|
|
103
|
+
// otherwise it runs the PARENT action and drops the stray operand. So
|
|
104
|
+
// `fazemos pause resume --reason x`, `pause off`, or any typo silently
|
|
105
|
+
// SET AN ORG-WIDE PAUSE blocking every agent launch, and exited 0.
|
|
106
|
+
// Refusing excess operands turns those into a usage error.
|
|
107
|
+
.allowExcessArguments(false)
|
|
88
108
|
.action(async (opts) => {
|
|
89
109
|
try {
|
|
110
|
+
if (!opts.reason || !opts.reason.trim()) {
|
|
111
|
+
throw new Error("--reason is required when setting a pause (audit trail). To read current pauses use 'fazemos pause status'.");
|
|
112
|
+
}
|
|
90
113
|
const { scope, scope_key } = resolveScope(opts);
|
|
91
|
-
const body = { scope, reason: opts.reason };
|
|
114
|
+
const body = { scope, reason: opts.reason.trim() };
|
|
92
115
|
if (scope_key !== undefined)
|
|
93
116
|
body.scope_key = scope_key;
|
|
94
117
|
const data = await api('POST', '/api/control-plane/pause', body, {
|
|
@@ -172,12 +195,20 @@ export function registerPauseCommands(program) {
|
|
|
172
195
|
'Requires admin or owner role. --reason is mandatory (audit trail).')
|
|
173
196
|
.option('--role <slug>', 'clear the pause for a specific agent role')
|
|
174
197
|
.option('--stream <pipeline-instance-id>', 'clear the pause for a specific pipeline instance')
|
|
175
|
-
.
|
|
198
|
+
.option('--reason <text>', 'reason for the resume (maps to clear_reason; required for audit)')
|
|
176
199
|
.option('--json', 'output machine-readable JSON')
|
|
200
|
+
// Mirrors the pause guard: `fazemos resume status --reason x` used to CLEAR
|
|
201
|
+
// a pause rather than read one. resume hosts no subcommands today, but the
|
|
202
|
+
// stray-operand refusal is what makes a typo a usage error instead of a
|
|
203
|
+
// fleet-wide control-plane write.
|
|
204
|
+
.allowExcessArguments(false)
|
|
177
205
|
.action(async (opts) => {
|
|
178
206
|
try {
|
|
207
|
+
if (!opts.reason || !opts.reason.trim()) {
|
|
208
|
+
throw new Error('--reason is required when clearing a pause (audit trail).');
|
|
209
|
+
}
|
|
179
210
|
const { scope, scope_key } = resolveScope(opts);
|
|
180
|
-
const body = { scope, clear_reason: opts.reason };
|
|
211
|
+
const body = { scope, clear_reason: opts.reason.trim() };
|
|
181
212
|
if (scope_key !== undefined)
|
|
182
213
|
body.scope_key = scope_key;
|
|
183
214
|
const data = await api('DELETE', '/api/control-plane/pause', body, {
|
package/dist/pause.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause.js","sourceRoot":"","sources":["../src/pause.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,gFAAgF;AAChF,qEAAqE;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAkB/B;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,IAAwC;IAI5D,
|
|
1
|
+
{"version":3,"file":"pause.js","sourceRoot":"","sources":["../src/pause.ts"],"names":[],"mappings":"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"}
|