anton-bakker-deploy-engine 0.7.13 → 0.9.0

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/tui.js CHANGED
@@ -23,9 +23,14 @@ const ALT_SCREEN_ON = `${ESC}[?1049h`;
23
23
  const ALT_SCREEN_OFF = `${ESC}[?1049l`;
24
24
  const CURSOR_HIDE = `${ESC}[?25l`;
25
25
  const CURSOR_SHOW = `${ESC}[?25h`;
26
- const CLEAR_SCREEN = `${ESC}[2J${ESC}[H`;
27
26
  const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
28
27
  let spinnerIdx = 0;
28
+ /**
29
+ * Maximum number of live-detail lines retained and rendered for a running step.
30
+ * The detail region is height-bounded: appending more lines drops the oldest,
31
+ * so a long-running step never grows the layout or scrolls the panel off-screen.
32
+ */
33
+ export const MAX_STEP_DETAIL_LINES = 8;
29
34
  function statusIcon(status, spinning = false) {
30
35
  switch (status) {
31
36
  case 'passed': return `${GREEN}●${RESET}`;
@@ -50,16 +55,25 @@ function getTermSize() {
50
55
  function hLine(cols, left, fill, right) {
51
56
  return left + fill.repeat(Math.max(0, cols - 2)) + right;
52
57
  }
58
+ /**
59
+ * Remove ANSI SGR (colour/style) escape sequences from a string so its visible
60
+ * width can be measured for padding/alignment. The `\x1b` control character is
61
+ * intentional here (it is the ANSI escape introducer), hence the scoped disable.
62
+ */
63
+ function stripAnsi(s) {
64
+ // eslint-disable-next-line no-control-regex -- \x1b is the ANSI escape introducer we must match
65
+ return s.replace(/\x1b\[[0-9;]*m/g, '');
66
+ }
53
67
  function padLine(content, cols) {
54
68
  // Strip ANSI for length calc
55
- const stripped = content.replace(/\x1b\[[0-9;]*m/g, '');
69
+ const stripped = stripAnsi(content);
56
70
  const pad = Math.max(0, cols - 2 - stripped.length);
57
71
  return `│${content}${' '.repeat(pad)}│`;
58
72
  }
59
73
  /** Render a line with left content and right-aligned suffix */
60
74
  function padLineWithRight(left, right, cols) {
61
- const strippedLeft = left.replace(/\x1b\[[0-9;]*m/g, '');
62
- const strippedRight = right.replace(/\x1b\[[0-9;]*m/g, '');
75
+ const strippedLeft = stripAnsi(left);
76
+ const strippedRight = stripAnsi(right);
63
77
  // Total line = │ + left + gap + right + space + │ = cols
64
78
  // So: 1 + strippedLeft.length + gap + strippedRight.length + 1 + 1 = cols
65
79
  // gap = cols - 3 - strippedLeft.length - strippedRight.length
@@ -81,7 +95,6 @@ export function renderFrame(state) {
81
95
  // ── Header ──
82
96
  lines.push(hLine(cols, '┌', '─', '┐'));
83
97
  const titleContent = ` ${state.title}`;
84
- const elapsedRight = `${DIM}${elapsed}${RESET} `;
85
98
  lines.push(padLine(`${BOLD}${titleContent}${RESET}`, cols));
86
99
  if (state.subtitle) {
87
100
  for (const sub of state.subtitle) {
@@ -128,6 +141,19 @@ export function renderFrame(state) {
128
141
  else {
129
142
  lines.push(padLine(label, cols));
130
143
  }
144
+ // Bounded live-detail region: only for the running step, only while it has
145
+ // detail. Rendered indented and dimmed beneath the step. Lines are already
146
+ // capped to MAX_STEP_DETAIL_LINES by stepDetail(); here we also clip each
147
+ // line to the terminal width so the box border is never broken.
148
+ if (step.status === 'running' && step.detail && step.detail.length > 0) {
149
+ const maxLineWidth = Math.max(0, cols - 8); // indent (6) + borders/padding (2)
150
+ for (const detailLine of step.detail) {
151
+ const clipped = detailLine.length > maxLineWidth
152
+ ? detailLine.slice(0, maxLineWidth - 1) + '…'
153
+ : detailLine;
154
+ lines.push(padLine(` ${DIM}${clipped}${RESET}`, cols));
155
+ }
156
+ }
131
157
  }
132
158
  if (active.steps.length > stepsToShow.length) {
133
159
  lines.push(padLine(` ${DIM}... +${active.steps.length - stepsToShow.length} more${RESET}`, cols));
@@ -247,6 +273,18 @@ export class DeployTui {
247
273
  const dur = durationMs ? ` (${formatDuration(durationMs)})` : '';
248
274
  process.stdout.write(`${icon} [${category}] ${step}${dur}\n`);
249
275
  }
276
+ /**
277
+ * Emit live-detail lines to the CI log (no alt-screen). Keeps progress of a
278
+ * long-running step visible in CI output, where the interactive panel is not
279
+ * rendered. Each line is prefixed so it is greppable alongside ciLog output.
280
+ */
281
+ ciDetail(category, step, lines) {
282
+ if (!this.isCI)
283
+ return;
284
+ for (const line of lines) {
285
+ process.stdout.write(` · [${category}] ${step}: ${line}\n`);
286
+ }
287
+ }
250
288
  startCategory(index) {
251
289
  this.state.activeCategory = index;
252
290
  this.state.categories[index].status = 'running';
@@ -268,9 +306,36 @@ export class DeployTui {
268
306
  this.ciLog(this.state.categories[catIndex].name, this.state.categories[catIndex].steps[stepIndex].name, 'running');
269
307
  this.render();
270
308
  }
309
+ /**
310
+ * Append bounded live-progress detail to a running step.
311
+ *
312
+ * The step's detail region shows the most recent {@link MAX_STEP_DETAIL_LINES}
313
+ * lines; appending more drops the oldest (no unbounded growth, no layout
314
+ * break). In TUI mode the lines render indented beneath the running step; in
315
+ * CI mode they are logged (no alt-screen) so progress stays visible in CI logs.
316
+ *
317
+ * This is additive: steps that never call stepDetail render exactly as before.
318
+ *
319
+ * @param catIndex Category index
320
+ * @param stepIndex Step index within the category
321
+ * @param lines New detail lines to append (already human-readable)
322
+ */
323
+ stepDetail(catIndex, stepIndex, lines) {
324
+ const step = this.state.categories[catIndex]?.steps[stepIndex];
325
+ if (!step || lines.length === 0)
326
+ return;
327
+ const existing = step.detail ?? [];
328
+ // Keep only the most recent MAX_STEP_DETAIL_LINES lines (bounded region).
329
+ step.detail = [...existing, ...lines].slice(-MAX_STEP_DETAIL_LINES);
330
+ this.ciDetail(this.state.categories[catIndex].name, step.name, lines);
331
+ this.render();
332
+ }
271
333
  passStep(catIndex, stepIndex, durationMs) {
272
334
  this.state.categories[catIndex].steps[stepIndex].status = 'passed';
273
335
  this.state.categories[catIndex].steps[stepIndex].durationMs = durationMs;
336
+ // Collapse the live-detail region on completion; final status + duration
337
+ // remain in the step list. Full detail is retained in the run's log output.
338
+ this.state.categories[catIndex].steps[stepIndex].detail = undefined;
274
339
  this.ciLog(this.state.categories[catIndex].name, this.state.categories[catIndex].steps[stepIndex].name, 'passed', durationMs);
275
340
  this.render();
276
341
  }
@@ -278,12 +343,15 @@ export class DeployTui {
278
343
  this.state.categories[catIndex].steps[stepIndex].status = 'failed';
279
344
  this.state.categories[catIndex].steps[stepIndex].durationMs = durationMs;
280
345
  this.state.categories[catIndex].steps[stepIndex].error = error;
346
+ // Collapse the live-detail region; the failure is surfaced via errorOutput.
347
+ this.state.categories[catIndex].steps[stepIndex].detail = undefined;
281
348
  this.state.errorOutput = error;
282
349
  this.ciLog(this.state.categories[catIndex].name, this.state.categories[catIndex].steps[stepIndex].name, 'failed', durationMs);
283
350
  this.render();
284
351
  }
285
352
  skipStep(catIndex, stepIndex) {
286
353
  this.state.categories[catIndex].steps[stepIndex].status = 'skipped';
354
+ this.state.categories[catIndex].steps[stepIndex].detail = undefined;
287
355
  this.render();
288
356
  }
289
357
  /** Pause the TUI (leave alt screen), show final summary, then exit */
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,10 +6,91 @@ export interface CheckResult {
6
6
  duration?: number;
7
7
  error?: string;
8
8
  }
9
- export interface GateDefinition {
9
+ /**
10
+ * A named group of checks within a gate, with its own failure mode.
11
+ *
12
+ * CheckGroups enable fine-grained control over how failures are handled
13
+ * within a gate. Instead of stopping at the first failure, groups can
14
+ * accumulate all failures before reporting — or fail fast to save time.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const group: CheckGroup = {
19
+ * id: 'quality',
20
+ * name: 'Code Quality Checks',
21
+ * checks: ['typecheck', 'lint', 'unit-tests'],
22
+ * failureMode: 'accumulate', // run all checks even if some fail
23
+ * parallel: true,
24
+ * };
25
+ * ```
26
+ */
27
+ export interface CheckGroup {
28
+ /** Unique identifier for this group within the gate */
10
29
  id: string;
30
+ /** Human-readable name for this group */
11
31
  name: string;
32
+ /** Array of check names that belong to this group */
12
33
  checks: string[];
34
+ /**
35
+ * How this group handles failures:
36
+ * - `'fail-fast'`: stop executing checks as soon as one fails (default for mutation groups)
37
+ * - `'accumulate'`: run all checks and collect all failures (default for validation groups)
38
+ */
39
+ failureMode: 'fail-fast' | 'accumulate';
40
+ /** Whether checks in this group can run in parallel (optional, default: false) */
41
+ parallel?: boolean;
42
+ }
43
+ /**
44
+ * Defines a gate in the deployment pipeline.
45
+ *
46
+ * ## Backward Compatibility
47
+ *
48
+ * The `checks[]` field is preserved for backward compatibility. Existing gate
49
+ * definitions that use only `checks[]` continue to work unchanged — the engine
50
+ * wraps them internally as a single fail-fast group.
51
+ *
52
+ * ## Migration Path
53
+ *
54
+ * To adopt the grouped model, replace `checks[]` with `groups[]`:
55
+ *
56
+ * ```typescript
57
+ * // Legacy (still valid):
58
+ * { id: 'deploy', name: 'Deploy', checks: ['cdk-deploy', 'ecs-update'], onFail: 'rollback' }
59
+ *
60
+ * // New grouped model:
61
+ * {
62
+ * id: 'deploy',
63
+ * name: 'Deploy',
64
+ * groups: [
65
+ * { id: 'infra', name: 'Infrastructure', checks: ['cdk-deploy'], failureMode: 'fail-fast' },
66
+ * { id: 'services', name: 'Services', checks: ['ecs-update'], failureMode: 'fail-fast' },
67
+ * ],
68
+ * onFail: 'rollback',
69
+ * }
70
+ * ```
71
+ *
72
+ * When both `checks[]` and `groups[]` are present, `groups[]` takes precedence.
73
+ */
74
+ export interface GateDefinition {
75
+ id: string;
76
+ name: string;
77
+ /**
78
+ * Legacy flat checks array. Preserved for backward compatibility.
79
+ * Use `groups[]` for new implementations to get per-group failure modes.
80
+ *
81
+ * @deprecated Use `groups[]` for new gate definitions.
82
+ * Existing `checks[]` usage continues to work — the engine wraps it
83
+ * as a single fail-fast group internally.
84
+ */
85
+ checks?: string[];
86
+ /**
87
+ * New grouped model with per-group failure modes.
88
+ * When present, takes precedence over `checks[]`.
89
+ *
90
+ * Each group runs independently with its own `failureMode` ('fail-fast' or 'accumulate').
91
+ * Groups themselves execute sequentially unless `parallel` is set on the gate.
92
+ */
93
+ groups?: CheckGroup[];
13
94
  onFail: 'abort' | 'rollback' | 'alert';
14
95
  condition?: (env: EnvironmentConfig) => boolean;
15
96
  /** Gate IDs that must have passed before this gate may execute.
@@ -99,7 +180,7 @@ export interface PipelineReport {
99
180
  /** A check executor — runs a named check and returns a result */
100
181
  export type CheckExecutor = (ctx: ExecutionContext) => Promise<CheckResult>;
101
182
  /** Pipeline lifecycle events */
102
- export type PipelineEventType = 'pipeline:start' | 'pipeline:end' | 'gate:start' | 'gate:end' | 'gate:skip' | 'check:start' | 'check:end' | 'bake:start' | 'bake:alarm' | 'bake:end' | 'rollback:trigger';
183
+ export type PipelineEventType = 'pipeline:start' | 'pipeline:end' | 'gate:start' | 'gate:end' | 'gate:skip' | 'group:start' | 'group:end' | 'check:start' | 'check:end' | 'bake:start' | 'bake:alarm' | 'bake:end' | 'rollback:trigger';
103
184
  export interface PipelineEvent {
104
185
  type: PipelineEventType;
105
186
  timestamp: string;
@@ -185,12 +266,27 @@ export interface VersionManifestConfig {
185
266
  metadata?: Record<string, string>;
186
267
  }>;
187
268
  }
269
+ /** Summary entry for a single check group within a gate event */
270
+ export interface GroupSummaryEntry {
271
+ /** Group identifier */
272
+ id: string;
273
+ /** Failure mode of this group */
274
+ mode: 'fail-fast' | 'accumulate';
275
+ /** Group outcome */
276
+ status: 'passed' | 'failed' | 'skipped';
277
+ /** Number of checks that passed */
278
+ passCount: number;
279
+ /** Number of checks that failed */
280
+ failCount: number;
281
+ }
188
282
  /** Timing summary for a single gate within a deploy event */
189
283
  export interface GateSummaryEntry {
190
284
  id: string;
191
285
  name: string;
192
286
  status: 'passed' | 'failed' | 'skipped';
193
287
  durationMs: number;
288
+ /** Per-group summary for this gate (populated when groups are present) */
289
+ groupSummary?: GroupSummaryEntry[];
194
290
  }
195
291
  /** Structured deploy event written to DynamoDB for DORA metrics.
196
292
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqJpC,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAwOpC,uCAAuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anton-bakker-deploy-engine",
3
- "version": "0.7.13",
3
+ "version": "0.9.0",
4
4
  "description": "Self-validating AWS deployment engine with 4-layer verification: exists, configured, functional, project-specific",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -41,5 +41,8 @@
41
41
  "@aws-sdk/client-s3": ">=3.600.0",
42
42
  "@aws-sdk/credential-providers": ">=3.600.0",
43
43
  "@aws-sdk/lib-dynamodb": ">=3.600.0"
44
+ },
45
+ "optionalDependencies": {
46
+ "@aws-sdk/client-ssm": ">=3.600.0"
44
47
  }
45
48
  }