@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
@@ -0,0 +1,367 @@
1
+ // Task-local RSS admission. No machine-wide process listing or infrastructure signals.
2
+ import { AsyncLocalStorage } from "node:async_hooks";
3
+ import { execFileSync } from "node:child_process";
4
+ import { mkdirSync, renameSync, writeFileSync } from "node:fs";
5
+ import { dirname } from "node:path";
6
+ const PHASES = ["plan", "generate", "product build", "package archives", "bundles", "bodies", "layers", "final copy"];
7
+ const INTERVAL_MS = 500;
8
+ // A ps/pgrep that outlives its 2 s timeout is a missed sample, not a reading. On a loaded host one
9
+ // such call during `npm ci` stopped a whole preparation (W81, 2026-10-04, frozen da385785: ps
10
+ // ETIMEDOUT 21 s into Workbench's install, sampled tree 714 MiB under a 6144 MiB limit). The bound
11
+ // still holds: no complete sample for this long refuses, as an unobserved tree can grow unseen.
12
+ const STALE_MS = 10_000;
13
+ class ObservationTimeout extends Error {
14
+ }
15
+ const context = new AsyncLocalStorage();
16
+ export function preparationMemoryLimit(value = process.env.BROWSER_SUBSTRATE_PREPARATION_MEMORY_MIB) {
17
+ if (value === undefined)
18
+ return undefined;
19
+ if (!/^[1-9]\d*$/u.test(value) || !Number.isSafeInteger(Number(value)))
20
+ throw new Error("Preparation memory limit must be a positive integer number of MiB.");
21
+ return Number(value);
22
+ }
23
+ export function preparationBounded() { return context.getStore() !== undefined; }
24
+ export function preparationRefused() { return context.getStore()?.monitor.failure !== undefined; }
25
+ export function preparationSignal() { return context.getStore()?.monitor.controller.signal; }
26
+ export function preparationCheckpoint() {
27
+ const active = context.getStore();
28
+ if (active && !active.cleanup)
29
+ active.monitor.check();
30
+ }
31
+ export function preparationPhase(phase) {
32
+ const active = context.getStore();
33
+ if (active && !active.cleanup) {
34
+ active.monitor.check(true);
35
+ active.monitor.phase = phase;
36
+ active.monitor.check(true);
37
+ }
38
+ }
39
+ export function trackPreparationChild(child, cancel = () => { child.kill("SIGTERM"); }) {
40
+ const active = context.getStore();
41
+ if (active)
42
+ active.monitor.track(child, cancel, active.cleanup);
43
+ }
44
+ /** A private World's status door proves daemon ownership even after reparenting. */
45
+ export function preparationWorldPids(pids) { context.getStore()?.monitor.observe(pids); }
46
+ export function preparationWorldTeardown(world, root, status) {
47
+ context.getStore()?.monitor.worldTeardown.push({ world, root, status });
48
+ }
49
+ export async function preparationCleanup(work) {
50
+ const active = context.getStore();
51
+ return active ? context.run({ ...active, cleanup: true }, work) : work();
52
+ }
53
+ /** Non-World shell commands get their own group; only that task group is cancelled. */
54
+ export async function cancelPreparationGroup(child) {
55
+ if (child.pid === undefined)
56
+ return;
57
+ const group = child.pid; // Created detached by this invocation, never a World group.
58
+ const signal = (value) => {
59
+ try {
60
+ process.kill(-group, value);
61
+ }
62
+ catch (cause) {
63
+ if (cause.code !== "ESRCH")
64
+ throw cause;
65
+ }
66
+ };
67
+ const groupMembers = () => members(query("pgrep", ["-g", String(group)]).trim().split(/\s+/u).filter(Boolean).map(Number));
68
+ const initial = groupMembers();
69
+ if (initial.length === 0)
70
+ return;
71
+ if (!context.getStore()?.monitor.ownsGroup(group, initial))
72
+ throw new Error(`Preparation group ${group} ownership is uncertain; not signalled.`);
73
+ const anchors = new Map(initial.map((member) => [member.pid, identity(member)]));
74
+ if (anchors.size === 0)
75
+ return;
76
+ signal("SIGTERM");
77
+ await new Promise((resolve) => setTimeout(resolve, 5000));
78
+ const survivors = groupMembers();
79
+ if (survivors.length === 0)
80
+ return;
81
+ if (!survivors.some((member) => anchors.get(member.pid) === identity(member)))
82
+ throw new Error(`Preparation group ${group} identity is uncertain; not escalated, diagnostics retained.`);
83
+ signal("SIGKILL");
84
+ await new Promise((resolve) => setTimeout(resolve, 2000));
85
+ if (groupMembers().length)
86
+ throw new Error(`Preparation task group ${group} did not retire; diagnostics retained.`);
87
+ }
88
+ function query(command, args) {
89
+ try {
90
+ return execFileSync(command, args, { encoding: "utf8", env: { ...process.env, LC_ALL: "C" }, stdio: ["ignore", "pipe", "pipe"], timeout: 2000, maxBuffer: 8 * 1024 * 1024 });
91
+ }
92
+ catch (cause) {
93
+ // ps/pgrep return 1 when the requested process/children have already exited.
94
+ if (cause.status === 1)
95
+ return "";
96
+ if (cause.code === "ETIMEDOUT")
97
+ throw new ObservationTimeout(`Preparation memory observation timed out: ${command} ${args.join(" ")}`);
98
+ throw new Error(`Preparation memory observation failed: ${command}: ${cause instanceof Error ? cause.message : String(cause)}`);
99
+ }
100
+ }
101
+ function members(pids) {
102
+ if (pids.length === 0)
103
+ return [];
104
+ return query("ps", ["-o", "pid=,ppid=,pgid=,rss=,lstart=,comm=", "-p", pids.join(",")]).split("\n").filter((line) => line.trim()).map((line) => {
105
+ const parts = line.trim().split(/\s+/u);
106
+ const [pid, ppid, pgid, rssKiB] = parts.slice(0, 4).map(Number);
107
+ if (![pid, ppid, pgid, rssKiB].every((value) => value !== undefined && Number.isSafeInteger(value) && value >= 0) || parts.length < 10)
108
+ throw new Error(`Preparation memory observation unreadable: ${line}`);
109
+ return { pid: pid, ppid: ppid, pgid: pgid, rssKiB: rssKiB, started: parts.slice(4, 9).join(" "), command: parts.slice(9).join(" ") };
110
+ });
111
+ }
112
+ const identity = (member) => `${member.started}\0${member.command}`;
113
+ class PreparationMemory {
114
+ limitMiB;
115
+ receipt;
116
+ controller = new AbortController();
117
+ failure;
118
+ phase = "plan";
119
+ peaks = Object.fromEntries(PHASES.map((phase) => [phase, { samples: 0, rssKiB: 0 }]));
120
+ worldTeardown = [];
121
+ known = new Map();
122
+ observations = new Map();
123
+ spawned = [];
124
+ children = new Map();
125
+ cancellations = [];
126
+ cancellationErrors = [];
127
+ diagnostics = new Set();
128
+ tasks = [];
129
+ last = [];
130
+ timer;
131
+ startedAt = new Date().toISOString();
132
+ sampledAt = 0;
133
+ completedAt = Date.now();
134
+ missed = [];
135
+ snapshotComplete = false;
136
+ constructor(limitMiB, receipt) {
137
+ this.limitMiB = limitMiB;
138
+ this.receipt = receipt;
139
+ }
140
+ start() {
141
+ if (process.platform !== "darwin" && process.platform !== "linux")
142
+ throw new Error("Bounded preparation requires macOS/Linux parent-scoped pgrep and PID-scoped ps.");
143
+ this.observe([process.pid]);
144
+ this.check(true);
145
+ this.timer = setInterval(() => { try {
146
+ this.sample();
147
+ }
148
+ catch (cause) {
149
+ this.fail(cause);
150
+ } }, INTERVAL_MS);
151
+ this.timer.unref();
152
+ }
153
+ observe(pids) {
154
+ for (const member of members(pids)) {
155
+ this.known.set(member.pid, identity(member));
156
+ this.observations.set(member.pid, member);
157
+ }
158
+ }
159
+ track(child, cancel, cleanup) {
160
+ this.spawned.push({ ...(child.pid === undefined ? {} : { pid: child.pid }), phase: this.phase, cleanup });
161
+ // The actual spawn handle is authority; a PID discovered from a global list is not.
162
+ try {
163
+ if (child.pid !== undefined)
164
+ this.observe([child.pid]);
165
+ }
166
+ catch (cause) {
167
+ this.fail(cause);
168
+ }
169
+ const done = new Promise((resolve) => {
170
+ const closed = () => { this.children.delete(child); resolve(); };
171
+ child.once("close", closed);
172
+ child.once("error", closed);
173
+ });
174
+ this.children.set(child, { cancel, cleanup, done });
175
+ this.tasks.push({ cancel, cleanup });
176
+ if (this.failure && !cleanup)
177
+ this.cancel(cancel);
178
+ }
179
+ ownsGroup(group, current) {
180
+ return current.some((member) => member.pgid === group && this.observations.get(member.pid)?.pgid === group && this.known.get(member.pid) === identity(member));
181
+ }
182
+ tree() {
183
+ const found = new Map();
184
+ const queue = members([...this.known.keys()]).filter((member) => this.known.get(member.pid) === identity(member));
185
+ for (let next = 0; next < queue.length; next += 1) {
186
+ const member = queue[next];
187
+ if (found.has(member.pid))
188
+ continue;
189
+ found.set(member.pid, member);
190
+ this.known.set(member.pid, identity(member));
191
+ this.observations.set(member.pid, member);
192
+ // Only children of a proved member, never ps -A/-ax or pgrep by process name.
193
+ const ids = query("pgrep", ["-P", String(member.pid)]).trim().split(/\s+/u).filter(Boolean).map(Number);
194
+ if (ids.some((pid) => !Number.isSafeInteger(pid) || pid <= 0))
195
+ throw new Error("Preparation child PID observation unreadable.");
196
+ for (const child of members(ids)) {
197
+ if (child.ppid !== member.pid)
198
+ continue; // Parent changed during the observation.
199
+ const previous = this.known.get(child.pid);
200
+ if (previous !== undefined && previous !== identity(child))
201
+ this.known.delete(child.pid);
202
+ queue.push(child);
203
+ }
204
+ }
205
+ if (!found.has(process.pid))
206
+ throw new Error("Preparation root RSS observation is missing.");
207
+ return [...found.values()];
208
+ }
209
+ sample() {
210
+ this.sampledAt = Date.now();
211
+ this.snapshotComplete = false;
212
+ try {
213
+ this.last = this.tree();
214
+ }
215
+ catch (cause) {
216
+ if (!(cause instanceof ObservationTimeout))
217
+ throw cause;
218
+ this.missed.push(`${new Date().toISOString()} ${cause.message}`);
219
+ const unobserved = Date.now() - this.completedAt;
220
+ if (unobserved > STALE_MS)
221
+ throw new Error(`Preparation memory unobserved for ${unobserved} ms (limit ${STALE_MS} ms): ${cause.message}`);
222
+ return;
223
+ }
224
+ this.completedAt = Date.now();
225
+ this.snapshotComplete = true;
226
+ const sum = this.last.reduce((total, member) => total + member.rssKiB, 0);
227
+ const largest = this.last.reduce((a, b) => a.rssKiB >= b.rssKiB ? a : b);
228
+ const peak = this.peaks[this.phase];
229
+ peak.samples += 1;
230
+ if (sum >= peak.rssKiB)
231
+ Object.assign(peak, { rssKiB: sum, largest, at: new Date().toISOString() });
232
+ if (sum > this.limitMiB * 1024 && !this.failure) {
233
+ throw new Error(`Preparation memory refused: phase=${this.phase}, tree=${(sum / 1024).toFixed(1)} MiB, largest=${largest.pid} (${largest.command}, ${(largest.rssKiB / 1024).toFixed(1)} MiB), limit=${this.limitMiB} MiB.`);
234
+ }
235
+ }
236
+ check(force = false) {
237
+ if (this.failure)
238
+ throw this.failure;
239
+ if (!force && Date.now() - this.sampledAt < INTERVAL_MS)
240
+ return;
241
+ try {
242
+ this.sample();
243
+ }
244
+ catch (cause) {
245
+ this.fail(cause);
246
+ throw this.failure;
247
+ }
248
+ }
249
+ fail(cause) {
250
+ if (this.failure) {
251
+ const detail = cause instanceof Error ? cause.message : String(cause);
252
+ if (detail !== this.failure.message && !this.diagnostics.has(detail)) {
253
+ this.diagnostics.add(detail);
254
+ process.stderr.write(`${detail}\n`);
255
+ }
256
+ return;
257
+ }
258
+ this.failure = cause instanceof Error ? cause : new Error(String(cause));
259
+ process.stderr.write(`${this.failure.message}\n`);
260
+ this.controller.abort(this.failure);
261
+ // Keep task doors after the leader exits: observed descendants may still
262
+ // hold its group. Birth/group checks prevent signalling a reused group.
263
+ for (const { cancel, cleanup } of this.tasks)
264
+ if (!cleanup)
265
+ this.cancel(cancel);
266
+ }
267
+ cancel(work) {
268
+ const uncertain = (error) => {
269
+ this.cancellationErrors.push(String(error));
270
+ process.stderr.write(`Preparation task cancellation uncertain: ${String(error)}\n`);
271
+ };
272
+ try {
273
+ this.cancellations.push(Promise.resolve(work()).catch(uncertain));
274
+ }
275
+ catch (error) {
276
+ uncertain(error);
277
+ }
278
+ }
279
+ async finish() {
280
+ if (this.timer)
281
+ clearInterval(this.timer);
282
+ try {
283
+ this.sample();
284
+ }
285
+ catch (cause) {
286
+ this.fail(cause);
287
+ }
288
+ const before = this.last.filter((member) => member.pid !== process.pid);
289
+ if (before.length || this.children.size)
290
+ this.fail(new Error(`Preparation finished with owned consumers still present: ${before.map(({ pid }) => pid).join(", ")}; cancelling task doors and retaining diagnostics.`));
291
+ let timeout;
292
+ await Promise.race([
293
+ Promise.all([...this.children.values()].map(({ done }) => done).concat(this.cancellations)),
294
+ new Promise((resolve) => { timeout = setTimeout(() => { this.fail(new Error("Preparation consumer retirement timed out; diagnostics retained.")); resolve(); }, 15000); }),
295
+ ]);
296
+ if (timeout)
297
+ clearTimeout(timeout);
298
+ try {
299
+ this.sample();
300
+ }
301
+ catch (cause) {
302
+ this.fail(cause);
303
+ }
304
+ if (!this.snapshotComplete)
305
+ this.fail(new Error("Preparation final observation timed out; ownership of remaining processes is unproved, diagnostics retained."));
306
+ const remaining = this.last.filter((member) => member.pid !== process.pid);
307
+ if (remaining.length)
308
+ this.fail(new Error(`Preparation still has observed owned processes: ${remaining.map(({ pid }) => pid).join(", ")}; diagnostics retained.`));
309
+ for (const phase of PHASES) {
310
+ const peak = this.peaks[phase];
311
+ process.stdout.write(` preparation memory: ${phase}: ${peak.samples ? `${(peak.rssKiB / 1024).toFixed(1)} MiB sampled high-water (${peak.samples} samples)` : "not observed"}\n`);
312
+ }
313
+ const document = {
314
+ version: 1, rootPid: process.pid, limitMiB: this.limitMiB, intervalMs: INTERVAL_MS,
315
+ startedAt: this.startedAt, endedAt: new Date().toISOString(),
316
+ status: this.failure ? "refused" : "complete", refusal: this.failure?.message,
317
+ diagnostics: [...this.diagnostics], missedSamples: this.missed, staleLimitMs: STALE_MS, phases: this.peaks, spawned: this.spawned,
318
+ observed: [...this.observations.values()], finalObservationComplete: this.snapshotComplete,
319
+ remaining, activeHandles: [...this.children.keys()].map(({ pid }) => pid),
320
+ cancellationErrors: this.cancellationErrors, worldTeardown: this.worldTeardown,
321
+ limitations: [
322
+ "Sampled resident RSS, not compressed/physical memory or an OS reservation; shared mappings can be counted in multiple processes.",
323
+ "Sub-interval spikes and synchronous CLI stalls can be missed; member observations are sequential and ps start identity has host timestamp precision.",
324
+ "Fast children/daemonization before observation can escape descendant samples; private World status supplements ownership.",
325
+ ],
326
+ };
327
+ mkdirSync(dirname(this.receipt), { recursive: true });
328
+ const temporary = `${this.receipt}.${process.pid}.tmp`;
329
+ writeFileSync(temporary, JSON.stringify(document, null, 2));
330
+ renameSync(temporary, this.receipt);
331
+ process.stdout.write(` preparation memory receipt: ${this.receipt}\n`);
332
+ }
333
+ }
334
+ export async function withPreparationMemory(limitMiB, out, work) {
335
+ if (limitMiB === undefined)
336
+ return work();
337
+ const monitor = new PreparationMemory(limitMiB, `${out}.preparation-memory.json`);
338
+ return context.run({ monitor, cleanup: false }, async () => {
339
+ const interrupted = (signal) => monitor.fail(new Error(`Preparation cancelled by ${signal}; diagnostics retained.`));
340
+ const term = () => interrupted("SIGTERM");
341
+ const interrupt = () => interrupted("SIGINT");
342
+ process.once("SIGTERM", term);
343
+ process.once("SIGINT", interrupt);
344
+ let result;
345
+ try {
346
+ monitor.start();
347
+ result = await work();
348
+ monitor.check();
349
+ }
350
+ catch (cause) {
351
+ monitor.fail(cause);
352
+ }
353
+ finally {
354
+ try {
355
+ await monitor.finish();
356
+ }
357
+ finally {
358
+ process.off("SIGTERM", term);
359
+ process.off("SIGINT", interrupt);
360
+ }
361
+ }
362
+ if (monitor.failure)
363
+ throw monitor.failure;
364
+ return result;
365
+ });
366
+ }
367
+ //# sourceMappingURL=preparation-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preparation-memory.js","sourceRoot":"","sources":["../../src/cli/preparation-memory.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export type PrebundledDependency = string | {
6
6
  };
7
7
  export interface ProjectBuildOptions {
8
8
  imageName: string;
9
+ cacheRoot?: string;
9
10
  /** What the project's files are, as the image's archive digests them. */
10
11
  sourcesDigest: string;
11
12
  /** Whether the image holds a path, relative to the folder: the build sees those files and no others. */
@@ -1 +1 @@
1
- {"version":3,"file":"project-build.d.ts","sourceRoot":"","sources":["../../src/cli/project-build.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAO5E,yIAAyI;AACzI,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIhF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+FAA+F;IAC/F,sHAAsH;IACtH,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AASD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6BhL;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAsB,GAAG,IAAI,CAWlJ;AA2GD,kHAAkH;AAClH,MAAM,WAAW,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEjF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,EAAE,KAAK,GAAE,gBAAgB,EAAO,GAAG,MAAM,CAyC3G"}
1
+ {"version":3,"file":"project-build.d.ts","sourceRoot":"","sources":["../../src/cli/project-build.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAS5E,yIAAyI;AACzI,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIhF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+FAA+F;IAC/F,sHAAsH;IACtH,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AASD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4BhL;AAgFD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAsB,GAAG,IAAI,CAWlJ;AA2HD,kHAAkH;AAClH,MAAM,WAAW,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAEjF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,EAAE,KAAK,GAAE,gBAAgB,EAAO,GAAG,MAAM,CAyC3G"}