rightsize 0.7.8 → 0.7.10

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 (75) hide show
  1. package/dist/backend-docker/backend.d.ts +4 -1
  2. package/dist/backend-docker/backend.d.ts.map +1 -1
  3. package/dist/backend-docker/backend.js +4 -0
  4. package/dist/backend-docker/backend.js.map +1 -1
  5. package/dist/backend-msb/backend.d.ts +618 -68
  6. package/dist/backend-msb/backend.d.ts.map +1 -1
  7. package/dist/backend-msb/backend.js +1236 -133
  8. package/dist/backend-msb/backend.js.map +1 -1
  9. package/dist/backend-msb/commands.d.ts +160 -16
  10. package/dist/backend-msb/commands.d.ts.map +1 -1
  11. package/dist/backend-msb/commands.js +197 -31
  12. package/dist/backend-msb/commands.js.map +1 -1
  13. package/dist/backend-msb/provisioner.d.ts +1 -1
  14. package/dist/backend-msb/provisioner.d.ts.map +1 -1
  15. package/dist/backend-msb/provisioner.js +1 -1
  16. package/dist/backend-msb/provisioner.js.map +1 -1
  17. package/dist/backend-msb/restore-access-denied.d.ts +50 -0
  18. package/dist/backend-msb/restore-access-denied.d.ts.map +1 -0
  19. package/dist/backend-msb/restore-access-denied.js +52 -0
  20. package/dist/backend-msb/restore-access-denied.js.map +1 -0
  21. package/dist/backend-msb/restore-broker.d.ts +181 -0
  22. package/dist/backend-msb/restore-broker.d.ts.map +1 -0
  23. package/dist/backend-msb/restore-broker.js +264 -0
  24. package/dist/backend-msb/restore-broker.js.map +1 -0
  25. package/dist/backend-msb/sandbox-already-exists.d.ts +32 -0
  26. package/dist/backend-msb/sandbox-already-exists.d.ts.map +1 -0
  27. package/dist/backend-msb/sandbox-already-exists.js +35 -0
  28. package/dist/backend-msb/sandbox-already-exists.js.map +1 -0
  29. package/dist/backend-msb/snapshot-create.d.ts +22 -0
  30. package/dist/backend-msb/snapshot-create.d.ts.map +1 -0
  31. package/dist/backend-msb/snapshot-create.js +33 -0
  32. package/dist/backend-msb/snapshot-create.js.map +1 -0
  33. package/dist/backend-msb/snapshot-import.d.ts +30 -14
  34. package/dist/backend-msb/snapshot-import.d.ts.map +1 -1
  35. package/dist/backend-msb/snapshot-import.js +35 -17
  36. package/dist/backend-msb/snapshot-import.js.map +1 -1
  37. package/dist/backend-msb/snapshot-rm.d.ts +28 -0
  38. package/dist/backend-msb/snapshot-rm.d.ts.map +1 -0
  39. package/dist/backend-msb/snapshot-rm.js +30 -0
  40. package/dist/backend-msb/snapshot-rm.js.map +1 -0
  41. package/dist/core/backend.d.ts +53 -22
  42. package/dist/core/backend.d.ts.map +1 -1
  43. package/dist/core/checkpoint/api.d.ts +2 -2
  44. package/dist/core/checkpoint/api.js +2 -2
  45. package/dist/core/checkpoint/registry.d.ts +34 -0
  46. package/dist/core/checkpoint/registry.d.ts.map +1 -1
  47. package/dist/core/checkpoint/registry.js +20 -1
  48. package/dist/core/checkpoint/registry.js.map +1 -1
  49. package/dist/core/errors.d.ts +49 -0
  50. package/dist/core/errors.d.ts.map +1 -1
  51. package/dist/core/errors.js +61 -0
  52. package/dist/core/errors.js.map +1 -1
  53. package/dist/core/generic-container.d.ts +58 -10
  54. package/dist/core/generic-container.d.ts.map +1 -1
  55. package/dist/core/generic-container.js +222 -27
  56. package/dist/core/generic-container.js.map +1 -1
  57. package/dist/core/model.d.ts +3 -2
  58. package/dist/core/model.d.ts.map +1 -1
  59. package/dist/core/sandbox-name.d.ts +3 -0
  60. package/dist/core/sandbox-name.d.ts.map +1 -0
  61. package/dist/core/sandbox-name.js +19 -0
  62. package/dist/core/sandbox-name.js.map +1 -0
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/modules/minio.d.ts +5 -3
  68. package/dist/modules/minio.d.ts.map +1 -1
  69. package/dist/modules/minio.js +14 -4
  70. package/dist/modules/minio.js.map +1 -1
  71. package/package.json +1 -1
  72. package/dist/backend-msb/snapshot-list.d.ts +0 -43
  73. package/dist/backend-msb/snapshot-list.d.ts.map +0 -1
  74. package/dist/backend-msb/snapshot-list.js +0 -53
  75. package/dist/backend-msb/snapshot-list.js.map +0 -1
@@ -1,9 +1,13 @@
1
1
  /**
2
2
  * Pure msb CLI argv construction. Every spelling here was checked against the
3
3
  * real `msb` binary, not guessed from `--help` text alone. ATTACHED mode (no
4
- * `-d`) is the whole ballgame: `msb run -d` boots the microVM but never runs
5
- * the image's own ENTRYPOINT/CMD, only attached mode does — see
6
- * `MsbCliBackend.start` for the supervision this forces.
4
+ * `-d`) is the whole ballgame for `run()`: `msb run -d` boots the microVM but
5
+ * never runs the image's own ENTRYPOINT/CMD, only attached mode does — see
6
+ * `MsbCliBackend.start` for the supervision this forces. `restore()` is a
7
+ * different shape entirely — see its own doc and `MsbCliBackend.bootRestoreOnce`'s
8
+ * for why: `msb restore` always detaches and exits once activation is
9
+ * confirmed, well before the sandbox itself finishes booting, and it is
10
+ * never held open as a supervisor the way `run` is.
7
11
  */
8
12
  export const MsbCommands = {
9
13
  run(spec) {
@@ -50,15 +54,12 @@ export const MsbCommands = {
50
54
  for (const mount of spec.mounts) {
51
55
  argv.push("--mount-file", `${mount.hostPath}:${mount.guestPath}:${mount.readOnly ? "ro" : "rw"},nodev`);
52
56
  }
53
- if (spec.checkpointRef !== undefined) {
54
- // `--from-snapshot` is mutually exclusive with the IMAGE positional arg —
55
- // the snapshot itself pins the image (see MsbCliBackend's own doc on
56
- // fromCheckpoint/checkpointRef).
57
- argv.push("--from-snapshot", spec.checkpointRef);
58
- }
59
- else {
60
- argv.push(spec.image);
61
- }
57
+ // `checkpointRef` never reaches here: msb 0.7.1 removed `run --from-snapshot`
58
+ // outright (clap rejects it as an unexpected argument now), so a spec that
59
+ // carries a checkpointRef is routed to `restore()` below, one layer up in
60
+ // `MsbCliBackend.bootOnce` — this function only ever builds an ordinary
61
+ // image boot.
62
+ argv.push(spec.image);
62
63
  if (spec.command !== undefined) {
63
64
  // undefined => the image's own ENTRYPOINT/CMD runs unmodified.
64
65
  argv.push("--", ...spec.command);
@@ -66,36 +67,175 @@ export const MsbCommands = {
66
67
  return argv;
67
68
  },
68
69
  /**
69
- * `msb snapshot create --from <sandbox> <name>` — requires `sandbox`
70
- * STOPPED; writes a sparse disk snapshot under `~/.microsandbox/snapshots/<name>`,
71
- * or under `<destDir>/<name>` when `destDir` is given (path-ref checkpoints).
70
+ * `msb restore <ref> --name <name> [-m SIZE] [--no-net] [--volume
71
+ * SOURCE:GUEST:OPTS]... [-p HOST:GUEST]...` — the checkpoint-reboot argv,
72
+ * replacing the removed `run --from-snapshot` (msb 0.7.1 moved restore to
73
+ * this dedicated subcommand). NEVER emits `--disk-only`: EMPIRICALLY
74
+ * VERIFIED against a real msb 0.7.1 binary, a disk-scope snapshot — the
75
+ * only kind `msb snapshot create --from-sandbox` produces, and therefore
76
+ * the only kind this library's checkpoints ever restore — REJECTS that
77
+ * flag outright (`invalid config: disk_only requires a full snapshot with
78
+ * checkpoint state`). Restoring a disk-scope snapshot is inherently a cold
79
+ * boot of the captured disk with no processes/RAM resumed — the same
80
+ * semantics the old `run --from-snapshot` boot and the removed
81
+ * `--disk-only` flag both had, and the only restore mode this library's
82
+ * checkpoint contract documents — so nothing observable changes for
83
+ * callers; only the argv shrinks by one flag msb no longer accepts here.
84
+ *
85
+ * Deliberately narrower than `run()` in one respect only: `msb restore`
86
+ * has no `-e`/`--env` flag at all, so env is never threaded through here —
87
+ * a restore replays the sandbox's own captured configuration, which makes
88
+ * re-passing env redundant (see `GenericContainer.fromCheckpoint`'s own
89
+ * doc on why an env the caller has actually changed beyond the
90
+ * checkpoint's own is refused before this is ever reached, rather than
91
+ * silently dropped here). There is likewise no `--root-disk` equivalent —
92
+ * the snapshot pins the root disk, and `withDiskLimit()` on a
93
+ * `fromCheckpoint()` container is rejected at `start()` before any backend
94
+ * call.
95
+ *
96
+ * Mounts and network are NOT in that category — they thread through here,
97
+ * mirroring `run()`'s own `--mount-file`/`--net private`. Per msb's own
98
+ * source (`sdk/rust/lib/sandbox/restore_builder.rs`'s `RestoreBuilder::new`),
99
+ * every restore starts with `mounts`/`ports`/`vsock` CLEARED and
100
+ * `restore_resources.require_complete` true — they are the destination's
101
+ * OWN fresh bindings for this specific restore, not something msb
102
+ * re-derives from the snapshot, and an un-resupplied captured external
103
+ * mount is a hard failure, not a silent drop. `createCheckpoint`'s
104
+ * stop/snapshot/reboot cycle (see `MsbCliBackend.createCheckpoint`) hands
105
+ * this function `handle.spec` itself — the ORIGINAL sandbox's live
106
+ * `mounts`/`networkDisabled` exactly as the caller set them via
107
+ * `.withCopyFileToContainer()`/`.withNetworkDisabled()`, not anything
108
+ * "carried over from a captured spec" — so they must be re-emitted here or
109
+ * they silently vanish across the reboot (or, if msb classifies the
110
+ * now-missing mount as a required external resource, throw instead).
111
+ * `GenericContainer.fromCheckpoint()` is the unrelated case the checkpoints
112
+ * guide's "network topology, mounts, and keepAlive are never carried over
113
+ * from the source spec" actually describes: it never copies
114
+ * `cp.spec.mounts`/`networkDisabled` onto the new container's own builder
115
+ * state in the first place (see its own doc), so a `fromCheckpoint()`
116
+ * container's `spec.mounts` is `[]` and `networkDisabled` is `false`
117
+ * unless the caller adds them back explicitly via
118
+ * `.withCopyFileToContainer()`/`.withNetworkDisabled()` on it directly —
119
+ * in which case this function threads those through exactly the same as
120
+ * for any other spec, as it should.
121
+ *
122
+ * `--volume SOURCE:GUEST[:OPTIONS]` is restore's own mount flag (`-v`
123
+ * short form; `RestoreResourceArgs.volume` in
124
+ * crates/cli/lib/commands/restore.rs) — spelled differently from `run()`'s
125
+ * `--mount-file`, but parsed by the identical shared grammar
126
+ * (`parse_cli_mount_spec`, confirmed in crates/cli/lib/commands/common.rs:
127
+ * `--volume`'s `parse_restore_volume` and `--mount-file`'s
128
+ * `apply_explicit_file_mount` both call it with the same
129
+ * `CliMountOptionSupport`), so `run()`'s own comment on why the option
130
+ * block (`ro`/`rw,nodev`) is always spelled out rather than left to
131
+ * defaults applies here verbatim. `--no-net` is restore's equivalent of
132
+ * `run()`'s `--net private`: msb's own default restore network policy is
133
+ * open (`RestoreBuilder::new` clears mounts/ports/vsock/user but never
134
+ * touches the network policy field, so it keeps whatever a fresh
135
+ * `SandboxBuilder`'s default is — the same open-by-default policy `run()`
136
+ * itself relies on when `networkDisabled` is unset), so `--no-net` is
137
+ * emitted only when `networkDisabled` is true, exactly mirroring `run()`'s
138
+ * own `--net private` condition.
139
+ */
140
+ restore(spec) {
141
+ if (spec.checkpointRef === undefined) {
142
+ throw new Error("MsbCommands.restore requires spec.checkpointRef");
143
+ }
144
+ const argv = ["restore", spec.checkpointRef, "--name", spec.name];
145
+ if (spec.memoryLimitMb !== undefined) {
146
+ argv.push("-m", `${spec.memoryLimitMb}M`);
147
+ }
148
+ if (spec.networkDisabled) {
149
+ argv.push("--no-net");
150
+ }
151
+ for (const port of spec.ports) {
152
+ argv.push("-p", `${port.hostPort}:${port.guestPort}`);
153
+ }
154
+ for (const mount of spec.mounts) {
155
+ // Same option grammar and Windows rationale as `run()`'s `--mount-file` —
156
+ // see this function's own doc.
157
+ argv.push("--volume", `${mount.hostPath}:${mount.guestPath}:${mount.readOnly ? "ro" : "rw"},nodev`);
158
+ }
159
+ return argv;
160
+ },
161
+ /**
162
+ * `msb snapshot create --from-sandbox <sandbox> <name>` — requires
163
+ * `sandbox` STOPPED. `name` is a caller-supplied label, EMPIRICALLY
164
+ * VERIFIED against a real msb 0.7.1 binary to no longer determine where
165
+ * the artifact lands: it only appears in msb's own index (as
166
+ * `<sandbox>:<name>`, visible in `msb snapshot list`) and in `snapshot
167
+ * inspect` output. The artifact itself always lands under
168
+ * `<destDir-or-default>/<sandbox>/snap_<32-hex-digest>` — a
169
+ * content-addressed path `name` has no say over — which is why
170
+ * `MsbCliBackend.createCheckpoint` parses it back out of this command's
171
+ * own stdout (see `parseSnapshotCreateArtifactPath`) instead of
172
+ * constructing it. `destDir` (this library's own `--dest-dir`, when the
173
+ * ref is a path ref) still controls the artifact's PARENT directory —
174
+ * `<destDir>/<sandbox>/snap_<digest>` when given, msb's own default
175
+ * snapshot store (`~/.microsandbox/snapshots/<sandbox>/snap_<digest>`)
176
+ * otherwise.
72
177
  */
73
178
  snapshotCreate(sandbox, name, destDir) {
74
- const argv = ["snapshot", "create", "--from", sandbox, name];
179
+ const argv = ["snapshot", "create", "--from-sandbox", sandbox, name];
75
180
  if (destDir !== undefined) {
76
181
  argv.push("--dest-dir", destDir);
77
182
  }
78
183
  return argv;
79
184
  },
80
- /** `msb snapshot rm <name>` — best-effort per `removeCheckpoint`'s own contract; "not found" is fine. */
81
- snapshotRemove(name) {
82
- return ["snapshot", "rm", name];
185
+ /**
186
+ * `msb snapshot rm <ref> -f` — best-effort per `removeCheckpoint`'s own
187
+ * contract; "not found" is fine. `ref` must be the snapshot's own artifact
188
+ * PATH, never a bare name or `group:member` form: EMPIRICALLY VERIFIED
189
+ * against a real msb 0.7.1 binary, name-based removal does not resolve —
190
+ * the artifact path is the only address that reliably works. `-f` forces
191
+ * the removal; without it a plain `msb snapshot rm` prompts for
192
+ * confirmation, which would hang a non-interactive CLI invocation forever.
193
+ * A non-zero exit can ALSO mean msb refused because `ref` is the current
194
+ * head of older siblings from the same source sandbox — see
195
+ * `isSnapshotHeadRemovalRefused`, which `removeCheckpoint` propagates
196
+ * rather than swallowing alongside an ordinary "not found."
197
+ */
198
+ snapshotRemove(ref) {
199
+ return ["snapshot", "rm", ref, "-f"];
83
200
  },
84
- /** `msb snapshot inspect <name>` — exit 0 means the snapshot exists, non-zero means it doesn't; `hasCheckpoint`'s backend call. */
85
- snapshotInspect(name) {
86
- return ["snapshot", "inspect", name];
201
+ /**
202
+ * `msb snapshot inspect <ref>` — exit 0 means the snapshot exists,
203
+ * non-zero means it doesn't (or the probe itself failed); `hasCheckpoint`'s
204
+ * backend call for a bare-name ref. `ref` should be the snapshot's own
205
+ * artifact PATH for the same reason `snapshotRemove` requires one —
206
+ * EMPIRICALLY VERIFIED against a real msb 0.7.1 binary, name-based inspect
207
+ * does not resolve either.
208
+ */
209
+ snapshotInspect(ref) {
210
+ return ["snapshot", "inspect", ref];
87
211
  },
88
- /** `msb snapshot save <ref> <dest>` — writes a `.tar.zst` artifact archive; deliberately never `--with-image` (its import fails an integrity check in 0.6.6, see the checkpoints guide). `exportCheckpoint`'s backend call. */
212
+ /**
213
+ * `msb snapshot save <ref> <dest>` — writes a `.tar.zst` artifact archive;
214
+ * deliberately never `--with-image` (its import fails an integrity check
215
+ * in 0.6.6, see the checkpoints guide). Upstream renamed the subcommand
216
+ * from `export` to `save` for msb 0.7.1 (EMPIRICALLY VERIFIED against a
217
+ * real 0.7.1 binary — `snapshot export` no longer exists at all); `<ref>`
218
+ * and `<dest>` are still plain positionals with the explicit filename
219
+ * preserved, so nothing about the argv shape besides the verb changes.
220
+ * `exportCheckpoint`'s backend call.
221
+ */
89
222
  snapshotExport(ref, dest) {
90
223
  return ["snapshot", "save", ref, dest];
91
224
  },
92
- /** `msb snapshot load <archive>` — unpacks into a digest-derived directory under `~/.microsandbox/snapshots/`, never the original name; `importCheckpoint`'s backend call. */
93
- snapshotImport(archive) {
94
- return ["snapshot", "load", archive];
95
- },
96
- /** `msb snapshot list --format json` — full `digest`/`name`/`artifact_path`/`image_ref` entries, used to CONFIRM an imported snapshot's digest-dir basename is present (the basename itself, not the `digest` field, is the effective ref — the full digest does not resolve as a snapshot ref). */
97
- snapshotList() {
98
- return ["snapshot", "list", "--format", "json"];
225
+ /**
226
+ * `msb snapshot load <archive> --dest <destDir>` — upstream renamed the
227
+ * subcommand from `import` to `load` for msb 0.7.1 (EMPIRICALLY VERIFIED
228
+ * against a real 0.7.1 binary — `snapshot import` no longer exists at
229
+ * all) and added `--dest`, which this always passes: omitting it imports
230
+ * into msb's own global default snapshot store instead of this library's
231
+ * checkpoints directory, which is exactly the placement bug `--dest`
232
+ * exists to avoid (mirrors `snapshotCreate`'s own `--dest-dir`, a
233
+ * differently-spelled flag on a different subcommand). `destDir` is
234
+ * always the checkpoints cache directory (see `MsbCliBackend.importCheckpoint`).
235
+ * `importCheckpoint`'s backend call.
236
+ */
237
+ snapshotImport(archive, destDir) {
238
+ return ["snapshot", "load", archive, "--dest", destDir];
99
239
  },
100
240
  /** `msb copy -q <hostPath> <name>:<containerPath>` — host-to-guest transfer, `cp -r`-style destination naming for a directory source. */
101
241
  copyIn(hostPath, name, containerPath) {
@@ -108,6 +248,30 @@ export const MsbCommands = {
108
248
  exec(name, cmd) {
109
249
  return ["exec", name, "--", ...cmd];
110
250
  },
251
+ /**
252
+ * `msb exec -e KEY=VALUE... <name> -- <cmd...>` — the workload-revival exec
253
+ * variant `MsbCliBackend.reviveWorkload` spawns to restart a restored
254
+ * sandbox's captured workload with its ORIGINAL env (a restore's own `msb
255
+ * restore` has no `-e`/`--env` flag at all — see `restore()`'s own doc —
256
+ * so this is the one place that env reaches a restored sandbox's guest).
257
+ * Distinct from the plain `exec()` builder above, which every other
258
+ * one-shot exec call this backend makes (the `nc` probe, `/etc/hosts`
259
+ * alias install, `mkdir -p`, ...) uses and which never carries env — those
260
+ * calls have no reason to widen the guest command's environment, and
261
+ * `msb exec` accepts `-e` at all only because a genuine workload restart
262
+ * needs it. `-e` is repeatable (mirrors `run()`'s own `-e`) and is emitted
263
+ * right after `exec`, before the sandbox NAME positional — the same
264
+ * relative placement `run()` gives its own `-e` flags among its other
265
+ * options, ahead of the trailing positional(s).
266
+ */
267
+ execWithEnv(name, env, cmd) {
268
+ const argv = ["exec"];
269
+ for (const [key, value] of env) {
270
+ argv.push("-e", `${key}=${value}`);
271
+ }
272
+ argv.push(name, "--", ...cmd);
273
+ return argv;
274
+ },
111
275
  execStream(name, cmd) {
112
276
  return ["exec", "--stream", name, "--", ...cmd];
113
277
  },
@@ -119,7 +283,9 @@ export const MsbCommands = {
119
283
  * diagnostics channel, distinct from the workload log `logs()` above
120
284
  * fetches. This is where the boot-completion marker line lives (see
121
285
  * `hasSandboxStartedMarker`); the fast-exit post-mortem classification in
122
- * `MsbCliBackend.bootOnce` is this builder's only caller.
286
+ * `MsbCliBackend.bootRunOnce` and the restore poll's own failure
287
+ * diagnostics in `MsbCliBackend.bootRestoreOnce` are this builder's only
288
+ * callers.
123
289
  */
124
290
  systemLog(name) {
125
291
  return ["logs", name, "--source", "system", "--tail", "1000"];
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/backend-msb/commands.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Platform } from "./platform.js";
4
4
  * while msb 0.6.10-0.6.13 were broken on Windows (fixed upstream in 0.6.14).
5
5
  * MSB_PATH users on Windows must avoid 0.6.10-0.6.13.
6
6
  */
7
- export declare const MSB_VERSION = "0.6.17";
7
+ export declare const MSB_VERSION = "0.7.1";
8
8
  /** Test seam: the full resolution logic parameterized over the release base URL, cache dir, and environment. */
9
9
  export declare function ensureInstalledAt(baseUrl: string, cacheDir: string, env: Record<string, string | undefined>): Promise<string>;
10
10
  /** Resolves (downloading and verifying if needed) a runnable `msb` binary path, using the real GitHub release base, `RIGHTSIZE_CACHE_DIR`, and `process.env`. */
@@ -1 +1 @@
1
- {"version":3,"file":"provisioner.d.ts","sourceRoot":"","sources":["../../src/backend-msb/provisioner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,WAAW,WAAW,CAAC;AAiRpC,gHAAgH;AAChH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED,iKAAiK;AACjK,wBAAgB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjD;AAED,2GAA2G;AAC3G,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzE;AAED,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"provisioner.d.ts","sourceRoot":"","sources":["../../src/backend-msb/provisioner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AAiRnC,gHAAgH;AAChH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED,iKAAiK;AACjK,wBAAgB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjD;AAED,2GAA2G;AAC3G,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzE;AAED,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -12,7 +12,7 @@ import { PlatformInfo } from "./platform.js";
12
12
  * while msb 0.6.10-0.6.13 were broken on Windows (fixed upstream in 0.6.14).
13
13
  * MSB_PATH users on Windows must avoid 0.6.10-0.6.13.
14
14
  */
15
- export const MSB_VERSION = "0.6.17";
15
+ export const MSB_VERSION = "0.7.1";
16
16
  function releaseBaseUrl(version) {
17
17
  return `https://github.com/superradcompany/microsandbox/releases/download/v${version}`;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provisioner.js","sourceRoot":"","sources":["../../src/backend-msb/provisioner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provisioner.js","sourceRoot":"","sources":["../../src/backend-msb/provisioner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * True if `output` (an `msb restore` invocation's combined stdout+stderr)
3
+ * carries a Windows `ERROR_ACCESS_DENIED` against the just-written snapshot
4
+ * artifact it was asked to restore. Captured shape (mirrors
5
+ * `isSnapshotSaveAccessDeniedFailure`'s own Windows fsync failure, a
6
+ * sibling access-denied signature on the SAME artifact class, one step
7
+ * earlier in the checkpoint cycle):
8
+ *
9
+ * ```text
10
+ * error: io error: Access is denied. (os error 5)
11
+ * ```
12
+ *
13
+ * Observed on Windows CI immediately after the source sandbox's own
14
+ * teardown in the stop/snapshot/reboot checkpoint cycle — msb's docs
15
+ * describe deferred file-handle release on Windows, and the just-written
16
+ * snapshot artifact (or the block device backing the restored sandbox
17
+ * itself — unix's twin of this same class of failure is a block-device open
18
+ * `PermissionDenied`, os error 13) can still be mid-release by the OS for a
19
+ * brief window right after the process that wrote it (or the one that just
20
+ * stopped the source sandbox) exits. Retrying the SAME `--name` does not
21
+ * simply wait that lag out, though: EMPIRICALLY VERIFIED against a real msb
22
+ * 0.7.1 binary, this failure happens AFTER msb's own artifact validation —
23
+ * which leaves `--name` behind as a STOPPED SANDBOX RECORD — so a same-name
24
+ * retry collides with msb's own restore-time collision check immediately,
25
+ * rather than ever getting a second shot at the transient (see
26
+ * `MsbCliBackend`'s own doc on `CHECKPOINT_REBOOT_ALREADY_EXISTS_RETRY_BUDGET_MS`
27
+ * for the full live-verified account). `MsbCliBackend.retryRestoreAfterAccessDenied`
28
+ * (the ordinary `start()`/`fromCheckpoint().start()` path) and
29
+ * `MsbCliBackend.rebootUnderFreshName` (`createCheckpoint`'s own reboot)
30
+ * both retry a restore that hits this a bounded number of times, each under
31
+ * a FRESH name rather than the one that just failed (see
32
+ * `RESTORE_ACCESS_DENIED_RETRY_LIMIT`/`RESTORE_ACCESS_DENIED_RETRY_DELAY_MS`
33
+ * for the former's own budget/delay) rather than surfacing it as an
34
+ * ordinary restore failure on the first hit.
35
+ *
36
+ * Matches CONSERVATIVELY — both `"Access is denied"` (Windows' own
37
+ * `FormatMessage` text for `ERROR_ACCESS_DENIED`, present regardless of the
38
+ * machine's display language in every capture seen so far) AND one of
39
+ * `"io error"` (the Rust error variant wrapping it) or `"os error 5"` (the
40
+ * numeric errno Rust appends) must be present — reducing the chance of
41
+ * matching some unrelated "access denied" phrasing (a genuine permission
42
+ * error, say) that happens to share only one of the two phrases. Nothing
43
+ * here is Windows-specific by construction — the signature simply never
44
+ * occurs on unix, so the platform check some callers might expect isn't
45
+ * needed at the match site — which also keeps this exercisable by unit
46
+ * tests on any host, the same rationale `salvageStagedArchive` documents for
47
+ * its own platform-agnostic helper.
48
+ */
49
+ export declare function isRestoreAccessDeniedFailure(output: string): boolean;
50
+ //# sourceMappingURL=restore-access-denied.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-access-denied.d.ts","sourceRoot":"","sources":["../../src/backend-msb/restore-access-denied.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * True if `output` (an `msb restore` invocation's combined stdout+stderr)
3
+ * carries a Windows `ERROR_ACCESS_DENIED` against the just-written snapshot
4
+ * artifact it was asked to restore. Captured shape (mirrors
5
+ * `isSnapshotSaveAccessDeniedFailure`'s own Windows fsync failure, a
6
+ * sibling access-denied signature on the SAME artifact class, one step
7
+ * earlier in the checkpoint cycle):
8
+ *
9
+ * ```text
10
+ * error: io error: Access is denied. (os error 5)
11
+ * ```
12
+ *
13
+ * Observed on Windows CI immediately after the source sandbox's own
14
+ * teardown in the stop/snapshot/reboot checkpoint cycle — msb's docs
15
+ * describe deferred file-handle release on Windows, and the just-written
16
+ * snapshot artifact (or the block device backing the restored sandbox
17
+ * itself — unix's twin of this same class of failure is a block-device open
18
+ * `PermissionDenied`, os error 13) can still be mid-release by the OS for a
19
+ * brief window right after the process that wrote it (or the one that just
20
+ * stopped the source sandbox) exits. Retrying the SAME `--name` does not
21
+ * simply wait that lag out, though: EMPIRICALLY VERIFIED against a real msb
22
+ * 0.7.1 binary, this failure happens AFTER msb's own artifact validation —
23
+ * which leaves `--name` behind as a STOPPED SANDBOX RECORD — so a same-name
24
+ * retry collides with msb's own restore-time collision check immediately,
25
+ * rather than ever getting a second shot at the transient (see
26
+ * `MsbCliBackend`'s own doc on `CHECKPOINT_REBOOT_ALREADY_EXISTS_RETRY_BUDGET_MS`
27
+ * for the full live-verified account). `MsbCliBackend.retryRestoreAfterAccessDenied`
28
+ * (the ordinary `start()`/`fromCheckpoint().start()` path) and
29
+ * `MsbCliBackend.rebootUnderFreshName` (`createCheckpoint`'s own reboot)
30
+ * both retry a restore that hits this a bounded number of times, each under
31
+ * a FRESH name rather than the one that just failed (see
32
+ * `RESTORE_ACCESS_DENIED_RETRY_LIMIT`/`RESTORE_ACCESS_DENIED_RETRY_DELAY_MS`
33
+ * for the former's own budget/delay) rather than surfacing it as an
34
+ * ordinary restore failure on the first hit.
35
+ *
36
+ * Matches CONSERVATIVELY — both `"Access is denied"` (Windows' own
37
+ * `FormatMessage` text for `ERROR_ACCESS_DENIED`, present regardless of the
38
+ * machine's display language in every capture seen so far) AND one of
39
+ * `"io error"` (the Rust error variant wrapping it) or `"os error 5"` (the
40
+ * numeric errno Rust appends) must be present — reducing the chance of
41
+ * matching some unrelated "access denied" phrasing (a genuine permission
42
+ * error, say) that happens to share only one of the two phrases. Nothing
43
+ * here is Windows-specific by construction — the signature simply never
44
+ * occurs on unix, so the platform check some callers might expect isn't
45
+ * needed at the match site — which also keeps this exercisable by unit
46
+ * tests on any host, the same rationale `salvageStagedArchive` documents for
47
+ * its own platform-agnostic helper.
48
+ */
49
+ export function isRestoreAccessDeniedFailure(output) {
50
+ return output.includes("Access is denied") && (output.includes("io error") || output.includes("os error 5"));
51
+ }
52
+ //# sourceMappingURL=restore-access-denied.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-access-denied.js","sourceRoot":"","sources":["../../src/backend-msb/restore-access-denied.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,OAAO,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC/G,CAAC"}