rampway 0.5.28 → 0.5.30

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.
Files changed (83) hide show
  1. package/README.md +34 -9
  2. package/build/src/cli.d.ts.map +1 -1
  3. package/build/src/cli.js +69 -2
  4. package/build/src/cli.js.map +1 -1
  5. package/build/src/commands/deploy.d.ts +4 -2
  6. package/build/src/commands/deploy.d.ts.map +1 -1
  7. package/build/src/commands/deploy.js +117 -26
  8. package/build/src/commands/deploy.js.map +1 -1
  9. package/build/src/commands/recover-generation-transition.d.ts +6 -0
  10. package/build/src/commands/recover-generation-transition.d.ts.map +1 -0
  11. package/build/src/commands/recover-generation-transition.js +18 -0
  12. package/build/src/commands/recover-generation-transition.js.map +1 -0
  13. package/build/src/core/command-error.d.ts +60 -0
  14. package/build/src/core/command-error.d.ts.map +1 -0
  15. package/build/src/core/command-error.js +106 -0
  16. package/build/src/core/command-error.js.map +1 -0
  17. package/build/src/core/deploy-log.d.ts.map +1 -1
  18. package/build/src/core/deploy-log.js +5 -6
  19. package/build/src/core/deploy-log.js.map +1 -1
  20. package/build/src/core/deploy-runner.d.ts.map +1 -1
  21. package/build/src/core/deploy-runner.js +241 -84
  22. package/build/src/core/deploy-runner.js.map +1 -1
  23. package/build/src/core/git-source.d.ts.map +1 -1
  24. package/build/src/core/git-source.js +3 -2
  25. package/build/src/core/git-source.js.map +1 -1
  26. package/build/src/core/hooks.d.ts +4 -2
  27. package/build/src/core/hooks.d.ts.map +1 -1
  28. package/build/src/core/hooks.js +4 -3
  29. package/build/src/core/hooks.js.map +1 -1
  30. package/build/src/core/recover-generation-transition.d.ts +17 -0
  31. package/build/src/core/recover-generation-transition.d.ts.map +1 -0
  32. package/build/src/core/recover-generation-transition.js +91 -0
  33. package/build/src/core/recover-generation-transition.js.map +1 -0
  34. package/build/src/core/release-manager.d.ts +43 -0
  35. package/build/src/core/release-manager.d.ts.map +1 -1
  36. package/build/src/core/release-manager.js +162 -1
  37. package/build/src/core/release-manager.js.map +1 -1
  38. package/build/src/core/reporter.d.ts +52 -9
  39. package/build/src/core/reporter.d.ts.map +1 -1
  40. package/build/src/core/reporter.js +104 -10
  41. package/build/src/core/reporter.js.map +1 -1
  42. package/build/src/core/runtime-errors.d.ts +4 -4
  43. package/build/src/core/runtime-errors.d.ts.map +1 -1
  44. package/build/src/core/runtime-errors.js +14 -2
  45. package/build/src/core/runtime-errors.js.map +1 -1
  46. package/build/src/core/task-runner.d.ts +3 -2
  47. package/build/src/core/task-runner.d.ts.map +1 -1
  48. package/build/src/core/task-runner.js +6 -6
  49. package/build/src/core/task-runner.js.map +1 -1
  50. package/build/src/runtimes/compose-runtime.d.ts.map +1 -1
  51. package/build/src/runtimes/compose-runtime.js +3 -2
  52. package/build/src/runtimes/compose-runtime.js.map +1 -1
  53. package/build/src/runtimes/none-runtime.d.ts +2 -0
  54. package/build/src/runtimes/none-runtime.d.ts.map +1 -1
  55. package/build/src/runtimes/none-runtime.js +4 -0
  56. package/build/src/runtimes/none-runtime.js.map +1 -1
  57. package/build/src/runtimes/rollbridge-runtime.d.ts +36 -3
  58. package/build/src/runtimes/rollbridge-runtime.d.ts.map +1 -1
  59. package/build/src/runtimes/rollbridge-runtime.js +136 -32
  60. package/build/src/runtimes/rollbridge-runtime.js.map +1 -1
  61. package/build/src/test-helpers.d.ts +4 -2
  62. package/build/src/test-helpers.d.ts.map +1 -1
  63. package/build/src/test-helpers.js +5 -5
  64. package/build/src/test-helpers.js.map +1 -1
  65. package/build/src/transports/local-transport.d.ts.map +1 -1
  66. package/build/src/transports/local-transport.js +21 -4
  67. package/build/src/transports/local-transport.js.map +1 -1
  68. package/build/src/transports/ssh-transport.d.ts.map +1 -1
  69. package/build/src/transports/ssh-transport.js +50 -13
  70. package/build/src/transports/ssh-transport.js.map +1 -1
  71. package/build/src/types.d.ts +34 -1
  72. package/build/src/types.d.ts.map +1 -1
  73. package/build/src/velocious/client.d.ts +4 -1
  74. package/build/src/velocious/client.d.ts.map +1 -1
  75. package/build/src/velocious/client.js +20 -4
  76. package/build/src/velocious/client.js.map +1 -1
  77. package/build/src/velocious/sanitize.d.ts +4 -1
  78. package/build/src/velocious/sanitize.d.ts.map +1 -1
  79. package/build/src/velocious/sanitize.js +15 -3
  80. package/build/src/velocious/sanitize.js.map +1 -1
  81. package/docs/config-reference.md +24 -2
  82. package/docs/failed-generation-recovery.md +44 -0
  83. package/package.json +4 -3
package/README.md CHANGED
@@ -107,6 +107,7 @@ rampway production runtime-validate
107
107
  rampway production runtime-status
108
108
  rampway production runtime-logs
109
109
  rampway production runtime-recover --yes
110
+ rampway production runtime-recover-generation-transition <failed-release-id> --yes
110
111
 
111
112
  # Local foreground host-restart entrypoint for the last accepted release
112
113
  rampway production runtime-boot --config /absolute/path/rampway.config.mjs
@@ -115,6 +116,12 @@ rampway production runtime-boot --config /absolute/path/rampway.config.mjs
115
116
  The older `rollbridge-validate`, `rollbridge-status`, `rollbridge-logs`, and
116
117
  `rollbridge-recover` names remain aliases for Rollbridge stages.
117
118
 
119
+ Use [exact failed-generation recovery](docs/failed-generation-recovery.md) when
120
+ a Rollbridge deploy timed out or failed before publication and retained its
121
+ candidate transition fence. Recovery supports stages without an explicit
122
+ `runtime.config`, and later successful Rollbridge deploys refresh live retained
123
+ release pins before cleanup.
124
+
118
125
  ### Deploy transports
119
126
 
120
127
  Deploys run over one of three transports selected with `--transport`:
@@ -131,20 +138,31 @@ Deploys run over one of three transports selected with `--transport`:
131
138
  Dry runs always use the direct transport and print a plan, regardless of
132
139
  `--transport`.
133
140
 
134
- ### Live deploy output and automation
141
+ ### Readable deploy output and automation
135
142
 
136
- A normal deploy reports real lifecycle steps and remote command output as it arrives, then ends with a concise result:
143
+ A normal deploy reports timed lifecycle progress and a concise result. Full
144
+ shell commands and redacted child stdout/stderr are written to the per-deploy
145
+ log instead of flooding the terminal:
137
146
 
138
147
  ```text
139
148
  $ rampway production deploy
140
- Preparing release directory
141
- Installing dependencies
142
- $ npm ci --omit=dev
143
- command output
144
- Deployed production revision 4f31c21 to /home/deploy/app/releases/20260715094500
149
+ Logging deploy output to /srv/app/log/deploys/20260904123000-production.log
150
+ Deploying app/production revision 4f31c21 as release 20260904123000
151
+ Preparing deploy directories
152
+ Preparing deploy directories (0.1s)
153
+ Task install
154
+ ✓ Task install (8.4s)
155
+ ✔ Deployed app/production revision 4f31c21 as release 20260904123000 in 12.7s
156
+ Deploy log: /srv/app/log/deploys/20260904123000-production.log
145
157
  ```
146
158
 
147
- Use `--json` when another program consumes the result. It suppresses lifecycle and command streaming and writes exactly one final JSON report:
159
+ Set `deployLog: false` explicitly to disable the persistent transcript. Human
160
+ deploys then retain the previous fallback of streaming redacted child output to
161
+ stderr so diagnostics are not discarded.
162
+
163
+ Use `--json` when another program consumes the result. It suppresses lifecycle
164
+ and child output and writes exactly one final JSON report, including for a
165
+ failed deploy:
148
166
 
149
167
  ```bash
150
168
  rampway production deploy --json > deploy-report.json
@@ -409,11 +427,18 @@ Every successful deploy, rollback, or resumed publication appends one JSON objec
409
427
  - `healthChecks: "passed"`
410
428
  - sanitized runtime status
411
429
  - `cleanupRemoved` release IDs
430
+ - optional `warnings` for non-fatal maintenance failures after runtime acceptance
412
431
 
413
432
  Rollback events include `event: "rollback"`, target `releaseId` and `revision`,
414
433
  `rolledBackAt`, `durationMs`, `previousRelease`, `healthChecks: "passed"`, and a
415
434
  sanitized runtime result. Reports intentionally record runtime result summaries,
416
- not runtime configuration or secrets.
435
+ not runtime configuration or secrets. A provisional cleanup-pin removal failure
436
+ is reported as a warning and retained for later reconciliation; it does not turn
437
+ an already-accepted runtime activation into a failed deploy or rollback. Rampway
438
+ stores provisional pins outside accepted runtime state and clears only the pins
439
+ owned by the exact runtime configuration that positively reports its live
440
+ release references. Runtime changes preserve the previous owner's pins, and
441
+ runtimes without reference reporting retain their unresolved pins.
417
442
 
418
443
  Resumed-publication events use `event: "resume-publication"`, `resumedAt`, the
419
444
  exact target and previous release identities, `healthChecks: "passed"`, the
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";0CAkBwC,iCAAiC;AAyCzE;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAmCzB;AAED;;;;;;;GAOG;AACH,wCAHW,MAAM,EAAE,GACN;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAA;CAAC,CA0C9G"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";0CAmBwC,iCAAiC;AA8CzE;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAuBzB;AA+DD;;;;;;;GAOG;AACH,wCAHW,MAAM,EAAE,GACN;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAA;CAAC,CA+C9G"}
package/build/src/cli.js CHANGED
@@ -8,6 +8,7 @@ import { deployCommand } from "./commands/deploy.js";
8
8
  import { releasesCommand, statusCommand } from "./commands/releases.js";
9
9
  import { rollbackCommand } from "./commands/rollback.js";
10
10
  import { resumePublicationCommand } from "./commands/resume-publication.js";
11
+ import { runtimeRecoverGenerationTransitionCommand } from "./commands/recover-generation-transition.js";
11
12
  import { rollbridgeValidateCommand, rollbridgeStatusCommand, rollbridgeLogsCommand, rollbridgeRecoverCommand, runtimeValidateCommand, runtimeStatusCommand, runtimeLogsCommand, runtimeRecoverCommand } from "./commands/rollbridge.js";
12
13
  import { tasksCommand } from "./commands/tasks.js";
13
14
  import { taskCommand } from "./commands/task.js";
@@ -17,6 +18,7 @@ import { isValidOperationalTaskName } from "./config/validate-config.js";
17
18
  import { commandContextFromPrepared, prepareCommandContext } from "./commands/context.js";
18
19
  import { withCommandSshCredentials } from "./transports/ssh-credentials.js";
19
20
  import { isGitRevision } from "./core/git-source.js";
21
+ import { errorMetadata } from "./core/command-error.js";
20
22
  export { withCommandSshCredentials };
21
23
  /** @type {Record<string, Function>} */
22
24
  const COMMANDS = {
@@ -38,6 +40,7 @@ const COMMANDS = {
38
40
  "runtime-status": runtimeStatusCommand,
39
41
  "runtime-logs": runtimeLogsCommand,
40
42
  "runtime-recover": runtimeRecoverCommand,
43
+ "runtime-recover-generation-transition": runtimeRecoverGenerationTransitionCommand,
41
44
  "runtime-boot": runtimeBootCommand,
42
45
  doctor: doctorCommand
43
46
  };
@@ -49,12 +52,42 @@ const COMMANDS = {
49
52
  const STAGELESS_COMMANDS = new Set(["init"]);
50
53
  /** @type {string[]} */
51
54
  const BOOLEAN_FLAGS = ["yes", "dry-run", "force", "allow-dirty", "json", "ssh-forward-agent"];
55
+ // Node ignores SIGPIPE and reserves SIGUSR1 for the inspector, so re-sending
56
+ // either signal cannot reliably communicate failure to the invoking shell.
57
+ const NON_TERMINATING_SIGNALS = new Set(["SIGPIPE", "SIGUSR1"]);
52
58
  const USAGE = "Usage: rampway <environment> <command> [operand] [--config path] (for example: rampway production deploy) OR rampway init";
53
59
  /**
54
60
  * @param {string[]} argv
55
61
  * @returns {Promise<void>}
56
62
  */
57
63
  async function main(argv) {
64
+ try {
65
+ await dispatch(argv);
66
+ }
67
+ catch (error) {
68
+ const jsonDeploy = jsonDeployInvocation(argv);
69
+ const failure = /** @type {Error & {reported?: boolean}} */ (error);
70
+ if (jsonDeploy && !failure.reported) {
71
+ const metadata = errorMetadata(failure);
72
+ process.stdout.write(`${JSON.stringify({
73
+ event: "deploy",
74
+ status: "failed",
75
+ stage: jsonDeploy.stageName,
76
+ step: metadata.step ?? "Deployment",
77
+ error: failure.message,
78
+ ...(metadata.exitCode === undefined ? {} : { exitCode: metadata.exitCode }),
79
+ ...(metadata.signal === undefined ? {} : { signal: metadata.signal })
80
+ }, null, 2)}\n`);
81
+ failure.reported = true;
82
+ }
83
+ throw failure;
84
+ }
85
+ }
86
+ /**
87
+ * @param {string[]} argv
88
+ * @returns {Promise<void>}
89
+ */
90
+ async function dispatch(argv) {
58
91
  const { command, stageName, options } = resolveInvocation(argv);
59
92
  if (!command)
60
93
  throw new Error(USAGE);
@@ -89,6 +122,29 @@ async function main(argv) {
89
122
  }
90
123
  await withCommandSshCredentials(prepared, () => COMMANDS[command]({ stageName, options, commandContext }), { manageSignals: true });
91
124
  }
125
+ /**
126
+ * Recognizes stage-first JSON deploy intent without relying on the full parser,
127
+ * which may itself be the source of the failure being reported.
128
+ *
129
+ * @param {string[]} argv
130
+ * @returns {{stageName: string}|undefined}
131
+ */
132
+ function jsonDeployInvocation(argv) {
133
+ if (!argv.includes("--json"))
134
+ return undefined;
135
+ const positional = [];
136
+ for (let index = 0; index < argv.length; index += 1) {
137
+ const arg = argv[index];
138
+ if (!arg.startsWith("--")) {
139
+ positional.push(arg);
140
+ continue;
141
+ }
142
+ const name = arg.slice(2).split("=", 1)[0];
143
+ if (!BOOLEAN_FLAGS.includes(name) && !arg.includes("="))
144
+ index += 1;
145
+ }
146
+ return positional[1] === "deploy" ? { stageName: positional[0] } : undefined;
147
+ }
92
148
  /**
93
149
  * Resolve raw argv using Capistrano-style stage-first grammar:
94
150
  * `rampway <environment> <command> [revision]`. A stageless command such as
@@ -134,6 +190,14 @@ function resolveInvocation(argv) {
134
190
  throw new Error(`Command 'resume-publication' does not support option --${toKebab(unsupported[0])}.`);
135
191
  options.releaseId = operands[0];
136
192
  }
193
+ else if (command === "runtime-recover-generation-transition") {
194
+ if (operands.length !== 1)
195
+ throw new Error("Command 'runtime-recover-generation-transition' requires exactly one failed release ID.");
196
+ const unsupported = Object.keys(options).filter(option => !["config", "json", "sshForwardAgent", "yes"].includes(option));
197
+ if (unsupported.length > 0)
198
+ throw new Error(`Command 'runtime-recover-generation-transition' does not support option --${toKebab(unsupported[0])}.`);
199
+ options.releaseId = operands[0];
200
+ }
137
201
  else if (command === "task") {
138
202
  if (operands.length !== 1)
139
203
  throw new Error("Command 'task' requires exactly one task name.");
@@ -195,8 +259,11 @@ function toKebab(name) {
195
259
  const invokedPath = process.argv[1] ? pathToFileURL(realpathSync(process.argv[1])).href : null;
196
260
  if (invokedPath && import.meta.url === invokedPath) {
197
261
  main(process.argv.slice(2)).catch(error => {
198
- console.error(error.message);
199
- if (error.signal)
262
+ if (!error.reported)
263
+ console.error(error.message);
264
+ if (error.signal && NON_TERMINATING_SIGNALS.has(error.signal))
265
+ process.exitCode = error.exitCode > 0 ? error.exitCode : 1;
266
+ else if (error.signal)
200
267
  process.kill(process.pid, error.signal);
201
268
  else
202
269
  process.exitCode = error.exitCode ?? 1;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  /**
2
- * @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>}} args
2
+ * @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>, deployLogFactory?: typeof openDeployLog}} args
3
3
  * @returns {Promise<void>}
4
4
  */
5
- export function deployCommand({ stageName, options, commandContext, sshCredentialScope }: import("#types").CommandArgs & {
5
+ export function deployCommand({ stageName, options, commandContext, sshCredentialScope, deployLogFactory }: import("#types").CommandArgs & {
6
6
  sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>;
7
+ deployLogFactory?: typeof openDeployLog;
7
8
  }): Promise<void>;
9
+ import { openDeployLog } from "../core/deploy-log.js";
8
10
  //# sourceMappingURL=deploy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH,0FAHW,OAAO,QAAQ,EAAE,WAAW,GAAG;IAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAC,GAClG,OAAO,CAAC,IAAI,CAAC,CAiFzB"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH,4GAHW,OAAO,QAAQ,EAAE,WAAW,GAAG;IAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,aAAa,CAAA;CAAC,GAC3I,OAAO,CAAC,IAAI,CAAC,CAgJzB;8BA3J2B,uBAAuB"}
@@ -3,15 +3,17 @@ import { commandContext as defaultCommandContext } from "./context.js";
3
3
  import { deploy } from "../core/deploy-runner.js";
4
4
  import { openDeployLog } from "../core/deploy-log.js";
5
5
  import { isSshRepository } from "../core/git-source.js";
6
+ import { redactText } from "../core/redaction.js";
6
7
  import { humanReporter, jsonReporter } from "../core/reporter.js";
8
+ import { errorMetadata, wrapError } from "../core/command-error.js";
7
9
  import { deployViaControlPlane, isFallbackEligible } from "../velocious/client.js";
8
10
  const TRANSPORT_CHOICES = new Set(["http", "ssh", "auto"]);
9
11
  /**
10
- * @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>}} args
12
+ * @param {import('#types').CommandArgs & {sshCredentialScope?: (callback: () => Promise<any>) => Promise<any>, deployLogFactory?: typeof openDeployLog}} args
11
13
  * @returns {Promise<void>}
12
14
  */
13
- export async function deployCommand({ stageName, options, commandContext = defaultCommandContext, sshCredentialScope }) {
14
- const reporter = options.json ? jsonReporter() : humanReporter();
15
+ export async function deployCommand({ stageName, options, commandContext = defaultCommandContext, sshCredentialScope, deployLogFactory = openDeployLog }) {
16
+ const reporter = options.json ? jsonReporter() : humanReporter({ showCommands: false });
15
17
  const transportChoice = resolveDeployTransportChoice(options);
16
18
  const { config, stage, transport } = await commandContext(options, stageName, { reporter });
17
19
  if (transportChoice === "http" && !stage.http) {
@@ -20,9 +22,16 @@ export async function deployCommand({ stageName, options, commandContext = defau
20
22
  const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
21
23
  const sourcePath = options.source ?? process.cwd();
22
24
  // A dry run only prints a plan, so there is no deploy transcript worth keeping.
23
- const deployLog = options.dryRun ? null : openDeployLog({ config, sourcePath, stageName });
25
+ const deployLog = options.dryRun ? null : deployLogFactory({ config, sourcePath, stageName });
26
+ let deployLogCloseStarted = false;
27
+ const closeDeployLog = async () => {
28
+ if (!deployLog || deployLogCloseStarted)
29
+ return;
30
+ deployLogCloseStarted = true;
31
+ await deployLog.close();
32
+ };
24
33
  if (deployLog) {
25
- reporter.attachLogStream(deployLog.stream);
34
+ reporter.useDeployLog(deployLog.stream);
26
35
  // Emitted through the reporter so it records its own path as the log's first
27
36
  // line and stays off stdout in `--json` mode.
28
37
  reporter.line(`Logging deploy output to ${deployLog.path}`);
@@ -78,20 +87,81 @@ export async function deployCommand({ stageName, options, commandContext = defau
78
87
  else {
79
88
  report = await directDeploy();
80
89
  }
81
- if (options.json || "plan" in report) {
90
+ if ("plan" in report) {
82
91
  console.log(JSON.stringify(report, null, 2));
83
92
  return;
84
93
  }
85
- printSummary(/** @type {import('#types').DeployReport} */ (report), deployLog?.path);
94
+ const deployReport = /** @type {import('#types').DeployReport} */ (report);
95
+ const summary = summaryLines(deployReport, deployLog?.path);
96
+ if (deployLog)
97
+ for (const line of summary)
98
+ reporter.log(line);
99
+ let closeWarning;
100
+ try {
101
+ await closeDeployLog();
102
+ }
103
+ catch (error) {
104
+ closeWarning = deployLogCloseWarning(error, /** @type {string} */ (deployLog?.path));
105
+ deployReport.warnings = [...(deployReport.warnings ?? []), closeWarning];
106
+ }
107
+ reporter.attachLogStream(null);
108
+ printSummary(summary, reporter);
109
+ if (closeWarning)
110
+ reporter.line(` ! Warning: ${closeWarning}`);
111
+ if (options.json)
112
+ process.stdout.write(`${JSON.stringify(deployReport, null, 2)}\n`);
86
113
  }
87
114
  catch (error) {
88
- if (deployLog)
89
- deployLog.stream.write(`\nDeploy failed: ${ /** @type {Error} */(error).message}\n`);
90
- throw error;
115
+ const primaryCause = /** @type {Error} */ (error);
116
+ const primaryMetadata = errorMetadata(primaryCause);
117
+ if (deployLog && !deployLogCloseStarted) {
118
+ const status = primaryMetadata.signal ? `signal ${primaryMetadata.signal}` : primaryMetadata.exitCode !== undefined ? `exit ${primaryMetadata.exitCode}` : undefined;
119
+ reporter.log(`\nDeploy failed at ${primaryMetadata.step ?? "Deployment"}${status ? ` (${status})` : ""}: ${primaryCause.message}`);
120
+ }
121
+ /** @type {Error|AggregateError} */
122
+ let cause = primaryCause;
123
+ try {
124
+ await closeDeployLog();
125
+ }
126
+ catch (closeError) {
127
+ if (closeError !== primaryCause) {
128
+ cause = new AggregateError([primaryCause, closeError], "Deployment failed and the deploy log could not be closed", { cause: primaryCause });
129
+ }
130
+ }
131
+ const metadata = errorMetadata(cause);
132
+ const step = metadata.step ?? "Deployment";
133
+ const status = metadata.signal ? `signal ${metadata.signal}` : metadata.exitCode !== undefined ? `exit ${metadata.exitCode}` : undefined;
134
+ const noLogDiagnostics = !deployLog ? metadata.diagnostics || metadata.output : undefined;
135
+ const reasonText = noLogDiagnostics
136
+ ? noLogDiagnostics
137
+ : /** @type {Error & {failureReason?: string}} */ (primaryCause).failureReason ?? primaryCause.message;
138
+ const redactedReason = redactText(reasonText);
139
+ const diagnosticLines = noLogDiagnostics ? redactedReason.split(/\r?\n/u).filter(line => line.trim().length > 0) : [];
140
+ const topLevelDiagnosticLines = diagnosticLines.filter(line => !/^\s/u.test(line));
141
+ const reasonLine = noLogDiagnostics
142
+ ? topLevelDiagnosticLines.find(line => /error|fail/iu.test(line)) ?? topLevelDiagnosticLines.at(-1) ?? diagnosticLines.at(-1) ?? ""
143
+ : redactedReason.split("\n", 1)[0];
144
+ const conciseReason = reasonLine.trim().replace(/[.!?]+$/u, "").slice(0, 240);
145
+ const reason = (status && !noLogDiagnostics) || (deployLog && metadata.command) ? "" : `: ${conciseReason}`;
146
+ const summary = `✘ Deploy failed at ${step}${status ? ` (${status})` : ""}${reason}.${deployLog ? ` Deploy log: ${deployLog.path}` : ""}`;
147
+ const failure = /** @type {Error & {reported?: boolean}} */ (wrapError(summary, cause));
148
+ if (options.json) {
149
+ process.stdout.write(`${JSON.stringify({
150
+ event: "deploy",
151
+ status: "failed",
152
+ stage: stageName,
153
+ step,
154
+ error: summary,
155
+ ...(metadata.exitCode === undefined ? {} : { exitCode: metadata.exitCode }),
156
+ ...(metadata.signal === undefined ? {} : { signal: metadata.signal }),
157
+ ...(deployLog ? { deployLog: deployLog.path } : {})
158
+ }, null, 2)}\n`);
159
+ failure.reported = true;
160
+ }
161
+ throw failure;
91
162
  }
92
163
  finally {
93
- if (deployLog)
94
- await deployLog.close();
164
+ await closeDeployLog();
95
165
  }
96
166
  }
97
167
  /**
@@ -132,27 +202,48 @@ function transportLabel(transport) {
132
202
  /**
133
203
  * Prints a concise Capistrano-style final summary of a successful deploy.
134
204
  *
205
+ * @param {string[]} lines
206
+ * @param {import('../core/reporter.js').Reporter} reporter
207
+ * @returns {void}
208
+ */
209
+ function printSummary(lines, reporter) {
210
+ for (const line of lines)
211
+ reporter.line(line);
212
+ }
213
+ /**
214
+ * @param {unknown} error
215
+ * @param {string} logPath
216
+ * @returns {string}
217
+ */
218
+ function deployLogCloseWarning(error, logPath) {
219
+ const message = error instanceof Error ? error.message : String(error);
220
+ const detail = redactText(message).split("\n", 1)[0].replace(/[.!?]+$/u, "").slice(0, 240);
221
+ return `Deploy log could not be closed${detail ? `: ${detail}` : ""}. Deploy log: ${logPath}`;
222
+ }
223
+ /**
135
224
  * @param {import('#types').DeployReport} report
136
225
  * @param {string} [logPath] Path of the persistent per-deploy log, when written.
137
- * @returns {void}
226
+ * @returns {string[]}
138
227
  */
139
- function printSummary(report, logPath) {
228
+ function summaryLines(report, logPath) {
140
229
  const seconds = report.durationMs === undefined ? undefined : (report.durationMs / 1000).toFixed(1);
230
+ const lines = [];
141
231
  if (report.coalesced) {
142
- console.log(`✔ Coalesced ${report.application}/${report.stage} revision ${report.revision} onto release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
143
- return;
232
+ lines.push(`✔ Coalesced ${report.application}/${report.stage} revision ${report.revision} onto release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
233
+ }
234
+ else if (report.idempotent) {
235
+ lines.push(`✔ ${report.application}/${report.stage} revision ${report.revision} is already active as release ${report.releaseId}; no release or runtime lifecycle ran`);
144
236
  }
145
- if (report.idempotent) {
146
- console.log(`✔ ${report.application}/${report.stage} revision ${report.revision} is already active as release ${report.releaseId}; no release or runtime lifecycle ran`);
147
- return;
237
+ else {
238
+ lines.push(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
239
+ if (report.previousRelease)
240
+ lines.push(` Previous release: ${report.previousRelease}`);
241
+ lines.push(` Health checks: ${report.healthChecks ?? "n/a"}`);
242
+ const removed = report.cleanupRemoved ?? [];
243
+ lines.push(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
148
244
  }
149
- console.log(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
150
- if (report.previousRelease)
151
- console.log(` Previous release: ${report.previousRelease}`);
152
- console.log(` Health checks: ${report.healthChecks ?? "n/a"}`);
153
- const removed = report.cleanupRemoved ?? [];
154
- console.log(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
155
245
  if (logPath)
156
- console.log(` Deploy log: ${logPath}`);
246
+ lines.push(` Deploy log: ${logPath}`);
247
+ return lines;
157
248
  }
158
249
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {import('#types').CommandArgs} args
3
+ * @returns {Promise<void>}
4
+ */
5
+ export function runtimeRecoverGenerationTransitionCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
6
+ //# sourceMappingURL=recover-generation-transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover-generation-transition.d.ts","sourceRoot":"","sources":["../../../src/commands/recover-generation-transition.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,kGAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAWzB"}
@@ -0,0 +1,18 @@
1
+ import { commandContext as defaultCommandContext } from "./context.js";
2
+ import { recoverGenerationTransition } from "../core/recover-generation-transition.js";
3
+ /**
4
+ * @param {import('#types').CommandArgs} args
5
+ * @returns {Promise<void>}
6
+ */
7
+ export async function runtimeRecoverGenerationTransitionCommand({ stageName, options, commandContext = defaultCommandContext }) {
8
+ if (!options.yes && stageName === "production")
9
+ throw new Error("Refusing production failed-generation recovery without --yes in non-interactive mode.");
10
+ const { stage, transport } = await commandContext(options, stageName);
11
+ const result = await recoverGenerationTransition({
12
+ releaseId: /** @type {string} */ (options.releaseId),
13
+ stage,
14
+ transport
15
+ });
16
+ console.log(JSON.stringify(result, null, 2));
17
+ }
18
+ //# sourceMappingURL=recover-generation-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover-generation-transition.js","sourceRoot":"","sources":["../../../src/commands/recover-generation-transition.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,2BAA2B,EAAC,MAAM,0CAA0C,CAAA;AAEpF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAC1H,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAA;IACxJ,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAC/C,SAAS,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpD,KAAK;QACL,SAAS;KACV,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Creates a command failure whose human message can stay concise while its
3
+ * redacted command and output remain available to logs and classifiers.
4
+ *
5
+ * @param {{command: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, cause?: unknown, concise?: boolean}} opts
6
+ * @returns {Error & {command: string, output: string, diagnostics?: string, exitCode?: number, signal?: string}}
7
+ */
8
+ export function commandError({ command, output, diagnostics, exitCode, signal, cause, concise }: {
9
+ command: string;
10
+ output?: string;
11
+ diagnostics?: string;
12
+ exitCode?: number;
13
+ signal?: string;
14
+ cause?: unknown;
15
+ concise?: boolean;
16
+ }): Error & {
17
+ command: string;
18
+ output: string;
19
+ diagnostics?: string;
20
+ exitCode?: number;
21
+ signal?: string;
22
+ };
23
+ /**
24
+ * Wraps an error with domain context without losing command diagnostics,
25
+ * process status, the failed step, or the causal chain.
26
+ *
27
+ * @param {string} message
28
+ * @param {unknown} cause
29
+ * @returns {Error & {command?: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, step?: string}}
30
+ */
31
+ export function wrapError(message: string, cause: unknown): Error & {
32
+ command?: string;
33
+ output?: string;
34
+ diagnostics?: string;
35
+ exitCode?: number;
36
+ signal?: string;
37
+ step?: string;
38
+ };
39
+ /**
40
+ * Finds structured command/process metadata through wrapper causes.
41
+ *
42
+ * @param {unknown} error
43
+ * @returns {{command?: string, output?: string, diagnostics?: string, exitCode?: number, signal?: string, step?: string}}
44
+ */
45
+ export function errorMetadata(error: unknown): {
46
+ command?: string;
47
+ output?: string;
48
+ diagnostics?: string;
49
+ exitCode?: number;
50
+ signal?: string;
51
+ step?: string;
52
+ };
53
+ /**
54
+ * Returns all redacted failure text available to internal classifiers.
55
+ *
56
+ * @param {unknown} error
57
+ * @returns {string}
58
+ */
59
+ export function errorDiagnostics(error: unknown): string;
60
+ //# sourceMappingURL=command-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-error.d.ts","sourceRoot":"","sources":["../../../src/core/command-error.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iGAHW;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,GAC9H,KAAK,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAc/G;AAED;;;;;;;GAOG;AACH,mCAJW,MAAM,SACN,OAAO,GACL,KAAK,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAchI;AAED;;;;;GAKG;AACH,qCAHW,OAAO,GACL;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAkBxH;AAED;;;;;GAKG;AACH,wCAHW,OAAO,GACL,MAAM,CAoBlB"}