@formigio/fazemos-cli 0.10.21 → 0.10.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.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * F32 — Pause Switches: CLI command helpers.
3
+ *
4
+ * Exports `registerPauseCommands(program)` which wires the following commands
5
+ * into the root Commander program (mirrors the dispatch group pattern):
6
+ *
7
+ * fazemos pause [--role <slug> | --stream <id>] --reason <text>
8
+ * → POST /api/control-plane/pause {scope, scope_key?, reason}
9
+ *
10
+ * fazemos resume [--role <slug> | --stream <id>] --reason <text>
11
+ * → DELETE /api/control-plane/pause {scope, scope_key?, clear_reason}
12
+ *
13
+ * fazemos pause status [--json]
14
+ * → GET /api/control-plane/pause
15
+ *
16
+ * Auth: pause/resume require admin/owner. status requires any active member.
17
+ * Org is derived from the auth token (pause is org-level; project header is
18
+ * NOT sent — pause is above project scope). noProjectHeader: true on all calls.
19
+ *
20
+ * Spec: F32-pause-switches-tech-spec.md §9
21
+ */
22
+ import type { Command } from 'commander';
23
+ /**
24
+ * Register `pause`, `resume`, and `pause status` into the root Commander
25
+ * program. Called from index.ts after `program` is created.
26
+ */
27
+ export declare function registerPauseCommands(program: Command): void;
package/dist/pause.js ADDED
@@ -0,0 +1,211 @@
1
+ /**
2
+ * F32 — Pause Switches: CLI command helpers.
3
+ *
4
+ * Exports `registerPauseCommands(program)` which wires the following commands
5
+ * into the root Commander program (mirrors the dispatch group pattern):
6
+ *
7
+ * fazemos pause [--role <slug> | --stream <id>] --reason <text>
8
+ * → POST /api/control-plane/pause {scope, scope_key?, reason}
9
+ *
10
+ * fazemos resume [--role <slug> | --stream <id>] --reason <text>
11
+ * → DELETE /api/control-plane/pause {scope, scope_key?, clear_reason}
12
+ *
13
+ * fazemos pause status [--json]
14
+ * → GET /api/control-plane/pause
15
+ *
16
+ * Auth: pause/resume require admin/owner. status requires any active member.
17
+ * Org is derived from the auth token (pause is org-level; project header is
18
+ * NOT sent — pause is above project scope). noProjectHeader: true on all calls.
19
+ *
20
+ * Spec: F32-pause-switches-tech-spec.md §9
21
+ */
22
+ import chalk from 'chalk';
23
+ // api() is imported at call-site to avoid circular imports between index.ts and
24
+ // this module. The function signature is typed via the import below.
25
+ import { api } from './api.js';
26
+ /**
27
+ * Resolve scope + scope_key from the --role / --stream flags.
28
+ *
29
+ * Rules (matching API validation):
30
+ * --role <slug> → scope='role', scope_key=slug
31
+ * --stream <id> → scope='stream', scope_key=id
32
+ * (neither) → scope='global', scope_key absent
33
+ * (both) → error: mutually exclusive
34
+ */
35
+ function resolveScope(opts) {
36
+ if (opts.role && opts.stream) {
37
+ throw new Error('--role and --stream are mutually exclusive; specify at most one.');
38
+ }
39
+ if (opts.role) {
40
+ if (!opts.role.trim())
41
+ throw new Error('--role cannot be empty');
42
+ return { scope: 'role', scope_key: opts.role.trim().toLowerCase() };
43
+ }
44
+ if (opts.stream) {
45
+ if (!opts.stream.trim())
46
+ throw new Error('--stream cannot be empty');
47
+ return { scope: 'stream', scope_key: opts.stream.trim() };
48
+ }
49
+ return { scope: 'global' };
50
+ }
51
+ /** Human-readable scope label for terminal output. */
52
+ function scopeLabel(scope, scope_key) {
53
+ if (scope === 'global')
54
+ return chalk.bold('global');
55
+ if (scope === 'role')
56
+ return `role: ${chalk.cyan(scope_key ?? '?')}`;
57
+ return `stream: ${chalk.cyan(scope_key ?? '?')}`;
58
+ }
59
+ // ── Command registration ───────────────────────────────────────────────────────
60
+ /**
61
+ * Register `pause`, `resume`, and `pause status` into the root Commander
62
+ * program. Called from index.ts after `program` is created.
63
+ */
64
+ export function registerPauseCommands(program) {
65
+ // ── `fazemos pause` ──────────────────────────────────────────────────────────
66
+ //
67
+ // Top-level `pause` command that also hosts the `status` sub-command.
68
+ //
69
+ // Usage:
70
+ // fazemos pause --reason "investigating runaway"
71
+ // fazemos pause --role senior-react-dev --reason "reviewing last PR"
72
+ // fazemos pause --stream <pipeline-instance-id> --reason "pausing F33 build"
73
+ // fazemos pause status [--json]
74
+ const pauseCmd = program
75
+ .command('pause')
76
+ .description('Set or inspect org-wide pause flags (AUTONOMY Phase 0 control plane).\n\n' +
77
+ 'Without a sub-command: set a pause on the specified scope.\n' +
78
+ 'Use `fazemos pause status` to list active pauses.\n\n' +
79
+ 'Scopes:\n' +
80
+ ' (no flag) → global: blocks ALL new agent launches in the org\n' +
81
+ ' --role <slug> → per-role: blocks launches for that agent role\n' +
82
+ ' --stream <id> → per-stream: blocks launches on that pipeline instance\n\n' +
83
+ 'Requires admin or owner role. --reason is mandatory (audit trail).')
84
+ .option('--role <slug>', 'pause a specific agent role (lower-cased role-slug)')
85
+ .option('--stream <pipeline-instance-id>', 'pause a specific pipeline instance stream')
86
+ .requiredOption('--reason <text>', 'reason for the pause (required for audit trail)')
87
+ .option('--json', 'output machine-readable JSON')
88
+ .action(async (opts) => {
89
+ try {
90
+ const { scope, scope_key } = resolveScope(opts);
91
+ const body = { scope, reason: opts.reason };
92
+ if (scope_key !== undefined)
93
+ body.scope_key = scope_key;
94
+ const data = await api('POST', '/api/control-plane/pause', body, {
95
+ noProjectHeader: true,
96
+ });
97
+ if (opts.json) {
98
+ console.log(JSON.stringify(data, null, 2));
99
+ return;
100
+ }
101
+ const pause = data.pause;
102
+ console.log(chalk.red('⏸ Pause set'));
103
+ console.log(` Scope: ${scopeLabel(pause.scope, pause.scope_key)}`);
104
+ console.log(` Reason: ${pause.reason}`);
105
+ console.log(` Paused at: ${new Date(pause.paused_at).toLocaleString()}`);
106
+ console.log(` ID: ${pause.id}`);
107
+ }
108
+ catch (err) {
109
+ const msg = err instanceof Error ? err.message : String(err);
110
+ console.error(chalk.red(`Error: ${msg}`));
111
+ process.exit(1);
112
+ }
113
+ });
114
+ // ── `fazemos pause status` ─────────────────────────────────────────────────
115
+ pauseCmd
116
+ .command('status')
117
+ .description('List all active pause flags for the org.\n\n' +
118
+ 'Readable by any active org member. Prints scope, who paused, when, and why.\n' +
119
+ 'Use --json for machine-readable output.')
120
+ .option('--json', 'output machine-readable JSON')
121
+ .action(async (opts) => {
122
+ try {
123
+ const data = await api('GET', '/api/control-plane/pause', undefined, {
124
+ noProjectHeader: true,
125
+ });
126
+ if (opts.json) {
127
+ console.log(JSON.stringify(data, null, 2));
128
+ return;
129
+ }
130
+ const pauses = data.pauses;
131
+ if (pauses.length === 0) {
132
+ console.log(chalk.green('No active pauses.'));
133
+ return;
134
+ }
135
+ console.log(chalk.bold(`Active pauses (${pauses.length}):`));
136
+ console.log();
137
+ for (const p of pauses) {
138
+ const who = p.paused_by_name ?? p.paused_by;
139
+ console.log(` ${chalk.red('⏸')} ${scopeLabel(p.scope, p.scope_key)}`);
140
+ console.log(` Reason: ${p.reason}`);
141
+ console.log(` By: ${who}`);
142
+ console.log(` At: ${new Date(p.paused_at).toLocaleString()}`);
143
+ console.log(` ID: ${p.id}`);
144
+ console.log();
145
+ }
146
+ }
147
+ catch (err) {
148
+ const msg = err instanceof Error ? err.message : String(err);
149
+ console.error(chalk.red(`Error: ${msg}`));
150
+ process.exit(1);
151
+ }
152
+ });
153
+ // ── `fazemos resume` ─────────────────────────────────────────────────────────
154
+ //
155
+ // Clears a pause on the specified scope. --role and --stream are mutually
156
+ // exclusive; absent both ⇒ clear the global pause.
157
+ //
158
+ // Usage:
159
+ // fazemos resume --reason "all clear"
160
+ // fazemos resume --role senior-react-dev --reason "PR merged"
161
+ // fazemos resume --stream <pipeline-instance-id> --reason "investigation done"
162
+ program
163
+ .command('resume')
164
+ .description('Clear an org-wide pause flag, re-enabling agent launches on that scope.\n\n' +
165
+ 'Clears exactly one scope (resuming a role does NOT clear a global pause).\n' +
166
+ 'After clearing, the API immediately nudges resolveDAG to re-drive any\n' +
167
+ 'pipeline steps that were held pending.\n\n' +
168
+ 'Scopes:\n' +
169
+ ' (no flag) → clear global pause\n' +
170
+ ' --role <slug> → clear per-role pause\n' +
171
+ ' --stream <id> → clear per-stream pause\n\n' +
172
+ 'Requires admin or owner role. --reason is mandatory (audit trail).')
173
+ .option('--role <slug>', 'clear the pause for a specific agent role')
174
+ .option('--stream <pipeline-instance-id>', 'clear the pause for a specific pipeline instance')
175
+ .requiredOption('--reason <text>', 'reason for the resume (maps to clear_reason; required for audit)')
176
+ .option('--json', 'output machine-readable JSON')
177
+ .action(async (opts) => {
178
+ try {
179
+ const { scope, scope_key } = resolveScope(opts);
180
+ const body = { scope, clear_reason: opts.reason };
181
+ if (scope_key !== undefined)
182
+ body.scope_key = scope_key;
183
+ const data = await api('DELETE', '/api/control-plane/pause', body, {
184
+ noProjectHeader: true,
185
+ });
186
+ if (opts.json) {
187
+ console.log(JSON.stringify(data, null, 2));
188
+ return;
189
+ }
190
+ if (data.cleared) {
191
+ console.log(chalk.green('▶ Pause cleared'));
192
+ console.log(` Scope: ${scopeLabel(scope, scope_key)}`);
193
+ if (data.re_driven > 0) {
194
+ console.log(` Re-driven: ${chalk.cyan(String(data.re_driven))} pipeline instance(s) nudged to re-drive`);
195
+ }
196
+ else {
197
+ console.log(` Re-driven: 0 (ops-sweep will re-drive on next tick)`);
198
+ }
199
+ }
200
+ else {
201
+ console.log(chalk.yellow(`No active pause found for ${scopeLabel(scope, scope_key)} — nothing to clear.`));
202
+ }
203
+ }
204
+ catch (err) {
205
+ const msg = err instanceof Error ? err.message : String(err);
206
+ console.error(chalk.red(`Error: ${msg}`));
207
+ process.exit(1);
208
+ }
209
+ });
210
+ }
211
+ //# sourceMappingURL=pause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause.js","sourceRoot":"","sources":["../src/pause.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formigio/fazemos-cli",
3
- "version": "0.10.21",
3
+ "version": "0.10.23",
4
4
  "description": "CLI for the Fazemos Team Accomplishment Platform",
5
5
  "type": "module",
6
6
  "license": "MIT",