@volter/browser-substrate 0.1.103 → 0.1.105

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 (160) hide show
  1. package/catalog/demand-input.json +133 -0
  2. package/dist/boot-screen.d.ts +2 -0
  3. package/dist/boot-screen.d.ts.map +1 -1
  4. package/dist/boot-screen.js +1 -1
  5. package/dist/boot-screen.js.map +1 -1
  6. package/dist/cli/archive.d.ts +1 -0
  7. package/dist/cli/archive.d.ts.map +1 -1
  8. package/dist/cli/archive.js +4 -4
  9. package/dist/cli/archive.js.map +1 -1
  10. package/dist/cli/build.d.ts +5 -1
  11. package/dist/cli/build.d.ts.map +1 -1
  12. package/dist/cli/build.js +21 -2
  13. package/dist/cli/build.js.map +1 -1
  14. package/dist/cli/cache-root.d.ts +7 -0
  15. package/dist/cli/cache-root.d.ts.map +1 -0
  16. package/dist/cli/cache-root.js +24 -0
  17. package/dist/cli/cache-root.js.map +1 -0
  18. package/dist/cli/companions.d.ts +1 -1
  19. package/dist/cli/companions.d.ts.map +1 -1
  20. package/dist/cli/companions.js +30 -16
  21. package/dist/cli/companions.js.map +1 -1
  22. package/dist/cli/dependency-plan-build.d.ts +4 -0
  23. package/dist/cli/dependency-plan-build.d.ts.map +1 -1
  24. package/dist/cli/dependency-plan-build.js +111 -30
  25. package/dist/cli/dependency-plan-build.js.map +1 -1
  26. package/dist/cli/docker-build.d.ts +1 -0
  27. package/dist/cli/docker-build.d.ts.map +1 -1
  28. package/dist/cli/docker-build.js +4 -4
  29. package/dist/cli/docker-build.js.map +1 -1
  30. package/dist/cli/dry-run.d.ts +4 -4
  31. package/dist/cli/dry-run.d.ts.map +1 -1
  32. package/dist/cli/dry-run.js +10 -9
  33. package/dist/cli/dry-run.js.map +1 -1
  34. package/dist/cli/generated-code.d.ts +2 -1
  35. package/dist/cli/generated-code.d.ts.map +1 -1
  36. package/dist/cli/generated-code.js +46 -16
  37. package/dist/cli/generated-code.js.map +1 -1
  38. package/dist/cli/host-build.d.ts +1 -0
  39. package/dist/cli/host-build.d.ts.map +1 -1
  40. package/dist/cli/host-build.js +10 -9
  41. package/dist/cli/host-build.js.map +1 -1
  42. package/dist/cli/host-managers.d.ts +3 -1
  43. package/dist/cli/host-managers.d.ts.map +1 -1
  44. package/dist/cli/host-managers.js +7 -3
  45. package/dist/cli/host-managers.js.map +1 -1
  46. package/dist/cli/image-layers.d.ts.map +1 -1
  47. package/dist/cli/image-layers.js +5 -2
  48. package/dist/cli/image-layers.js.map +1 -1
  49. package/dist/cli/main.d.ts +5 -1
  50. package/dist/cli/main.d.ts.map +1 -1
  51. package/dist/cli/main.js +97 -34
  52. package/dist/cli/main.js.map +1 -1
  53. package/dist/cli/pack-publication.d.ts +2 -2
  54. package/dist/cli/pack-publication.d.ts.map +1 -1
  55. package/dist/cli/pack-publication.js +3 -3
  56. package/dist/cli/pack-publication.js.map +1 -1
  57. package/dist/cli/package-pack.d.ts +1 -1
  58. package/dist/cli/package-pack.d.ts.map +1 -1
  59. package/dist/cli/package-pack.js +7 -4
  60. package/dist/cli/package-pack.js.map +1 -1
  61. package/dist/cli/package-packs.d.ts +1 -0
  62. package/dist/cli/package-packs.d.ts.map +1 -1
  63. package/dist/cli/package-packs.js +84 -14
  64. package/dist/cli/package-packs.js.map +1 -1
  65. package/dist/cli/plan-tarballs.d.ts +1 -0
  66. package/dist/cli/plan-tarballs.d.ts.map +1 -1
  67. package/dist/cli/plan-tarballs.js +6 -3
  68. package/dist/cli/plan-tarballs.js.map +1 -1
  69. package/dist/cli/preparation-memory.d.ts +17 -0
  70. package/dist/cli/preparation-memory.d.ts.map +1 -0
  71. package/dist/cli/preparation-memory.js +367 -0
  72. package/dist/cli/preparation-memory.js.map +1 -0
  73. package/dist/cli/project-build.d.ts +1 -0
  74. package/dist/cli/project-build.d.ts.map +1 -1
  75. package/dist/cli/project-build.js +100 -71
  76. package/dist/cli/project-build.js.map +1 -1
  77. package/dist/cli/provision-catalog.d.ts +49 -0
  78. package/dist/cli/provision-catalog.d.ts.map +1 -0
  79. package/dist/cli/provision-catalog.js +72 -0
  80. package/dist/cli/provision-catalog.js.map +1 -0
  81. package/dist/cli/provision-demand.d.ts +45 -0
  82. package/dist/cli/provision-demand.d.ts.map +1 -0
  83. package/dist/cli/provision-demand.js +208 -0
  84. package/dist/cli/provision-demand.js.map +1 -0
  85. package/dist/cli/rolldown-binding.d.ts +1 -1
  86. package/dist/cli/rolldown-binding.d.ts.map +1 -1
  87. package/dist/cli/rolldown-binding.js +8 -4
  88. package/dist/cli/rolldown-binding.js.map +1 -1
  89. package/dist/cli/serve.d.ts +3 -0
  90. package/dist/cli/serve.d.ts.map +1 -1
  91. package/dist/cli/serve.js +9 -2
  92. package/dist/cli/serve.js.map +1 -1
  93. package/dist/index.d.ts +2 -0
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +75 -31
  96. package/dist/index.js.map +1 -1
  97. package/dist/origin-reset.d.ts +4 -0
  98. package/dist/origin-reset.d.ts.map +1 -0
  99. package/dist/origin-reset.js +76 -0
  100. package/dist/origin-reset.js.map +1 -0
  101. package/dist/program-dom.d.ts +2 -0
  102. package/dist/program-dom.d.ts.map +1 -1
  103. package/dist/program-dom.js +11 -1
  104. package/dist/program-dom.js.map +1 -1
  105. package/dist/program-types.d.ts +2 -0
  106. package/dist/program-types.d.ts.map +1 -1
  107. package/dist/shell/assets/browser-opfs-filesystem-worker-CmF6UKMW.js +3 -0
  108. package/dist/shell/assets/browser-sandbox-bridge-C8nlSsT2.js +237 -0
  109. package/dist/shell/assets/{filesystem-host-DJbFuokb.js → filesystem-host-BzPlXSri.js} +1 -1
  110. package/dist/shell/assets/filesystem-host-Pq9IHKRx.js +3 -0
  111. package/dist/shell/assets/filesystem-worker-CC3pSXUP.js +5 -0
  112. package/dist/shell/assets/{fork-worker-BXY2kfdX.js → fork-worker-4YKQ4KTo.js} +1 -1
  113. package/dist/shell/assets/{node-execution-worker-7e8e0c5321ca0d10.js → node-execution-worker-3ddf5efbaa427e9d.js} +8 -8
  114. package/dist/shell/assets/{sandbox-bMeKqKBn.js → sandbox-mhFzIWaQ.js} +1 -1
  115. package/dist/shell/assets/{shell-DLIQ6jHu.js → shell-BZbhxnju.js} +763 -757
  116. package/dist/shell/assets/worker-BmHEnCyv.js +816 -0
  117. package/dist/shell/assets/{worker-program-worker-B4OcKVtV.js → worker-program-worker-DueMwljE.js} +10 -10
  118. package/dist/shell/brand/fonts/Geist-Variable.woff2 +0 -0
  119. package/dist/shell/brand/fonts/GeistMono-Variable.woff2 +0 -0
  120. package/dist/shell/brand/fonts/InstrumentSerif-Italic.woff2 +0 -0
  121. package/dist/shell/brand/fonts/InstrumentSerif-Regular.woff2 +0 -0
  122. package/dist/shell/brand/icons/app-window.svg +1 -0
  123. package/dist/shell/brand/icons/at-sign.svg +1 -0
  124. package/dist/shell/brand/icons/box.svg +1 -0
  125. package/dist/shell/brand/icons/chevron-right.svg +1 -0
  126. package/dist/shell/brand/icons/folder.svg +1 -0
  127. package/dist/shell/brand/icons/info.svg +1 -0
  128. package/dist/shell/brand/icons/key-round.svg +1 -0
  129. package/dist/shell/brand/icons/link.svg +1 -0
  130. package/dist/shell/brand/icons/monitor.svg +1 -0
  131. package/dist/shell/brand/icons/plus.svg +1 -0
  132. package/dist/shell/brand/icons/rotate-ccw.svg +1 -0
  133. package/dist/shell/brand/icons/share-2.svg +1 -0
  134. package/dist/shell/brand/icons/square-arrow-out-up-right.svg +1 -0
  135. package/dist/shell/brand/icons/terminal.svg +1 -0
  136. package/dist/shell/brand/icons/x.svg +1 -0
  137. package/dist/shell/brand/substrate.svg +1 -0
  138. package/dist/shell/brand/tokens.css +211 -0
  139. package/dist/shell/brand/wordmark.svg +1 -0
  140. package/dist/shell/index.html +5 -3
  141. package/dist/shell/node-execution-worker.js +16 -13
  142. package/dist/shell/node-host.html +2 -0
  143. package/dist/shell/python-execution-worker.js +15 -12
  144. package/dist/shell/python-host.html +2 -0
  145. package/dist/shell/python-runtime-snapshot.bin +0 -0
  146. package/dist/shell/python-runtime-snapshot.json +1 -1
  147. package/dist/shell/sandbox.html +4 -2
  148. package/dist/toolbar-styles.generated.d.ts +1 -1
  149. package/dist/toolbar-styles.generated.d.ts.map +1 -1
  150. package/dist/toolbar-styles.generated.js +1 -1
  151. package/dist/toolbar-styles.generated.js.map +1 -1
  152. package/dist/toolbar.d.ts.map +1 -1
  153. package/dist/toolbar.js +3 -1
  154. package/dist/toolbar.js.map +1 -1
  155. package/package.json +1 -1
  156. package/dist/shell/assets/browser-opfs-filesystem-worker-k2CPzPBU.js +0 -3
  157. package/dist/shell/assets/browser-sandbox-bridge-BJbQoc4f.js +0 -237
  158. package/dist/shell/assets/filesystem-host-yMcJuvmT.js +0 -3
  159. package/dist/shell/assets/filesystem-worker-BbsBhZ9p.js +0 -5
  160. package/dist/shell/assets/worker-Ce8bBwSJ.js +0 -816
@@ -23,13 +23,15 @@
23
23
  // builds the project instead.
24
24
  import { spawn } from "node:child_process";
25
25
  import { createHash } from "node:crypto";
26
- import { cpSync, existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
27
- import { homedir } from "node:os";
26
+ import { cpSync, existsSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
27
+ import { preparationCacheDirectory } from "./cache-root.js";
28
28
  import { dirname, join, relative, resolve, sep } from "node:path";
29
29
  import { gzipSync } from "node:zlib";
30
30
  import { imageTarballPath, WORLD_RUNTIME_NAMES, worldEnvironmentOutputFlag } from "../image.js";
31
31
  import { materializeInstallTree, installCommandOf } from "./dependency-plan-build.js";
32
32
  import { header } from "./generated-code.js";
33
+ import { hostPreparationPath } from "./host-managers.js";
34
+ import { cancelPreparationGroup, preparationBounded, preparationCheckpoint, preparationCleanup, preparationPhase, preparationRefused, preparationWorldPids, preparationWorldTeardown, trackPreparationChild } from "./preparation-memory.js";
33
35
  /** A change to how a build runs or is packaged is another cache entry. */
34
36
  const BUILT_FORMAT = "build-8";
35
37
  /** The name every build output is a package of in the plan. */
@@ -43,8 +45,7 @@ export async function builtForPlan(folder, plan, installCommand, buildCommand, o
43
45
  .update(Object.keys(env).sort().map((name) => `${name}=${env[name]}`).join("\0"))
44
46
  .update(options.world ? `\0world\0${readFileSync(join(options.world.directory, options.world.config), "utf8")}` : "")
45
47
  .digest("hex").slice(0, 16);
46
- const builtRoot = join(homedir(), ".cache", "browser-substrate", "built");
47
- sweepAbandonedWork(builtRoot);
48
+ const builtRoot = preparationCacheDirectory("built", options.cacheRoot);
48
49
  const root = join(builtRoot, `${BUILT_FORMAT}-${digest}`);
49
50
  let index = readIndex(root);
50
51
  const cached = index !== undefined;
@@ -66,29 +67,31 @@ export async function builtForPlan(folder, plan, installCommand, buildCommand, o
66
67
  return { outputs, prebundled: index.prebundled ?? [], files, bytes: index.packages.reduce((total, entry) => total + entry.bytes, 0), digest, cached, durationMs: Date.now() - startedAt };
67
68
  }
68
69
  async function build(folder, installCommand, buildCommand, env, root, digest, options, report) {
69
- const work = join(root, "work");
70
- rmSync(work, { recursive: true, force: true });
71
- mkdirSync(work, { recursive: true });
72
- // Whose copy this is: a build killed before its own cleanup leaves the pid of
73
- // a process that no longer exists, and the next build removes the copy.
70
+ mkdirSync(root, { recursive: true });
71
+ // A cache is shared across operators. A dead pid does not authorize deleting
72
+ // another operator's retained build or World diagnostics. Only this uniquely
73
+ // created work directory belongs to this invocation's cleanup.
74
+ const work = mkdtempSync(join(root, "work-"));
74
75
  writeFileSync(join(work, OWNER_FILE), String(process.pid), "utf8");
76
+ let retired = !options.world;
75
77
  try {
76
- const tree = await materializeInstallTree(folder, installCommand, work, { ...(options.packagesDirectory ? { packagesDirectory: options.packagesDirectory } : {}), onOutput: report, layout: "project", ...(options.holds ? { holds: options.holds } : {}) });
78
+ const tree = await materializeInstallTree(folder, installCommand, work, { ...(options.packagesDirectory ? { packagesDirectory: options.packagesDirectory } : {}), ...(options.cacheRoot ? { cacheRoot: options.cacheRoot } : {}), onOutput: report, layout: "project", ...(options.holds ? { holds: options.holds } : {}) });
77
79
  const before = directoriesOf(tree);
78
- // The package managers the install ran under, so the build's own `pnpm run`
79
- // finds the same ones, and the Node this preparation runs under, so the
80
- // build's `node` is that one and not whichever the shell's PATH met first.
81
- const buildEnv = { ...env, PATH: `${join(work, ".tools", "bin")}:${dirname(process.execPath)}:${process.env.PATH ?? ""}` };
82
- const world = options.world ? await worldUp(options.world, join(work, "world"), report) : undefined;
80
+ // The CLI's Node precedes the preparation manager wrappers and inherited PATH.
81
+ // The same selection reaches the build and its World commands.
82
+ const buildEnv = { ...env, PATH: hostPreparationPath(join(work, ".tools", "bin")) };
83
+ const world = options.world ? await worldUp(options.world, join(work, "world"), report, options.cacheRoot) : undefined;
83
84
  let ran;
84
85
  try {
85
86
  report(` build: ${buildCommand} (at the project's root, on this machine${world ? `, attached to World ${world.name}` : ""})\n`);
86
- ran = await run(world ? `${world.command} attach ${world.name} --root ${quote(world.root)} -- /bin/sh -c ${quote(buildCommand)}` : buildCommand, tree, buildEnv, report);
87
+ ran = await run(world ? `${world.command} attach ${world.name} --root ${quote(world.root)} -- /bin/sh -c ${quote(buildCommand)}` : buildCommand, tree, buildEnv, report, world !== undefined);
87
88
  }
88
89
  finally {
89
90
  if (world)
90
- await worldDown(world, options.world.directory, report);
91
+ await preparationCleanup(() => worldDown(world, options.world.directory, report));
92
+ retired = true;
91
93
  }
94
+ preparationCheckpoint();
92
95
  if (ran.status !== 0) {
93
96
  throw new Error(`The project's build, \`${buildCommand}\`, exited with ${ran.status ?? ran.signal} on this machine, so there is no image to open:\n${ran.tail}`);
94
97
  }
@@ -120,7 +123,9 @@ async function build(folder, installCommand, buildCommand, env, root, digest, op
120
123
  throw new Error(`The project's build, \`${buildCommand}\`, created no output directory.`);
121
124
  const packages = [];
122
125
  const links = [];
126
+ preparationPhase("package archives");
123
127
  for (const [position, path] of created.entries()) {
128
+ preparationCheckpoint();
124
129
  const tarball = tarGzip(join(tree, path.split("/").join(sep)), tree, links);
125
130
  const file = `${position}.tgz`;
126
131
  writeFileSync(join(root, file), tarball);
@@ -139,7 +144,10 @@ async function build(folder, installCommand, buildCommand, env, root, digest, op
139
144
  }
140
145
  finally {
141
146
  // The tree was the build's own copy; the tarballs are what is kept.
142
- rmSync(work, { recursive: true, force: true });
147
+ if (retired && !preparationRefused())
148
+ rmSync(work, { recursive: true, force: true });
149
+ else
150
+ report(` build: work/state retained for uncertain or refused preparation: ${work}\n`);
143
151
  }
144
152
  }
145
153
  /**
@@ -169,44 +177,13 @@ export function linkBuiltPackages(plan, links, report = () => undefined) {
169
177
  }
170
178
  /** The file a build's work copy names its owning process in. */
171
179
  const OWNER_FILE = ".owner-pid";
172
- /**
173
- * The work copies of builds whose process is gone: a build that was killed
174
- * never ran its own cleanup, and its install tree, gigabytes of it, would
175
- * stay on the disk. A copy whose owner still runs is another build's.
176
- */
177
- function sweepAbandonedWork(builtRoot) {
178
- if (!existsSync(builtRoot))
179
- return;
180
- for (const name of readdirSync(builtRoot)) {
181
- const work = join(builtRoot, name, "work");
182
- if (!existsSync(work))
183
- continue;
184
- let owner = Number.NaN;
185
- try {
186
- owner = Number(readFileSync(join(work, OWNER_FILE), "utf8"));
187
- }
188
- catch { /* no owner recorded: abandoned */ }
189
- if (Number.isInteger(owner) && owner > 0 && alive(owner))
190
- continue;
191
- rmSync(work, { recursive: true, force: true });
192
- }
193
- }
194
- function alive(pid) {
195
- try {
196
- process.kill(pid, 0);
197
- return true;
198
- }
199
- catch (cause) {
200
- return cause.code === "EPERM";
201
- }
202
- }
203
180
  /** The World, installed in a copy of its directory and up there over the state its directory holds. */
204
- async function worldUp(world, work, report) {
181
+ async function worldUp(world, work, report, cacheRoot) {
205
182
  const packagesDirectory = join(world.directory, ".substrate", "packages");
206
183
  // The World's files as its image takes them: a runtime's bookkeeping of one instance stays where it ran, or the
207
184
  // runtime here finds an instance it never ran and refuses to replace it.
208
185
  const holds = (path) => !path.split("/").some((name) => WORLD_RUNTIME_NAMES.includes(name));
209
- const root = await materializeInstallTree(world.directory, installCommandOf(world.directory), work, { ...(existsSync(packagesDirectory) ? { packagesDirectory } : {}), onOutput: report, layout: "project", holds });
186
+ const root = await materializeInstallTree(world.directory, installCommandOf(world.directory), work, { ...(existsSync(packagesDirectory) ? { packagesDirectory } : {}), ...(cacheRoot ? { cacheRoot } : {}), onOutput: report, layout: "project", holds });
210
187
  // The World's state is its directory's `.volter`, less a runtime's bookkeeping of one instance.
211
188
  const state = join(world.directory, ".volter");
212
189
  if (existsSync(state))
@@ -217,26 +194,60 @@ async function worldUp(world, work, report) {
217
194
  const command = `${quote(process.execPath)} -- ${quote(cli)}`;
218
195
  const version = JSON.parse(readFileSync(join(dirname(cli), "..", "..", "package.json"), "utf8")).version;
219
196
  const outputFlag = worldEnvironmentOutputFlag(version);
220
- report(` build: World ${world.name} up on this machine, over its directory's state\n`);
221
- // A fresh output path: the World owns its creation, never an input file.
222
- const up = await run(`${command} up ${quote(join(root, world.config))} --name ${world.name} ${outputFlag} ${quote(join(root, "world.env"))} --root ${quote(root)} --keep-state`, root, {}, report);
223
- if (up.status !== 0)
224
- throw new Error(`World ${world.name} did not start on this machine for the project's build:\n${up.tail}`);
225
- // The app's url the World records for the build, so a value baked into the
226
- // build (a NEXT_PUBLIC_ base url) agrees with the one the tab records at
227
- // attach: the dev page's own origin, which the CLI knows from its port.
228
- if (world.appUrl) {
229
- const recorded = await run(`${command} app-url ${world.name} --set ${quote(world.appUrl)} --root ${quote(root)}`, root, {}, report);
230
- if (recorded.status !== 0)
231
- report(` build: World ${world.name}: the app url was not recorded (exit ${recorded.status})\n`);
197
+ const owned = { name: world.name, root, command };
198
+ try {
199
+ report(` build: World ${world.name} up on this machine, over its directory's state\n`);
200
+ // A fresh output path: the World owns its creation, never an input file.
201
+ const up = await run(`${command} up ${quote(join(root, world.config))} --name ${world.name} ${outputFlag} ${quote(join(root, "world.env"))} --root ${quote(root)} --keep-state`, root, {}, report, true);
202
+ if (up.status !== 0)
203
+ throw new Error(`World ${world.name} did not start on this machine for the project's build:\n${up.tail}`);
204
+ if (preparationBounded()) {
205
+ const observed = await run(`${command} status ${world.name} --root ${quote(root)} --json`, root, {}, report, true);
206
+ const status = JSON.parse(observed.stdout);
207
+ if (observed.status !== 0 || status.running !== true || !Array.isArray(status.livePids))
208
+ throw new Error(`World ${world.name}: cannot prove owned live PIDs for memory admission.`);
209
+ preparationWorldPids(status.livePids);
210
+ preparationCheckpoint();
211
+ }
212
+ // The app's url the World records for the build, so a value baked into the
213
+ // build (a NEXT_PUBLIC_ base url) agrees with the one the tab records at
214
+ // attach: the dev page's own origin, which the CLI knows from its port.
215
+ if (world.appUrl) {
216
+ const recorded = await run(`${command} app-url ${world.name} --set ${quote(world.appUrl)} --root ${quote(root)}`, root, {}, report, true);
217
+ if (recorded.status !== 0)
218
+ report(` build: World ${world.name}: the app url was not recorded (exit ${recorded.status})\n`);
219
+ }
220
+ return owned;
221
+ }
222
+ catch (cause) {
223
+ // Up may have created infrastructure before cancellation/refusal. Only its
224
+ // pinned lifecycle door may retire it; a failure retains the copied root.
225
+ try {
226
+ await preparationCleanup(() => worldDown(owned, world.directory, report));
227
+ }
228
+ catch (cleanup) {
229
+ throw new Error(`${String(cause)}; World teardown uncertain: ${String(cleanup)}; retained ${root}`);
230
+ }
231
+ throw cause;
232
232
  }
233
- return { name: world.name, root, command };
234
233
  }
235
234
  /** The World down, its state kept and carried back to its directory, from which its image is made. */
236
235
  async function worldDown(world, directory, report) {
237
- const down = await run(`${world.command} down ${world.name} --root ${quote(world.root)}`, world.root, {}, report);
236
+ if (preparationBounded()) {
237
+ const retired = await run(`${world.command} consumers retire ${world.name} --root ${quote(world.root)}`, world.root, {}, report, true, true);
238
+ if (retired.status !== 0)
239
+ throw new Error(`World ${world.name}: consumers did not retire:\n${retired.tail}`);
240
+ }
241
+ const down = await run(`${world.command} down ${world.name} --root ${quote(world.root)}`, world.root, {}, report, true, true);
238
242
  if (down.status !== 0)
239
243
  throw new Error(`World ${world.name} did not stop after the project's build:\n${down.tail}`);
244
+ if (preparationBounded()) {
245
+ const observed = await run(`${world.command} status ${world.name} --root ${quote(world.root)} --json`, world.root, {}, report, true, true);
246
+ const status = JSON.parse(observed.stdout);
247
+ preparationWorldTeardown(world.name, world.root, { running: status.running, livePids: status.livePids });
248
+ if (observed.status !== 0 || status.running !== false || !Array.isArray(status.livePids) || status.livePids.length > 0)
249
+ throw new Error(`World ${world.name}: stopped status unconfirmed; copied state retained.`);
250
+ }
240
251
  const state = join(world.root, ".volter");
241
252
  if (existsSync(state))
242
253
  cpSync(state, join(directory, ".volter"), { recursive: true, filter: (path) => !WORLD_RUNTIME_NAMES.includes(path.split(sep).pop() ?? "") });
@@ -263,23 +274,41 @@ function directoriesOf(tree) {
263
274
  walk(tree, "");
264
275
  return found;
265
276
  }
266
- function run(command, cwd, env, report) {
277
+ function run(command, cwd, env, report, worldCommand = false, cleanup = false) {
267
278
  return new Promise((settle, reject) => {
268
- const child = spawn("/bin/sh", ["-c", command], {
279
+ preparationCheckpoint();
280
+ // exec gives cancellation to the pinned World CLI, whose attachment
281
+ // lifetime owns consumer groups. Never signal its infrastructure directly.
282
+ const child = spawn("/bin/sh", ["-c", worldCommand ? `exec ${command}` : command], {
269
283
  cwd,
270
- env: { ...process.env, ...env, NEXT_TELEMETRY_DISABLED: "1", CI: "1" },
284
+ detached: !worldCommand && preparationBounded(),
285
+ env: { ...process.env, ...env, PATH: env.PATH ?? hostPreparationPath(), NEXT_TELEMETRY_DISABLED: "1", CI: "1" },
271
286
  stdio: ["ignore", "pipe", "pipe"],
272
287
  });
288
+ trackPreparationChild(child, worldCommand ? () => { child.kill("SIGTERM"); } : () => cancelPreparationGroup(child));
273
289
  let tail = "";
290
+ let stdout = "";
291
+ const timeout = cleanup ? setTimeout(() => { child.kill("SIGTERM"); reject(new Error(`World cleanup timed out; retained ${cwd}`)); }, 20000) : undefined;
274
292
  const keep = (chunk) => {
275
293
  const text = chunk.toString("utf8");
276
294
  tail = `${tail}${text}`.slice(-4000);
277
295
  report(text.replace(/^/gmu, " "));
278
296
  };
279
- child.stdout.on("data", keep);
297
+ child.stdout.on("data", (chunk) => { stdout = `${stdout}${chunk.toString("utf8")}`.slice(-1_000_000); keep(chunk); });
280
298
  child.stderr.on("data", keep);
281
- child.on("error", reject);
282
- child.on("close", (status, signal) => settle({ status, signal, tail: tail.trim().split("\n").slice(-12).join("\n") }));
299
+ child.on("error", (cause) => { if (timeout)
300
+ clearTimeout(timeout); reject(cause); });
301
+ child.on("close", (status, signal) => {
302
+ if (timeout)
303
+ clearTimeout(timeout);
304
+ try {
305
+ preparationCheckpoint();
306
+ settle({ status, signal, stdout, tail: tail.trim().split("\n").slice(-12).join("\n") });
307
+ }
308
+ catch (cause) {
309
+ reject(cause);
310
+ }
311
+ });
283
312
  });
284
313
  }
285
314
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project-build.js","sourceRoot":"","sources":["../../src/cli/project-build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-build.js","sourceRoot":"","sources":["../../src/cli/project-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type BrowserPackCatalogSnapshot } from "@volter/browser-runtime";
2
+ import { type BrowserPackPublicationReceipt, type BrowserPackPublicationStore } from "./pack-publication.js";
3
+ import { type BrowserProvisionCatalogInput, type BrowserProvisionDemand } from "./provision-demand.js";
4
+ export interface BrowserDemandCatalogInput {
5
+ version: 1;
6
+ /** Operator location configuration, separate from artifact identity. */
7
+ checkoutRoot: string;
8
+ abi: string;
9
+ applications: Array<{
10
+ id: string;
11
+ checkout: string;
12
+ sourcePin: string;
13
+ recipe: string;
14
+ workflow: string;
15
+ selectedFile?: string;
16
+ profiles?: string[];
17
+ dependencyPlan?: string;
18
+ captureEvidence?: string;
19
+ }>;
20
+ families: Array<{
21
+ id: string;
22
+ kind: "image" | "package" | "command" | "system-package" | "runtime";
23
+ names: string[];
24
+ evidence: string;
25
+ prepare: string;
26
+ /** A recipe is a candidate until its genuine closure and integration exist. */
27
+ category: string;
28
+ reason: string;
29
+ }>;
30
+ }
31
+ export interface BrowserDemandCatalogGeneration {
32
+ catalog: BrowserPackCatalogSnapshot;
33
+ applications: Array<{
34
+ id: string;
35
+ recipe: string;
36
+ workflow: string;
37
+ captureEvidence?: string;
38
+ demand: BrowserProvisionDemand;
39
+ }>;
40
+ }
41
+ /** No solver, downloads, build, World, install or app source writes. */
42
+ export declare function generateBrowserDemandCatalog(input: BrowserDemandCatalogInput, previous?: BrowserPackCatalogSnapshot): Promise<BrowserDemandCatalogGeneration>;
43
+ /** Exact artifacts/manifests/locks already staged in this same publication store.
44
+ * The ordinary publisher checks those bytes before changing the pointer.
45
+ * Generated unresolved rows need no pretend artifact objects.
46
+ */
47
+ export declare function publishBrowserDemandCatalog(store: BrowserPackPublicationStore, generation: BrowserDemandCatalogGeneration): Promise<BrowserPackPublicationReceipt>;
48
+ export declare function reportBrowserDemandCatalog(generation: BrowserDemandCatalogGeneration, publication: BrowserProvisionCatalogInput): Promise<string>;
49
+ //# sourceMappingURL=provision-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision-catalog.d.ts","sourceRoot":"","sources":["../../src/cli/provision-catalog.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAA8C,KAAK,6BAA6B,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzJ,OAAO,EAAsF,KAAK,4BAA4B,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE3L,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,CAAC,CAAC;IACX,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAChE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACnD,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAAC;QACjF,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QACnD,+EAA+E;QAC/E,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,0BAA0B,CAAC;IACpC,YAAY,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,sBAAsB,CAAA;KAAE,CAAC,CAAC;CACjI;AAED,wEAAwE;AACxE,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CA0CnK;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAExK;AAED,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,8BAA8B,EAAE,WAAW,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvJ"}
@@ -0,0 +1,72 @@
1
+ /** ADR-0094: demand metadata uses the existing normalizers and publisher. */
2
+ import { readFileSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ import { canonicalBrowserPackJson, digestBrowserPackBytes, matchBrowserProvision, parseBrowserPackCatalogSnapshot, } from "@volter/browser-runtime";
5
+ import { measuredCatalog, publishBrowserPackCatalog } from "./pack-publication.js";
6
+ import { formatBrowserProvisionPlan, planBrowserProvisionDemand, readBrowserProvisionDemand } from "./provision-demand.js";
7
+ /** No solver, downloads, build, World, install or app source writes. */
8
+ export async function generateBrowserDemandCatalog(input, previous) {
9
+ if (input.version !== 1 || !input.abi || !input.checkoutRoot || !Array.isArray(input.applications) || !Array.isArray(input.families))
10
+ throw new Error("Invalid demand catalog input.");
11
+ const base = previous ? parseBrowserPackCatalogSnapshot(previous) : measuredCatalog([], []);
12
+ const provisions = [...(base.provisions ?? [])];
13
+ const seen = new Set();
14
+ const generated = new Set();
15
+ const applications = [];
16
+ for (const app of input.applications) {
17
+ if (!/^[a-z0-9-]+$/u.test(app.id) || seen.has(app.id))
18
+ throw new Error(`Duplicate or invalid demand application id: ${app.id}`);
19
+ seen.add(app.id);
20
+ if (!/^[a-f0-9]{40}$/u.test(app.sourcePin) || !app.checkout || app.checkout.includes("/") || app.checkout.includes("\\") || [".", ".."].includes(app.checkout))
21
+ throw new Error(`Demand ${app.id} requires an exact source pin and one checkout leaf.`);
22
+ const demand = readBrowserProvisionDemand(resolve(input.checkoutRoot, app.checkout), {
23
+ abi: input.abi, sourcePin: app.sourcePin,
24
+ ...(app.selectedFile ? { selectedFile: app.selectedFile } : {}),
25
+ ...(app.profiles ? { profiles: app.profiles } : {}),
26
+ ...(app.dependencyPlan ? { plan: JSON.parse(readFileSync(resolve(app.dependencyPlan), "utf8")) } : {}),
27
+ });
28
+ applications.push({ id: app.id, recipe: app.recipe, workflow: app.workflow, ...(app.captureEvidence ? { captureEvidence: app.captureEvidence } : {}), demand });
29
+ for (const item of demand.items) {
30
+ // Keep measured bindings/refusals; source discovery never replaces one
31
+ // or upgrades an existing candidate merely because its name was seen.
32
+ if (matchBrowserProvision(base, item.request).status !== "missing")
33
+ continue;
34
+ const request = item.request;
35
+ const families = input.families.filter(family => family.kind === request.kind && family.names.includes(request.name));
36
+ if (families.length > 1)
37
+ throw new Error(`Ambiguous generation recipes for ${request.kind} ${request.name}.`);
38
+ const family = families[0];
39
+ const { version, features: _features, ...identity } = request;
40
+ const selector = { ...identity, versions: [version] };
41
+ const canonical = canonicalBrowserPackJson(selector);
42
+ if (generated.has(canonical))
43
+ continue;
44
+ generated.add(canonical);
45
+ const hash = await digestBrowserPackBytes(new TextEncoder().encode(canonical));
46
+ provisions.push({
47
+ id: `demand-${hash.slice(7)}`, selector, disposition: "candidate",
48
+ evidence: family?.evidence ?? `${app.sourcePin}:${item.file}:${item.line}`,
49
+ category: family?.category ?? "preparation-unclassified",
50
+ reason: family?.reason ?? "A locked/source occurrence is discovery, not a qualified runtime provision; provide its existing host-resolved instance/closure and invoked-feature evidence.",
51
+ prepare: family?.prepare ?? "Classify selected demand and normalize its exact prepared closure through the existing dependency/program/module preparation APIs; publish through publishBrowserPackCatalog.",
52
+ });
53
+ }
54
+ }
55
+ return { catalog: measuredCatalog(base.entries, provisions), applications };
56
+ }
57
+ /** Exact artifacts/manifests/locks already staged in this same publication store.
58
+ * The ordinary publisher checks those bytes before changing the pointer.
59
+ * Generated unresolved rows need no pretend artifact objects.
60
+ */
61
+ export async function publishBrowserDemandCatalog(store, generation) {
62
+ return publishBrowserPackCatalog(store, { artifacts: [], manifests: [], locks: [], catalog: generation.catalog });
63
+ }
64
+ export async function reportBrowserDemandCatalog(generation, publication) {
65
+ const reports = [];
66
+ for (const app of generation.applications) {
67
+ const plan = await planBrowserProvisionDemand(app.demand, publication);
68
+ reports.push(`Application ${app.id}; recipe=${app.recipe}; workflow=${app.workflow}; retained capture=${app.captureEvidence ?? "unavailable; dynamic closure unverified"}\n${formatBrowserProvisionPlan(app.demand, plan)}`);
69
+ }
70
+ return reports.join("\n");
71
+ }
72
+ //# sourceMappingURL=provision-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision-catalog.js","sourceRoot":"","sources":["../../src/cli/provision-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type BrowserProvisionPlan, type BrowserProvisionRequest, type BrowserRuntimePackProfile } from "@volter/browser-runtime";
2
+ import { type DependencyPlan } from "../dependency-plan.js";
3
+ export interface BrowserProvisionDemandItem {
4
+ request: BrowserProvisionRequest;
5
+ file: string;
6
+ line: number;
7
+ scope: "selected" | "optional-profile" | "lock-candidate";
8
+ /** No environment values, credentials or command arguments in the report. */
9
+ environment?: string[];
10
+ ports?: number[];
11
+ storage?: string[];
12
+ service?: string;
13
+ profiles?: string[];
14
+ readiness?: string[];
15
+ }
16
+ export interface BrowserProvisionDemand {
17
+ sourcePin?: string;
18
+ sourceMode: "pinned" | "working-tree";
19
+ items: BrowserProvisionDemandItem[];
20
+ incomplete: Array<{
21
+ file: string;
22
+ reason: string;
23
+ }>;
24
+ }
25
+ export interface BrowserProvisionCatalogInput {
26
+ directory: string;
27
+ digest: string;
28
+ profile: BrowserRuntimePackProfile;
29
+ }
30
+ export interface BrowserProvisionDemandOptions {
31
+ abi: string;
32
+ /** Only this explicitly selected definition is a mandatory service request. */
33
+ selectedFile?: string;
34
+ sourcePin?: string;
35
+ plan?: DependencyPlan;
36
+ profiles?: string[];
37
+ environment?: Readonly<Record<string, string>>;
38
+ buildArgs?: Readonly<Record<string, string>>;
39
+ }
40
+ export declare function readBrowserProvisionDemand(folder: string, options: BrowserProvisionDemandOptions): BrowserProvisionDemand;
41
+ /** Read the existing publication directory through the ordinary authenticated client. */
42
+ export declare function planBrowserProvisionDemand(demand: BrowserProvisionDemand, input: BrowserProvisionCatalogInput): Promise<BrowserProvisionPlan>;
43
+ /** Metadata resolution is not artifact availability, installation or application admission. */
44
+ export declare function formatBrowserProvisionPlan(demand: BrowserProvisionDemand, plan?: BrowserProvisionPlan): string;
45
+ //# sourceMappingURL=provision-demand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision-demand.d.ts","sourceRoot":"","sources":["../../src/cli/provision-demand.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,KAAK,yBAAyB,EACxF,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIpF,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IAC1D,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,QAAQ,GAAG,cAAc,CAAC;IACtC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,GAAG,sBAAsB,CAyHzH;AAED,yFAAyF;AACzF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAYnJ;AAED,+FAA+F;AAC/F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAe9G"}