@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.
- package/catalog/demand-input.json +133 -0
- package/dist/boot-screen.d.ts +2 -0
- package/dist/boot-screen.d.ts.map +1 -1
- package/dist/boot-screen.js +1 -1
- package/dist/boot-screen.js.map +1 -1
- package/dist/cli/archive.d.ts +1 -0
- package/dist/cli/archive.d.ts.map +1 -1
- package/dist/cli/archive.js +4 -4
- package/dist/cli/archive.js.map +1 -1
- package/dist/cli/build.d.ts +5 -1
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +21 -2
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/cache-root.d.ts +7 -0
- package/dist/cli/cache-root.d.ts.map +1 -0
- package/dist/cli/cache-root.js +24 -0
- package/dist/cli/cache-root.js.map +1 -0
- package/dist/cli/companions.d.ts +1 -1
- package/dist/cli/companions.d.ts.map +1 -1
- package/dist/cli/companions.js +30 -16
- package/dist/cli/companions.js.map +1 -1
- package/dist/cli/dependency-plan-build.d.ts +4 -0
- package/dist/cli/dependency-plan-build.d.ts.map +1 -1
- package/dist/cli/dependency-plan-build.js +111 -30
- package/dist/cli/dependency-plan-build.js.map +1 -1
- package/dist/cli/docker-build.d.ts +1 -0
- package/dist/cli/docker-build.d.ts.map +1 -1
- package/dist/cli/docker-build.js +4 -4
- package/dist/cli/docker-build.js.map +1 -1
- package/dist/cli/dry-run.d.ts +4 -4
- package/dist/cli/dry-run.d.ts.map +1 -1
- package/dist/cli/dry-run.js +10 -9
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/generated-code.d.ts +2 -1
- package/dist/cli/generated-code.d.ts.map +1 -1
- package/dist/cli/generated-code.js +46 -16
- package/dist/cli/generated-code.js.map +1 -1
- package/dist/cli/host-build.d.ts +1 -0
- package/dist/cli/host-build.d.ts.map +1 -1
- package/dist/cli/host-build.js +10 -9
- package/dist/cli/host-build.js.map +1 -1
- package/dist/cli/host-managers.d.ts +3 -1
- package/dist/cli/host-managers.d.ts.map +1 -1
- package/dist/cli/host-managers.js +7 -3
- package/dist/cli/host-managers.js.map +1 -1
- package/dist/cli/image-layers.d.ts.map +1 -1
- package/dist/cli/image-layers.js +5 -2
- package/dist/cli/image-layers.js.map +1 -1
- package/dist/cli/main.d.ts +5 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +97 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/pack-publication.d.ts +2 -2
- package/dist/cli/pack-publication.d.ts.map +1 -1
- package/dist/cli/pack-publication.js +3 -3
- package/dist/cli/pack-publication.js.map +1 -1
- package/dist/cli/package-pack.d.ts +1 -1
- package/dist/cli/package-pack.d.ts.map +1 -1
- package/dist/cli/package-pack.js +7 -4
- package/dist/cli/package-pack.js.map +1 -1
- package/dist/cli/package-packs.d.ts +1 -0
- package/dist/cli/package-packs.d.ts.map +1 -1
- package/dist/cli/package-packs.js +84 -14
- package/dist/cli/package-packs.js.map +1 -1
- package/dist/cli/plan-tarballs.d.ts +1 -0
- package/dist/cli/plan-tarballs.d.ts.map +1 -1
- package/dist/cli/plan-tarballs.js +6 -3
- package/dist/cli/plan-tarballs.js.map +1 -1
- package/dist/cli/preparation-memory.d.ts +17 -0
- package/dist/cli/preparation-memory.d.ts.map +1 -0
- package/dist/cli/preparation-memory.js +367 -0
- package/dist/cli/preparation-memory.js.map +1 -0
- package/dist/cli/project-build.d.ts +1 -0
- package/dist/cli/project-build.d.ts.map +1 -1
- package/dist/cli/project-build.js +100 -71
- package/dist/cli/project-build.js.map +1 -1
- package/dist/cli/provision-catalog.d.ts +49 -0
- package/dist/cli/provision-catalog.d.ts.map +1 -0
- package/dist/cli/provision-catalog.js +72 -0
- package/dist/cli/provision-catalog.js.map +1 -0
- package/dist/cli/provision-demand.d.ts +45 -0
- package/dist/cli/provision-demand.d.ts.map +1 -0
- package/dist/cli/provision-demand.js +208 -0
- package/dist/cli/provision-demand.js.map +1 -0
- package/dist/cli/rolldown-binding.d.ts +1 -1
- package/dist/cli/rolldown-binding.d.ts.map +1 -1
- package/dist/cli/rolldown-binding.js +8 -4
- package/dist/cli/rolldown-binding.js.map +1 -1
- package/dist/cli/serve.d.ts +3 -0
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +9 -2
- package/dist/cli/serve.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -31
- package/dist/index.js.map +1 -1
- package/dist/origin-reset.d.ts +4 -0
- package/dist/origin-reset.d.ts.map +1 -0
- package/dist/origin-reset.js +76 -0
- package/dist/origin-reset.js.map +1 -0
- package/dist/program-dom.d.ts +2 -0
- package/dist/program-dom.d.ts.map +1 -1
- package/dist/program-dom.js +11 -1
- package/dist/program-dom.js.map +1 -1
- package/dist/program-types.d.ts +2 -0
- package/dist/program-types.d.ts.map +1 -1
- package/dist/shell/assets/browser-opfs-filesystem-worker-CmF6UKMW.js +3 -0
- package/dist/shell/assets/browser-sandbox-bridge-C8nlSsT2.js +237 -0
- package/dist/shell/assets/{filesystem-host-DJbFuokb.js → filesystem-host-BzPlXSri.js} +1 -1
- package/dist/shell/assets/filesystem-host-Pq9IHKRx.js +3 -0
- package/dist/shell/assets/filesystem-worker-CC3pSXUP.js +5 -0
- package/dist/shell/assets/{fork-worker-BXY2kfdX.js → fork-worker-4YKQ4KTo.js} +1 -1
- package/dist/shell/assets/{node-execution-worker-7e8e0c5321ca0d10.js → node-execution-worker-3ddf5efbaa427e9d.js} +8 -8
- package/dist/shell/assets/{sandbox-bMeKqKBn.js → sandbox-mhFzIWaQ.js} +1 -1
- package/dist/shell/assets/{shell-DLIQ6jHu.js → shell-BZbhxnju.js} +763 -757
- package/dist/shell/assets/worker-BmHEnCyv.js +816 -0
- package/dist/shell/assets/{worker-program-worker-B4OcKVtV.js → worker-program-worker-DueMwljE.js} +10 -10
- package/dist/shell/brand/fonts/Geist-Variable.woff2 +0 -0
- package/dist/shell/brand/fonts/GeistMono-Variable.woff2 +0 -0
- package/dist/shell/brand/fonts/InstrumentSerif-Italic.woff2 +0 -0
- package/dist/shell/brand/fonts/InstrumentSerif-Regular.woff2 +0 -0
- package/dist/shell/brand/icons/app-window.svg +1 -0
- package/dist/shell/brand/icons/at-sign.svg +1 -0
- package/dist/shell/brand/icons/box.svg +1 -0
- package/dist/shell/brand/icons/chevron-right.svg +1 -0
- package/dist/shell/brand/icons/folder.svg +1 -0
- package/dist/shell/brand/icons/info.svg +1 -0
- package/dist/shell/brand/icons/key-round.svg +1 -0
- package/dist/shell/brand/icons/link.svg +1 -0
- package/dist/shell/brand/icons/monitor.svg +1 -0
- package/dist/shell/brand/icons/plus.svg +1 -0
- package/dist/shell/brand/icons/rotate-ccw.svg +1 -0
- package/dist/shell/brand/icons/share-2.svg +1 -0
- package/dist/shell/brand/icons/square-arrow-out-up-right.svg +1 -0
- package/dist/shell/brand/icons/terminal.svg +1 -0
- package/dist/shell/brand/icons/x.svg +1 -0
- package/dist/shell/brand/substrate.svg +1 -0
- package/dist/shell/brand/tokens.css +211 -0
- package/dist/shell/brand/wordmark.svg +1 -0
- package/dist/shell/index.html +5 -3
- package/dist/shell/node-execution-worker.js +16 -13
- package/dist/shell/node-host.html +2 -0
- package/dist/shell/python-execution-worker.js +15 -12
- package/dist/shell/python-host.html +2 -0
- package/dist/shell/python-runtime-snapshot.bin +0 -0
- package/dist/shell/python-runtime-snapshot.json +1 -1
- package/dist/shell/sandbox.html +4 -2
- package/dist/toolbar-styles.generated.d.ts +1 -1
- package/dist/toolbar-styles.generated.d.ts.map +1 -1
- package/dist/toolbar-styles.generated.js +1 -1
- package/dist/toolbar-styles.generated.js.map +1 -1
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +3 -1
- package/dist/toolbar.js.map +1 -1
- package/package.json +1 -1
- package/dist/shell/assets/browser-opfs-filesystem-worker-k2CPzPBU.js +0 -3
- package/dist/shell/assets/browser-sandbox-bridge-BJbQoc4f.js +0 -237
- package/dist/shell/assets/filesystem-host-yMcJuvmT.js +0 -3
- package/dist/shell/assets/filesystem-worker-BbsBhZ9p.js +0 -5
- 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 {
|
|
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 =
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
//
|
|
73
|
-
|
|
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
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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",
|
|
282
|
-
|
|
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"}
|