rampway 0.4.0 → 0.5.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.
Files changed (52) hide show
  1. package/README.md +49 -9
  2. package/build/src/cli.d.ts.map +1 -1
  3. package/build/src/cli.js +5 -1
  4. package/build/src/cli.js.map +1 -1
  5. package/build/src/commands/rollback.d.ts +1 -1
  6. package/build/src/commands/rollback.d.ts.map +1 -1
  7. package/build/src/commands/rollback.js +6 -4
  8. package/build/src/commands/rollback.js.map +1 -1
  9. package/build/src/commands/rollbridge.d.ts +8 -0
  10. package/build/src/commands/rollbridge.d.ts.map +1 -1
  11. package/build/src/commands/rollbridge.js +67 -18
  12. package/build/src/commands/rollbridge.js.map +1 -1
  13. package/build/src/config/validate-config.d.ts.map +1 -1
  14. package/build/src/config/validate-config.js +50 -0
  15. package/build/src/config/validate-config.js.map +1 -1
  16. package/build/src/core/deploy-runner.d.ts +4 -2
  17. package/build/src/core/deploy-runner.d.ts.map +1 -1
  18. package/build/src/core/deploy-runner.js +292 -18
  19. package/build/src/core/deploy-runner.js.map +1 -1
  20. package/build/src/core/paths.d.ts.map +1 -1
  21. package/build/src/core/paths.js +1 -0
  22. package/build/src/core/paths.js.map +1 -1
  23. package/build/src/core/release-manager.d.ts +23 -0
  24. package/build/src/core/release-manager.d.ts.map +1 -1
  25. package/build/src/core/release-manager.js +95 -7
  26. package/build/src/core/release-manager.js.map +1 -1
  27. package/build/src/core/runtime-state.d.ts +17 -0
  28. package/build/src/core/runtime-state.d.ts.map +1 -0
  29. package/build/src/core/runtime-state.js +76 -0
  30. package/build/src/core/runtime-state.js.map +1 -0
  31. package/build/src/runtimes/none-runtime.d.ts +2 -0
  32. package/build/src/runtimes/none-runtime.d.ts.map +1 -1
  33. package/build/src/runtimes/none-runtime.js +4 -0
  34. package/build/src/runtimes/none-runtime.js.map +1 -1
  35. package/build/src/runtimes/rollbridge-runtime.d.ts +128 -26
  36. package/build/src/runtimes/rollbridge-runtime.d.ts.map +1 -1
  37. package/build/src/runtimes/rollbridge-runtime.js +366 -61
  38. package/build/src/runtimes/rollbridge-runtime.js.map +1 -1
  39. package/build/src/transports/local-transport.d.ts +10 -0
  40. package/build/src/transports/local-transport.d.ts.map +1 -1
  41. package/build/src/transports/local-transport.js +21 -0
  42. package/build/src/transports/local-transport.js.map +1 -1
  43. package/build/src/transports/ssh-transport.d.ts +20 -0
  44. package/build/src/transports/ssh-transport.d.ts.map +1 -1
  45. package/build/src/transports/ssh-transport.js +37 -0
  46. package/build/src/transports/ssh-transport.js.map +1 -1
  47. package/build/src/types.d.ts +68 -0
  48. package/build/src/types.d.ts.map +1 -1
  49. package/docs/config-reference.md +53 -5
  50. package/docs/migration-from-capistrano.md +24 -1
  51. package/examples/monorepo/rampway.config.mjs +1 -2
  52. package/package.json +1 -1
package/README.md CHANGED
@@ -66,13 +66,16 @@ rampway production rollback
66
66
  rampway production doctor
67
67
  rampway production doctor --json
68
68
 
69
- # Rollbridge runtime helpers for the current release
70
- rampway production rollbridge-validate
71
- rampway production rollbridge-status
72
- rampway production rollbridge-logs
73
- rampway production rollbridge-recover --yes
69
+ # Runtime maintenance for the current release
70
+ rampway production runtime-validate
71
+ rampway production runtime-status
72
+ rampway production runtime-logs
73
+ rampway production runtime-recover --yes
74
74
  ```
75
75
 
76
+ The older `rollbridge-validate`, `rollbridge-status`, `rollbridge-logs`, and
77
+ `rollbridge-recover` names remain aliases for Rollbridge stages.
78
+
76
79
  ### Live deploy output and automation
77
80
 
78
81
  A normal deploy reports real lifecycle steps and remote command output as it arrives, then ends with a concise result:
@@ -157,7 +160,6 @@ export default {
157
160
  command: "npx rollbridge",
158
161
  packageDir: "backend",
159
162
  config: "config/rollbridge.production.mjs",
160
- healthPath: "/health",
161
163
  daemonLogPath: "/home/dev/routergeist/shared/log/rollbridge.log",
162
164
  daemonPidPath: "/home/dev/routergeist/shared/tmp/pids/rollbridge.pid",
163
165
  socketPath: "/tmp/rollbridge-routergeist.sock",
@@ -168,6 +170,23 @@ export default {
168
170
  }
169
171
  ```
170
172
 
173
+ For Rollbridge, an explicit `runtime.config` is resolved relative to
174
+ `runtime.packageDir`, fingerprinted with the Rollbridge package version,
175
+ runtime options, and environment values, then copied into immutable
176
+ Rampway-owned material under `shared/rampway/runtime/`. After runtime and health
177
+ succeed, Rampway atomically records only the known-good digest and secret-free
178
+ activation locators in `shared/rampway/state.json`, indexed by release. Secret
179
+ environment values participate in change detection but are never stored or
180
+ logged. Keep the Rollbridge config self-contained; imported sibling files are
181
+ not copied.
182
+
183
+ That stable state lets rollback and runtime maintenance target a retained release
184
+ whose checkout has no Rampway helper or Rollbridge config. `packageDir` remains
185
+ relative to the selected application release, while the stored config comes from
186
+ trusted known-good material. A missing, malformed, mismatched, or config-less
187
+ Rollbridge state fails rollback before runtime or `current` changes. The first
188
+ successful Rampway deploy with an explicit config seeds this state.
189
+
171
190
  `npmInstall`, `pnpmInstall`, `yarnInstall`, `bunInstall`, and `nodePackageInstall` return normal task entries with the right install command for common Node package managers. They accept `cwd`, `env`, `optional`, `production`, and lockfile options such as `clean: false` for `npm install` instead of `npm ci`, or `frozenLockfile: false` for package managers that need explicit CI lockfile opt-outs (`--no-frozen-lockfile` for pnpm and `--no-immutable` for Yarn). Yarn production installs are intentionally not guessed; use a custom task command when that project needs a specific Yarn workspace/plugin flow.
172
191
 
173
192
  `checkExpoWebArtifacts` returns a task entry that fails if the Expo web build directory does not contain an `index.html`. It accepts `dir` (default `"dist"`), `cwd`, and `optional`.
@@ -183,7 +202,20 @@ Task entries can be strings or objects.
183
202
  - `env` — optional environment variables passed to the command.
184
203
  - `optional` — when `true`, the deploy records the task failure and continues.
185
204
 
186
- Task groups run in config order. Required task failures stop the deploy before publish. Deploy failures include whether `current` changed and recovery hints for the affected stage, such as rerunning a before-publish failure, inspecting a newly created failed release directory, or inspecting `rampway status`, `rampway releases`, and `rampway rollback` after a failure that happened after publish. Existing release-id collisions do not suggest deleting the release directory.
205
+ Task groups run in config order. Required task failures stop the deploy before publish. If a candidate runtime handoff starts and then fails before publish, Rampway reactivates and health-checks the previous release using that release's known-good snapshot. Deploy failures include whether `current` changed and recovery hints for the affected stage, such as rerunning a before-publish failure, inspecting a newly created failed release directory, or inspecting `rampway status`, `rampway releases`, and `rampway rollback` after a failure that happened after publish. Existing release-id collisions do not suggest deleting the release directory.
206
+
207
+ Rollback runs under the same exclusive lock as deploy but never runs deploy task
208
+ groups, migrations, or candidate-local Rampway helpers. Rampway resolves one
209
+ retained release directory, activates it with the installed runtime adapter,
210
+ runs the configured health checks, and only then publishes `current`. If target
211
+ activation or health fails, Rampway reactivates and health-checks the prior
212
+ release before returning the original failure. Use `--to <exact-release-id>` for
213
+ a retained Capistrano release. Unsafe, nested, temporary, escaping, and
214
+ outside-symlink targets are rejected.
215
+
216
+ Release diagnostics include safe retained legacy directories. Cleanup ownership
217
+ does not: only releases carrying valid Rampway metadata for the configured
218
+ application and stage count toward `keepReleases` or can be removed by Rampway.
187
219
 
188
220
  Standalone operational tasks are configured separately under `operationalTasks` and run only when explicitly selected with `rampway <stage> task <exact-name>`. Rampway acquires the shared deploy lock, strictly resolves the active release, and runs every required entry against that immutable release path. `forwardEnv` names caller-supplied environment variables that must be present; their values are transported separately from ordinary `env` and redacted from output and errors. Operational tasks do not run during deploy, accept no command arguments or `--force`, and are not included in the plural `tasks` deploy-task inventory.
189
221
 
@@ -212,7 +244,10 @@ Every successful deploy or rollback appends one JSON object per line to `shared/
212
244
  - sanitized runtime status
213
245
  - `cleanupRemoved` release IDs
214
246
 
215
- Rollback events include `event: "rollback"`, the target `releaseId`, `rolledBackAt`, and `previousRelease`. Reports intentionally record runtime result summaries, not runtime configuration secrets.
247
+ Rollback events include `event: "rollback"`, target `releaseId` and `revision`,
248
+ `rolledBackAt`, `durationMs`, `previousRelease`, `healthChecks: "passed"`, and a
249
+ sanitized runtime result. Reports intentionally record runtime result summaries,
250
+ not runtime configuration or secrets.
216
251
 
217
252
  ## Releasing
218
253
 
@@ -230,7 +265,12 @@ Publishing requires an npm access token stored as the repository secret `NPM_TOK
230
265
 
231
266
  ## Runtime adapters
232
267
 
233
- Rampway resolves runtimes through a small adapter registry. Built-in adapters are `none` and `rollbridge`; future adapters can register a runtime type without changing the deploy lifecycle core. Runtime adapters implement `plan()` and `deploy(...)`; optional maintenance methods such as `status`, `logs`, and `recover` can be exposed by adapter-specific commands.
268
+ Rampway resolves runtimes through a small adapter registry. Built-in adapters are
269
+ `none` and `rollbridge`; future adapters can register a runtime type without
270
+ changing the deploy lifecycle core. Runtime adapters implement `plan()` and
271
+ `deploy(...)`. Optional `prepare(...)` and `commit(...)` methods participate in
272
+ secret-free known-good state, and optional `validate`, `status`, `logs`, and
273
+ `recover` methods are exposed by the generic runtime commands.
234
274
 
235
275
  Rollbridge runtime options:
236
276
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";AA8CA;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAUzB;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,CA2B9G"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";AAkDA;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAUzB;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,CA2B9G"}
package/build/src/cli.js CHANGED
@@ -7,7 +7,7 @@ import { doctorCommand } from "./commands/doctor.js";
7
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
- import { rollbridgeValidateCommand, rollbridgeStatusCommand, rollbridgeLogsCommand, rollbridgeRecoverCommand } from "./commands/rollbridge.js";
10
+ import { rollbridgeValidateCommand, rollbridgeStatusCommand, rollbridgeLogsCommand, rollbridgeRecoverCommand, runtimeValidateCommand, runtimeStatusCommand, runtimeLogsCommand, runtimeRecoverCommand } from "./commands/rollbridge.js";
11
11
  import { tasksCommand } from "./commands/tasks.js";
12
12
  import { taskCommand } from "./commands/task.js";
13
13
  import { initCommand } from "./commands/init.js";
@@ -27,6 +27,10 @@ const COMMANDS = {
27
27
  "rollbridge-status": rollbridgeStatusCommand,
28
28
  "rollbridge-logs": rollbridgeLogsCommand,
29
29
  "rollbridge-recover": rollbridgeRecoverCommand,
30
+ "runtime-validate": runtimeValidateCommand,
31
+ "runtime-status": runtimeStatusCommand,
32
+ "runtime-logs": runtimeLogsCommand,
33
+ "runtime-recover": runtimeRecoverCommand,
30
34
  doctor: doctorCommand
31
35
  };
32
36
  /**
@@ -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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"}
@@ -2,5 +2,5 @@
2
2
  * @param {import('#types').CommandArgs} args
3
3
  * @returns {Promise<void>}
4
4
  */
5
- export function rollbackCommand({ stageName, options }: import("#types").CommandArgs): Promise<void>;
5
+ export function rollbackCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
6
6
  //# sourceMappingURL=rollback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../../src/commands/rollback.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wDAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMzB"}
1
+ {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../../src/commands/rollback.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOzB"}
@@ -1,12 +1,14 @@
1
- import { commandContext } from "./context.js";
1
+ import { commandContext as defaultCommandContext } from "./context.js";
2
2
  import { rollback } from "../core/deploy-runner.js";
3
+ import { jsonReporter } from "../core/reporter.js";
3
4
  /**
4
5
  * @param {import('#types').CommandArgs} args
5
6
  * @returns {Promise<void>}
6
7
  */
7
- export async function rollbackCommand({ stageName, options }) {
8
- const { stage, transport } = await commandContext(options, stageName);
9
- const report = await rollback({ transport, stage, to: options.to });
8
+ export async function rollbackCommand({ stageName, options, commandContext = defaultCommandContext }) {
9
+ const reporter = jsonReporter();
10
+ const { stage, transport } = await commandContext(options, stageName, { reporter });
11
+ const report = await rollback({ transport, stage, to: options.to, reporter });
10
12
  console.log(JSON.stringify(report, null, 2));
11
13
  }
12
14
  //# sourceMappingURL=rollback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/rollback.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC;IACxD,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAC,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../../src/commands/rollback.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAChG,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAA;IAC/B,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;IAC/E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAA;IAC3E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
@@ -18,4 +18,12 @@ export function rollbridgeLogsCommand({ stageName, options, commandContext }: im
18
18
  * @returns {Promise<void>}
19
19
  */
20
20
  export function rollbridgeRecoverCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
21
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
22
+ export function runtimeValidateCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
23
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
24
+ export function runtimeStatusCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
25
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
26
+ export function runtimeLogsCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
27
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
28
+ export function runtimeRecoverCommand({ stageName, options, commandContext }: import("#types").CommandArgs): Promise<void>;
21
29
  //# sourceMappingURL=rollbridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollbridge.d.ts","sourceRoot":"","sources":["../../../src/commands/rollbridge.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,kFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,gFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,8EAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,iFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAKzB"}
1
+ {"version":3,"file":"rollbridge.d.ts","sourceRoot":"","sources":["../../../src/commands/rollbridge.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH,kFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,gFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,8EAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;GAGG;AACH,iFAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAKzB;AAED,0EAA0E;AAC1E,+EADY,OAAO,QAAQ,EAAE,WAAW,GAAiB,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED,0EAA0E;AAC1E,6EADY,OAAO,QAAQ,EAAE,WAAW,GAAiB,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED,0EAA0E;AAC1E,2EADY,OAAO,QAAQ,EAAE,WAAW,GAAiB,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED,0EAA0E;AAC1E,8EADY,OAAO,QAAQ,EAAE,WAAW,GAAiB,OAAO,CAAC,IAAI,CAAC,CAIrE"}
@@ -1,27 +1,30 @@
1
1
  import path from "node:path";
2
2
  import { commandContext as defaultCommandContext } from "./context.js";
3
3
  import { runtimeFor } from "../runtimes/index.js";
4
+ import { requireCurrentRelease, resolveRetainedRelease } from "../core/release-manager.js";
5
+ import { readRuntimeState } from "../core/runtime-state.js";
6
+ import { acquireLock, releaseLock } from "../core/locks.js";
4
7
  import { deployPaths } from "../core/paths.js";
5
8
  /**
6
9
  * @param {import('#types').CommandArgs} args
7
10
  * @returns {Promise<void>}
8
11
  */
9
12
  export async function rollbridgeValidateCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
10
- await runRollbridgeCommand({ stageName, options, commandContext, method: "validate" });
13
+ await runRuntimeCommand({ stageName, options, commandContext, method: "validate", requiredType: "rollbridge" });
11
14
  }
12
15
  /**
13
16
  * @param {import('#types').CommandArgs} args
14
17
  * @returns {Promise<void>}
15
18
  */
16
19
  export async function rollbridgeStatusCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
17
- await runRollbridgeCommand({ stageName, options, commandContext, method: "status" });
20
+ await runRuntimeCommand({ stageName, options, commandContext, method: "status", requiredType: "rollbridge" });
18
21
  }
19
22
  /**
20
23
  * @param {import('#types').CommandArgs} args
21
24
  * @returns {Promise<void>}
22
25
  */
23
26
  export async function rollbridgeLogsCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
24
- await runRollbridgeCommand({ stageName, options, commandContext, method: "logs" });
27
+ await runRuntimeCommand({ stageName, options, commandContext, method: "logs", requiredType: "rollbridge" });
25
28
  }
26
29
  /**
27
30
  * @param {import('#types').CommandArgs} args
@@ -30,7 +33,25 @@ export async function rollbridgeLogsCommand({ stageName, options, commandContext
30
33
  export async function rollbridgeRecoverCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
31
34
  if (!options.yes && stageName === "production")
32
35
  throw new Error("Refusing production Rollbridge recover without --yes in non-interactive MVP mode.");
33
- await runRollbridgeCommand({ stageName, options, commandContext, method: "recover", runtimeOptions: { force: true } });
36
+ await runRuntimeCommand({ stageName, options, commandContext, method: "recover", runtimeOptions: { force: true }, requiredType: "rollbridge" });
37
+ }
38
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
39
+ export async function runtimeValidateCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
40
+ await runRuntimeCommand({ stageName, options, commandContext, method: "validate" });
41
+ }
42
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
43
+ export async function runtimeStatusCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
44
+ await runRuntimeCommand({ stageName, options, commandContext, method: "status" });
45
+ }
46
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
47
+ export async function runtimeLogsCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
48
+ await runRuntimeCommand({ stageName, options, commandContext, method: "logs" });
49
+ }
50
+ /** @param {import('#types').CommandArgs} args @returns {Promise<void>} */
51
+ export async function runtimeRecoverCommand({ stageName, options, commandContext = defaultRuntimeCommandContext }) {
52
+ if (!options.yes && stageName === "production")
53
+ throw new Error("Refusing production runtime recover without --yes in non-interactive MVP mode.");
54
+ await runRuntimeCommand({ stageName, options, commandContext, method: "recover", runtimeOptions: { force: true } });
34
55
  }
35
56
  /**
36
57
  * @param {import('#types').CommandOptions} options
@@ -42,28 +63,56 @@ async function defaultRuntimeCommandContext(options, stageName) {
42
63
  return { ...context, runtime: runtimeFor(context.stage) };
43
64
  }
44
65
  /**
45
- * @param {{stageName: string, options: import('#types').CommandOptions, commandContext: Function, method: string, runtimeOptions?: object}} opts
66
+ * @param {{stageName: string, options: import('#types').CommandOptions, commandContext: Function, method: string, runtimeOptions?: object, requiredType?: string}} opts
46
67
  * @returns {Promise<void>}
47
68
  */
48
- async function runRollbridgeCommand({ stageName, options, commandContext, method, runtimeOptions = {} }) {
69
+ async function runRuntimeCommand({ stageName, options, commandContext, method, runtimeOptions = {}, requiredType }) {
49
70
  const { stage, transport, runtime } = await commandContext(options, stageName);
50
- if (stage.runtime.type !== "rollbridge")
71
+ if (requiredType && stage.runtime.type !== requiredType)
51
72
  throw new Error(`Stage '${stageName}' does not use the Rollbridge runtime.`);
52
- const releasePath = pathForRollbridgeCommand(stage, options);
53
- const result = await runtime[method](transport, { releasePath, ...runtimeOptions });
54
- if (result?.output)
55
- process.stdout.write(result.output);
73
+ if (typeof runtime[method] !== "function")
74
+ throw new Error(`Runtime '${stage.runtime.type}' does not support ${method}.`);
75
+ const lock = await acquireLock(transport, stage);
76
+ try {
77
+ const target = await runtimeCommandTarget(transport, stage, options);
78
+ const state = await readRuntimeState(transport, stage);
79
+ const active = state?.active;
80
+ const snapshot = target.releaseId && active?.releaseId === target.releaseId && active.runtime.type === stage.runtime.type ? active.runtime : undefined;
81
+ if (snapshot && runtime.verifySnapshot)
82
+ await runtime.verifySnapshot(transport, { snapshot, runtimePath: deployPaths(stage).runtimePath });
83
+ const result = await runtime[method](transport, { releasePath: target.releasePath, ...(snapshot ? { snapshot } : {}), ...runtimeOptions });
84
+ if (result?.output)
85
+ process.stdout.write(result.output);
86
+ }
87
+ finally {
88
+ await releaseLock(transport, stage, lock);
89
+ }
56
90
  }
57
91
  /**
92
+ * @param {import('#types').Transport} transport
58
93
  * @param {import('#types').StageConfig} stage
59
94
  * @param {import('#types').CommandOptions} options
60
- * @returns {string}
95
+ * @returns {Promise<{releasePath: string, releaseId?: string}>}
61
96
  */
62
- function pathForRollbridgeCommand(stage, options) {
63
- if (options.releasePath)
64
- return options.releasePath;
65
- if (options.releaseId)
66
- return path.join(deployPaths(stage).releasesPath, options.releaseId);
67
- return deployPaths(stage).currentPath;
97
+ async function runtimeCommandTarget(transport, stage, options) {
98
+ const current = await requireCurrentRelease(transport, stage);
99
+ let selected;
100
+ if (options.releasePath) {
101
+ const releasesPath = path.resolve(deployPaths(stage).releasesPath);
102
+ const relative = path.relative(releasesPath, path.resolve(options.releasePath));
103
+ if (!relative || path.isAbsolute(relative) || relative.includes(path.sep)) {
104
+ throw new Error("Runtime command --release-path must identify one direct child of releases/.");
105
+ }
106
+ selected = await resolveRetainedRelease(transport, stage, relative);
107
+ }
108
+ else if (options.releaseId) {
109
+ selected = await resolveRetainedRelease(transport, stage, options.releaseId);
110
+ }
111
+ else {
112
+ return current;
113
+ }
114
+ if (selected.releaseId !== current.releaseId)
115
+ throw new Error("Runtime maintenance commands can target only the active release.");
116
+ return selected;
68
117
  }
69
118
  //# sourceMappingURL=rollbridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollbridge.js","sourceRoot":"","sources":["../../../src/commands/rollbridge.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollbridge.js","sourceRoot":"","sources":["../../../src/commands/rollbridge.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IACjH,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAA;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC/G,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAA;AAC7G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC7G,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAA;AAC3G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAChH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAA;IACpJ,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAA;AAC7I,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC9G,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC,CAAA;AACnF,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC5G,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAA;AACjF,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC1G,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;AAC/E,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,4BAA4B,EAAC;IAC7G,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;IACjJ,MAAM,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,EAAC,CAAC,CAAA;AACjH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,4BAA4B,CAAC,OAAO,EAAE,SAAS;IAC5D,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC/D,OAAO,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAA;AACzD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,YAAY,EAAC;IAC9G,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC5E,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,wCAAwC,CAAC,CAAA;IACrI,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,sBAAsB,MAAM,GAAG,CAAC,CAAA;IACzH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QACtJ,IAAI,QAAQ,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAC,CAAC,CAAA;QACxI,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,EAAC,CAAC,CAAA;QACtI,IAAI,MAAM,EAAE,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO;IAC3D,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,IAAI,QAAQ,CAAA;IACZ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/E,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAA;QAChG,CAAC;QACD,QAAQ,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC;SAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7B,QAAQ,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACjI,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACvB,MAAM,GACJ,OAAO,QAAQ,EAAE,WAAW,CAcxC;AAmED;;;GAGG;AACH,iDAHW,OAAO,GACL,OAAO,CAInB"}
1
+ {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACvB,MAAM,GACJ,OAAO,QAAQ,EAAE,WAAW,CAcxC;AAiHD;;;GAGG;AACH,iDAHW,OAAO,GACL,OAAO,CAInB"}
@@ -66,6 +66,56 @@ function validateStage(stage, errors) {
66
66
  const supportedRuntimes = runtimeTypeNames();
67
67
  if (!supportedRuntimes.includes(runtimeType))
68
68
  errors.push(`stage.runtime.type must be one of ${supportedRuntimes.join(", ")}`);
69
+ if (runtimeType === "rollbridge")
70
+ validateRollbridgeRuntime(stage.runtime ?? stage.rollbridge ?? { type: "rollbridge" }, errors);
71
+ }
72
+ /**
73
+ * @param {unknown} configured
74
+ * @param {string[]} errors
75
+ * @returns {void}
76
+ */
77
+ function validateRollbridgeRuntime(configured, errors) {
78
+ if (!isRecord(configured)) {
79
+ errors.push("stage.runtime must be an object");
80
+ return;
81
+ }
82
+ for (const field of ["command", "packageDir", "config"]) {
83
+ const value = configured[field];
84
+ if (value !== undefined && (typeof value !== "string" || value.trim().length === 0 || value.includes("\0"))) {
85
+ errors.push(`stage.runtime.${field} must be a non-empty string`);
86
+ }
87
+ }
88
+ if (typeof configured.packageDir === "string" && !isReleaseRelativeCwd(configured.packageDir)) {
89
+ errors.push("stage.runtime.packageDir must be a release-relative path that does not escape the release");
90
+ }
91
+ if (typeof configured.config === "string" && !isRuntimeConfigPath(configured.config)) {
92
+ errors.push("stage.runtime.config must be an absolute trusted path or a package-relative path that does not escape runtime.packageDir");
93
+ }
94
+ if (configured.daemonStartTimeoutMs !== undefined && (typeof configured.daemonStartTimeoutMs !== "number" || !Number.isInteger(configured.daemonStartTimeoutMs) || configured.daemonStartTimeoutMs <= 0)) {
95
+ errors.push("stage.runtime.daemonStartTimeoutMs must be a positive integer");
96
+ }
97
+ if (configured.env !== undefined && !isRecord(configured.env)) {
98
+ errors.push("stage.runtime.env must be an object");
99
+ }
100
+ else if (isRecord(configured.env)) {
101
+ for (const [name, value] of Object.entries(configured.env)) {
102
+ if (!isValidEnvironmentName(name))
103
+ errors.push(`stage.runtime.env: Invalid environment variable name '${name}'`);
104
+ if (typeof value !== "string")
105
+ errors.push(`stage.runtime.env.${name} must be a string`);
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * @param {string} configuredPath
111
+ * @returns {boolean}
112
+ */
113
+ function isRuntimeConfigPath(configuredPath) {
114
+ if (configuredPath.trim().length === 0 || configuredPath.includes("\0"))
115
+ return false;
116
+ if (path.posix.isAbsolute(configuredPath) || path.win32.isAbsolute(configuredPath))
117
+ return true;
118
+ return !configuredPath.split(/[\\/]+/u).includes("..");
69
119
  }
70
120
  /**
71
121
  * @param {Record<string, unknown>} config
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"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"}
@@ -24,13 +24,14 @@ export function deploy({ transport, stage, sourcePath, revision, branch, dryRun,
24
24
  plan: string[];
25
25
  }>;
26
26
  /**
27
- * @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, to?: string}} opts
27
+ * @param {{transport: import('#types').Transport, stage: import('#types').StageConfig, to?: string, reporter?: Reporter}} opts
28
28
  * @returns {Promise<import('#types').RollbackReport>}
29
29
  */
30
- export function rollback({ transport, stage, to }: {
30
+ export function rollback({ transport, stage, to, reporter }: {
31
31
  transport: import("#types").Transport;
32
32
  stage: import("#types").StageConfig;
33
33
  to?: string;
34
+ reporter?: Reporter;
34
35
  }): Promise<import("#types").RollbackReport>;
35
36
  /**
36
37
  * @param {{error: Error, published: boolean, releaseCreated?: boolean, stage: import('#types').StageConfig, releaseId: string}} opts
@@ -43,4 +44,5 @@ export function deployFailureMessage({ error, published, releaseCreated, stage,
43
44
  stage: import("#types").StageConfig;
44
45
  releaseId: string;
45
46
  }): string;
47
+ import { Reporter } from "./reporter.js";
46
48
  //# sourceMappingURL=deploy-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wCAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,MAAM,EAAE,CAIpB;AAED;;;;GAIG;AACH,+CAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,OAAO,QAAQ,EAAE,cAAc,EAAE,CAkB7C;AAaD;;;GAGG;AACH,+GAHW,OAAO,QAAQ,EAAE,aAAa,GAC5B,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,GAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAmFnE;AAED;;;GAGG;AACH,mDAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,GACvF,OAAO,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,CAkBpD;AAED;;;GAGG;AACH,6FAHW;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAClH,MAAM,CAqBlB"}
1
+ {"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,wCAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,MAAM,EAAE,CAIpB;AAED;;;;GAIG;AACH,+CAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,OAAO,QAAQ,EAAE,cAAc,EAAE,CAkB7C;AAaD;;;GAGG;AACH,+GAHW,OAAO,QAAQ,EAAE,aAAa,GAC5B,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,GAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAuMnE;AAED;;;GAGG;AACH,6DAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAC,GAC5G,OAAO,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,CAgGpD;AA2ED;;;GAGG;AACH,6FAHW;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAClH,MAAM,CAqBlB;yBAzcsB,eAAe"}