@volter/browser-substrate 0.1.132 → 0.1.133
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/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +5 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/shell/assets/{node-execution-worker-8963896fc0b53580.js → node-execution-worker-298552de1105af3a.js} +32 -1
- package/dist/shell/node-execution-worker.js +1 -1
- package/package.json +1 -1
package/dist/cli/main.d.ts
CHANGED
|
@@ -107,7 +107,7 @@ export declare function imageFiles(image: BuiltImage): Map<string, Uint8Array>;
|
|
|
107
107
|
* directory is the World's, outside any project; the World's own runtime
|
|
108
108
|
* runs from it in the tab.
|
|
109
109
|
*/
|
|
110
|
-
export declare function buildWorldImage(directory: string, imageName: string, cacheRoot?: string): Promise<{
|
|
110
|
+
export declare function buildWorldImage(directory: string, imageName: string, cacheRoot?: string, provisionCatalog?: BrowserProvisionCatalogInput): Promise<{
|
|
111
111
|
world: ImageWorld;
|
|
112
112
|
archive: Uint8Array;
|
|
113
113
|
blobs: Map<string, string>;
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -441,7 +441,7 @@ async function prepareImage(folder, name, settings, project, options) {
|
|
|
441
441
|
...(resolved.resolvedLock ? { resolvedLock: resolved.resolvedLock } : {}),
|
|
442
442
|
...(options.cacheRoot ? { cacheRoot: options.cacheRoot } : {}), ...(options.packagesDirectory ? { packagesDirectory: options.packagesDirectory } : {}), capturedFile, packs: options.packs !== false,
|
|
443
443
|
holds: path => archive.files.has(path), ...(options.buildEnv ? { environment: options.buildEnv } : {}), ...(options.buildWorld ? { world: options.buildWorld } : {}),
|
|
444
|
-
...(options.moduleWorld ? { moduleWorld: () => buildWorldImage(options.moduleWorld, name, options.cacheRoot) } : {}),
|
|
444
|
+
...(options.moduleWorld ? { moduleWorld: () => buildWorldImage(options.moduleWorld, name, options.cacheRoot, options.provisionCatalog) } : {}),
|
|
445
445
|
files: tarballs, onOutput: text => process.stdout.write(text),
|
|
446
446
|
});
|
|
447
447
|
plan = projectOutputs.document.plan;
|
|
@@ -765,7 +765,7 @@ export function imageFiles(image) {
|
|
|
765
765
|
* directory is the World's, outside any project; the World's own runtime
|
|
766
766
|
* runs from it in the tab.
|
|
767
767
|
*/
|
|
768
|
-
export async function buildWorldImage(directory, imageName, cacheRoot) {
|
|
768
|
+
export async function buildWorldImage(directory, imageName, cacheRoot, provisionCatalog) {
|
|
769
769
|
const folder = resolve(directory);
|
|
770
770
|
const config = ["world.json"].find((name) => existsSync(join(folder, name)));
|
|
771
771
|
if (!config)
|
|
@@ -788,7 +788,7 @@ export async function buildWorldImage(directory, imageName, cacheRoot) {
|
|
|
788
788
|
if (resolved) {
|
|
789
789
|
plan = resolved.plan;
|
|
790
790
|
servePlanTarballsFromOrigin(plan, packagesDirectory);
|
|
791
|
-
const variants = await placeCatalogVariants(plan, imageName, defaultProvisionCatalog());
|
|
791
|
+
const variants = await placeCatalogVariants(plan, imageName, provisionCatalog ?? defaultProvisionCatalog());
|
|
792
792
|
for (const [url, file] of variants.files)
|
|
793
793
|
tarballs.set(url, file);
|
|
794
794
|
if (variants.identities.length)
|
|
@@ -879,7 +879,7 @@ async function dev(cwd, args) {
|
|
|
879
879
|
// The app's image first: its build may run attached to the World and leave
|
|
880
880
|
// the data it read in the World's directory, which the World's image carries.
|
|
881
881
|
let image = await buildImageWith(cwd, args.name, args.settings, project, imageOptions(args, packages));
|
|
882
|
-
const world = args.world ? await buildWorldImage(args.world, args.name, args.cacheRoot) : undefined;
|
|
882
|
+
const world = args.world ? await buildWorldImage(args.world, args.name, args.cacheRoot, args.provisionCatalogFile ? JSON.parse(readFileSync(resolve(cwd, args.provisionCatalogFile), "utf8")) : undefined) : undefined;
|
|
883
883
|
const attach = (image) => {
|
|
884
884
|
if (!world)
|
|
885
885
|
return;
|
|
@@ -1027,7 +1027,7 @@ async function build(cwd, args) {
|
|
|
1027
1027
|
throw new Error(`--build-arg ${Object.keys(args.buildArgs).join(", ")} applies to a Dockerfile whose build half runs here (a RUN step); this one's setup is ${image.manifest.setup.kind}, built in the tab with its ARG defaults`);
|
|
1028
1028
|
}
|
|
1029
1029
|
if (args.world) {
|
|
1030
|
-
const world = await buildWorldImage(args.world, args.name, args.cacheRoot);
|
|
1030
|
+
const world = await buildWorldImage(args.world, args.name, args.cacheRoot, args.provisionCatalogFile ? JSON.parse(readFileSync(resolve(cwd, args.provisionCatalogFile), "utf8")) : undefined);
|
|
1031
1031
|
image.manifest.world = world.world;
|
|
1032
1032
|
image.world = { archive: world.archive, blobs: world.blobs, ...(world.plan ? { plan: world.plan } : {}) };
|
|
1033
1033
|
for (const [served, source] of world.tarballs)
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -6096,7 +6096,38 @@ ${preloadLines(preloads)}`;const program=bootstrap+(printIndex>=0?`console.log($
|
|
|
6096
6096
|
> ${label} ${phase}
|
|
6097
6097
|
> ${command}
|
|
6098
6098
|
|
|
6099
|
-
`;if(phaseHeading)options.onStderr?.(phaseHeading);const result2=await this.options.runShellCommand(command,{...options,env:{...options.env,npm_lifecycle_event:phase,npm_package_name:manifest.name??"",npm_package_version:manifest.version??"",PATH:scriptPath(cwd,options.env?.PATH)}});stdout+=result2.stdout;stderr+=phaseHeading+result2.stderr;if(result2.exitCode!==0)return{...result2,stdout,stderr}}return{stdout,stderr,exitCode:0}}let scriptArgv;try{scriptArgv=parseCommandWords(script)}catch{return this.runContainer(argv,options)}if(scriptArgv[0]!=="vite"&&!(scriptArgv[0]==="next"&&scriptArgv[1]==="dev"))return this.runContainer(argv,options);if(separator>=0)scriptArgv.push(...argv.slice(separator+1));options.onStderr?.(heading);const result=scriptArgv[0]==="next"?await this.runNext(scriptArgv,options):await this.runVite(scriptArgv,options);return{...result,stderr:`${heading}${result.stderr}`}}ensureBunRuntime(){const vfs2=this.container.vfs;if(vfs2.existsSync(BUN_GLOBALS_PATH)&&vfs2.existsSync(BUN_BUILD_PATH))return;vfs2.mkdirSync(BUN_RUNTIME_DIRECTORY,{recursive:true});vfs2.writeFileSync(BUN_GLOBALS_PATH,BUN_GLOBALS_SOURCE);vfs2.writeFileSync(BUN_BUILD_PATH,BUN_BUILD_SOURCE)}nativeBindingPrelude(cwd){const selected=Object.entries(this.options.preparedBindings??{}).filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];const bindings=this.options.preparedBinding?.(cwd)??(selected?Object.fromEntries(Object.entries(selected[1]).map(([source,target])=>[`${selected[0]==="/"?"":selected[0]}/${source}`,`${selected[0]==="/"?"":selected[0]}/${target}`])):{});const refused=Object.entries(this.options.preparedModuleRefusals??{}).filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];const refusals=this.options.preparedModuleRefusal?.(cwd)??(refused?Object.fromEntries(Object.entries(refused[1]).map(([path3,reason])=>[`${refused[0]==="/"?"":refused[0]}/${path3}`,reason])):{});for(const[path3,reason]of Object.entries(refusals))if(!path3.startsWith("/")||normalizeAbsolutePath(path3)!==path3||!reason.trim())throw new Error(`Prepared module refusal malformed: ${path3}`);
|
|
6099
|
+
`;if(phaseHeading)options.onStderr?.(phaseHeading);const result2=await this.options.runShellCommand(command,{...options,env:{...options.env,npm_lifecycle_event:phase,npm_package_name:manifest.name??"",npm_package_version:manifest.version??"",PATH:scriptPath(cwd,options.env?.PATH)}});stdout+=result2.stdout;stderr+=phaseHeading+result2.stderr;if(result2.exitCode!==0)return{...result2,stdout,stderr}}return{stdout,stderr,exitCode:0}}let scriptArgv;try{scriptArgv=parseCommandWords(script)}catch{return this.runContainer(argv,options)}if(scriptArgv[0]!=="vite"&&!(scriptArgv[0]==="next"&&scriptArgv[1]==="dev"))return this.runContainer(argv,options);if(separator>=0)scriptArgv.push(...argv.slice(separator+1));options.onStderr?.(heading);const result=scriptArgv[0]==="next"?await this.runNext(scriptArgv,options):await this.runVite(scriptArgv,options);return{...result,stderr:`${heading}${result.stderr}`}}ensureBunRuntime(){const vfs2=this.container.vfs;if(vfs2.existsSync(BUN_GLOBALS_PATH)&&vfs2.existsSync(BUN_BUILD_PATH))return;vfs2.mkdirSync(BUN_RUNTIME_DIRECTORY,{recursive:true});vfs2.writeFileSync(BUN_GLOBALS_PATH,BUN_GLOBALS_SOURCE);vfs2.writeFileSync(BUN_BUILD_PATH,BUN_BUILD_SOURCE)}nativeBindingPrelude(cwd){const selected=Object.entries(this.options.preparedBindings??{}).filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];const bindings=this.options.preparedBinding?.(cwd)??(selected?Object.fromEntries(Object.entries(selected[1]).map(([source,target])=>[`${selected[0]==="/"?"":selected[0]}/${source}`,`${selected[0]==="/"?"":selected[0]}/${target}`])):{});const refused=Object.entries(this.options.preparedModuleRefusals??{}).filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];const refusals=this.options.preparedModuleRefusal?.(cwd)??(refused?Object.fromEntries(Object.entries(refused[1]).map(([path3,reason])=>[`${refused[0]==="/"?"":refused[0]}/${path3}`,reason])):{});for(const[path3,reason]of Object.entries(refusals))if(!path3.startsWith("/")||normalizeAbsolutePath(path3)!==path3||!reason.trim())throw new Error(`Prepared module refusal malformed: ${path3}`);for(const[source,target]of Object.entries(bindings)){if(!source.startsWith("/")||!source.endsWith(".node")||!target.startsWith("/")||!target.endsWith(".cjs")||normalizeAbsolutePath(source)!==source||normalizeAbsolutePath(target)!==target||!this.container.vfs.existsSync(target))throw new Error(`Prepared native export binding missing/malformed: ${source}`)}return`(() => {
|
|
6100
|
+
const bindings = Object.freeze(${JSON.stringify(bindings)});
|
|
6101
|
+
const refusals = Object.freeze(${JSON.stringify(refusals)});
|
|
6102
|
+
const { fileURLToPath, pathToFileURL } = require("node:url");
|
|
6103
|
+
const { dirname, resolve } = require("node:path");
|
|
6104
|
+
const { registerHooks } = require("node:module");
|
|
6105
|
+
if (typeof registerHooks !== "function") throw new Error("Prepared native exports require Node synchronous module hooks; prepare a compatible engine on the host.");
|
|
6106
|
+
const refuse = (path, cause) => {
|
|
6107
|
+
const root = Object.keys(refusals).filter(root => path === root || path.startsWith(root + "/")).sort((a, b) => b.length - a.length)[0];
|
|
6108
|
+
const error = new Error(root ? refusals[root] : "Native addon " + path + " has no qualified browser export binding. Prepare and publish its exact native export closure through publish-demand-catalog.mjs on a machine.");
|
|
6109
|
+
error.code = "ERR_UNPREPARED_PROVISION";
|
|
6110
|
+
if (cause) error.cause = cause;
|
|
6111
|
+
throw error;
|
|
6112
|
+
};
|
|
6113
|
+
registerHooks({ resolve(specifier, context, nextResolve) {
|
|
6114
|
+
// Native binaries may deliberately be absent from a prepared image.
|
|
6115
|
+
// Exact mappings still resolve their qualified CJS export; otherwise
|
|
6116
|
+
// report the native load rather than losing the preparation door to
|
|
6117
|
+
// the ordinary missing-file resolution error.
|
|
6118
|
+
const requested = specifier.startsWith("file:") ? fileURLToPath(specifier) : specifier.startsWith("/") ? resolve(specifier) : specifier.startsWith(".") && context.parentURL?.startsWith("file:") ? resolve(dirname(fileURLToPath(context.parentURL)), specifier) : undefined;
|
|
6119
|
+
if (requested?.endsWith(".node") && Object.keys(refusals).some(root => requested === root || requested.startsWith(root + "/"))) refuse(requested);
|
|
6120
|
+
if (requested?.endsWith(".node") && bindings[requested]) return { url: pathToFileURL(bindings[requested]).href, shortCircuit: true };
|
|
6121
|
+
let resolved;
|
|
6122
|
+
try { resolved = nextResolve(specifier, context); }
|
|
6123
|
+
catch (cause) { if (requested?.endsWith(".node")) refuse(requested, cause); throw cause; }
|
|
6124
|
+
const path = resolved.url.startsWith("file:") ? fileURLToPath(resolved.url) : undefined;
|
|
6125
|
+
if (path && Object.keys(refusals).some(root => path === root || path.startsWith(root + "/"))) refuse(path);
|
|
6126
|
+
if (path && bindings[path]) return { url: pathToFileURL(bindings[path]).href, shortCircuit: true };
|
|
6127
|
+
if (path?.endsWith(".node")) refuse(path);
|
|
6128
|
+
return resolved;
|
|
6129
|
+
} });
|
|
6130
|
+
})();
|
|
6100
6131
|
`}async runNodeFile(argv,options,preloads=[]){const target=argv[1];if(!target||target.startsWith("-")){return this.runContainer(argv,options)}const cwd=normalizeAbsolutePath(options.cwd??"/");const targetPath=normalizeAbsolutePath(target.startsWith("/")?target:`${cwd}/${target}`);if(!this.container.vfs.existsSync(targetPath))return this.runContainer(argv,options);const nativePrelude=this.nativeBindingPrelude(options.cwd);if(preloads.length===0&&!nativePrelude&&!options.env?.[BUN_ENVIRONMENT_FLAG]){return this.runNodeContainer(argv,options)}const executablePath=targetPath;const temporaryDirectory=preloads.length>0?cwd:"/tmp/browser-runtime-node-entry";const temporaryPath=`${temporaryDirectory==="/"?"":temporaryDirectory}/${preloads.length>0?".browser-runtime-node-entry-":""}${globalThis.crypto.randomUUID()}.cjs`;const runtimeFiles=this.options.runtimeFiles??this.container.vfs;runtimeFiles.mkdirSync(temporaryDirectory,{recursive:true});runtimeFiles.writeFileSync(temporaryPath,[nativePrelude,`Object.assign(process.env, ${JSON.stringify(options.env??{})});`,`process.argv = ${JSON.stringify(["node",targetPath,...argv.slice(2)])};`,...options.env?.[BUN_ENVIRONMENT_FLAG]?[`require(${JSON.stringify(BUN_GLOBALS_PATH)});`]:[],...preloads.length>0?[preloadLines(preloads)]:[],`require("module")._load(${JSON.stringify(executablePath)}, null, true);`,""].join("\n"));try{return await this.runNodeContainer(["node",temporaryPath],options)}finally{if(runtimeFiles.existsSync(temporaryPath))runtimeFiles.unlinkSync(temporaryPath)}}runNext(argv,options){const cli=this.installedBin("next",normalizeAbsolutePath(options.cwd??"/"));if(!cli)return Promise.resolve({stdout:"",stderr:"next: the project has no next installed to run it.\n",exitCode:1});let args=[...argv];if(args[1]==="dev"){const turbo=args.some(arg=>arg==="--turbopack"||arg==="--turbo");args=args.filter(arg=>arg!=="--turbopack"&&arg!=="--turbo");if(this.nextGeneration(normalizeAbsolutePath(options.cwd??"/"))>=16&&!args.includes("--webpack"))args.push("--webpack");if(turbo)options.onStderr?.("next dev: Turbopack is a native binary the tab cannot run; bundling with webpack.\n")}return cli(args,options)}runVite(argv,options){const cli=this.installedBin("vite",normalizeAbsolutePath(options.cwd??"/"));if(cli)return cli(argv,options);return Promise.resolve({stdout:"",stderr:"vite: the project has no vite installed to run it.\n",exitCode:1})}runContainer(argv,options){const environment=Object.entries({...this.options.preparedEnvironment?.(options.cwd)??Object.entries(this.options.preparedEnvironments??{}).filter(([root2])=>(options.cwd??"/workspace/app")===root2||(options.cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0]?.[1]??{},...options.env??{}}).filter(([name])=>EXPORTABLE_NAME.test(name)&&!SHELL_OWNED_NAMES.has(name)).map(([name,value])=>`${name}=${renderCommand([value])}`);const command=[...environment,renderCommand(argv)].join(" ");return this.container.run(command,options)}async runNodeContainer(argv,options){if(nodeProcessHostInstalled())options={...options,held:false};options={...options,env:{...this.options.preparedEnvironment?.(options.cwd)??Object.entries(this.options.preparedEnvironments??{}).filter(([root2])=>(options.cwd??"/workspace/app")===root2||(options.cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0]?.[1]??{},...options.env??{}}};try{await this.rolldown?.prepare(normalizeAbsolutePath(options.cwd??"/"))}catch(error){const stderr=`Rolldown metadata registration failed: ${error instanceof Error?error.message:String(error)}
|
|
6101
6132
|
`;options.onStderr?.(stderr);return{stdout:"",stderr,exitCode:1}}const portsBeforeLaunch=new Set(this.container.serverBridge.getServerPorts());if(!this.container.isolated&&this.nodeFetchDepth===0){this.originalFetch=globalThis.fetch.bind(globalThis);globalThis.fetch=this.loopbackFetch;this.hadOriginalChildProcessExecutor=Reflect.has(globalThis,childProcessExecutorSymbol);this.originalChildProcessExecutor=Reflect.get(globalThis,childProcessExecutorSymbol);const childProcessRunner=this.options.runChildProcessCommand??this.options.runShellCommand;if(childProcessRunner){Reflect.set(globalThis,childProcessExecutorSymbol,{bypass:0,...options.signal?{parentSignal:options.signal}:{},run:async(command,runOptions)=>{const hold2=runOptions.hold??{value:true};this.heldChildren.add(hold2);try{return await childProcessRunner(command,runOptions)}finally{this.heldChildren.delete(hold2)}}})}}const namedToken=options.processToken;const processToken=typeof namedToken==="string"?namedToken:globalThis.crypto.randomUUID();const owner=this.container;const pendingTimers=()=>owner.pendingTimers?.(processToken)??0;const heldBuilds=()=>(Reflect.get(globalThis,"__browserRuntimeHeldWork")?.count??0)+(this.rolldown?.pendingWork??0);const bridgeChildren=()=>Reflect.get(globalThis,childProcessExecutorSymbol)?.pending?.(processToken)??0;const executionController=options.signal?new AbortController:void 0;const stopOnKill=()=>{executionController?.abort();owner.stopProcess?.(processToken)};options.signal?.addEventListener("abort",stopOnKill,{once:true});if(!this.container.isolated)this.nodeFetchDepth+=1;try{let lastOutputAt;const liveStdin=options.stdinStream;let stdinOpen=liveStdin!==void 0;const heldStdin=liveStdin===void 0?void 0:(async function*(){try{for await(const chunk of liveStdin)yield chunk}finally{stdinOpen=false;lastOutputAt=Date.now()}})();const containerOptions=(({signal:_signal,onStdout,onStderr,...rest})=>({...rest,processToken,...heldStdin?{stdinStream:heldStdin}:{},...executionController?{signal:executionController.signal}:{},...onStdout?{onStdout:chunk=>{lastOutputAt=Date.now();onStdout(chunk)}}:{},...onStderr?{onStderr:chunk=>{lastOutputAt=Date.now();onStderr(chunk)}}:{}}))(options);const childProcessBridge=this.container.isolated?void 0:Reflect.get(globalThis,childProcessExecutorSymbol);if(childProcessBridge)childProcessBridge.bypass+=1;const launchedAt=Date.now();const execution=this.runContainer(argv,containerOptions);await nextTask();const portsOwned=()=>owner.processPorts?.(processToken)??this.container.serverBridge.getServerPorts().filter(port2=>!portsBeforeLaunch.has(port2));let ownedPorts=portsOwned();if(options.held!==true)return await execution;const holdSignal=options.signal??new AbortController().signal;if(ownedPorts.length===0){let settled;void execution.then(result2=>{settled=result2});let lastTickAt=Date.now();let quietSince=lastTickAt;while(!holdSignal.aborted){ownedPorts=portsOwned();if(ownedPorts.length>0)break;const now=Date.now();if(now-lastTickAt>150)quietSince=now;lastTickAt=now;const idle=now-Math.max(lastOutputAt??launchedAt,quietSince)>=500;const working=!settled&&stdinOpen||pendingTimers()>0||[...this.heldChildren].some(hold2=>hold2.value)||bridgeChildren()>0||heldBuilds()>0;if(working)quietSince=now;if(settled&&!working&&(liveStdin===void 0||idle))break;if(!settled&&executionController&&!working&&idle){break}await delay(50)}if(ownedPorts.length===0)ownedPorts=portsOwned();if(ownedPorts.length===0){const idleStop2=!settled&&executionController!==void 0&&!holdSignal.aborted;if(!settled)executionController?.abort();const result2=settled??await execution;return holdSignal.aborted?{...result2,exitCode:143}:idleStop2&&result2.exitCode===143?{...result2,exitCode:0}:result2}}while(!holdSignal.aborted&&(owner.processPorts?portsOwned().length>0:ownedPorts.some(port2=>this.container.serverBridge.getServerPorts().includes(port2)))){await delay(50)}if(holdSignal.aborted&&!owner.processPorts){for(const port2 of ownedPorts){if(this.container.serverBridge.getServerPorts().includes(port2)){this.container.serverBridge.unregisterServer(port2)}}}const idleStop=executionController!==void 0&&!holdSignal.aborted;executionController?.abort();const result=await execution;return holdSignal.aborted?{...result,exitCode:143}:idleStop&&result.exitCode===143?{...result,exitCode:0}:result}finally{if(owner.processPorts?.(processToken).length===0)owner.stopProcess?.(processToken);options.signal?.removeEventListener("abort",stopOnKill);if(!this.container.isolated)this.nodeFetchDepth-=1;if(!this.container.isolated&&this.nodeFetchDepth===0){if(this.originalFetch)globalThis.fetch=this.originalFetch;this.originalFetch=void 0;if(this.hadOriginalChildProcessExecutor){Reflect.set(globalThis,childProcessExecutorSymbol,this.originalChildProcessExecutor)}else{Reflect.deleteProperty(globalThis,childProcessExecutorSymbol)}this.hadOriginalChildProcessExecutor=false;this.originalChildProcessExecutor=void 0}}}loopbackFetch=async(input,init)=>{const request=new Request(input,init);const url2=new URL(request.url);const port2=url2.port?Number(url2.port):url2.protocol==="http:"?80:443;const local2=(url2.protocol==="http:"||url2.protocol==="https:")&&(url2.hostname==="127.0.0.1"||url2.hostname==="localhost"||url2.hostname.endsWith(".localhost")||url2.hostname==="[::1]");if(!local2){if(url2.protocol!=="https:")throw new Error("Browser Node external requests require HTTPS.");this.options.authorizeExternalRequest?.(url2);if(!this.originalFetch)throw new Error("Browser fetch is unavailable.");return this.originalFetch(input,init)}if(!this.container.serverBridge.getServerPorts().includes(port2)){const here=globalThis.location;if(here?.host&&url2.host===here.host&&this.originalFetch)return this.originalFetch(input,init);throw new Error(`Virtual loopback port ${port2} is not listening (${url2.href}; this page is ${here?.host??"unknown"}).`)}const headers={};request.headers.forEach((value,name)=>{headers[name]=value});headers.host=url2.host;const body=request.method==="GET"||request.method==="HEAD"?void 0:await request.arrayBuffer();const response=await this.container.serverBridge.handleRequest(port2,request.method,`${url2.pathname}${url2.search}`,headers,body);const responseHeaders=new Headers;for(const[name,value]of Object.entries(response.headers)){for(const item of Array.isArray(value)?value:[value])responseHeaders.append(name,item)}const bodyForbidden=request.method==="HEAD"||[204,205,304].includes(response.statusCode);const responseBody=!bodyForbidden&&response.body?Uint8Array.from(response.body):null;return new Response(responseBody,{status:response.statusCode,statusText:response.statusMessage??"",headers:responseHeaders})}};function nextTask(){return delay(0)}function delay(milliseconds){const nativeSetTimeout=globalThis.__browserRuntimeNativeSetTimeout??globalThis.setTimeout;return new Promise(resolve2=>nativeSetTimeout.call(globalThis,resolve2,milliseconds))}function normalizeAbsolutePath(value){const parts=[];for(const part of`/${value}`.split("/")){if(!part||part===".")continue;if(part==="..")parts.pop();else parts.push(part)}return`/${parts.join("/")}`}function ensureFsAppend(container2){const shim=container2.runtime?.fsShim;if(!shim||typeof shim.writeFileSync!=="function"||typeof shim.appendFileSync==="function")return;const encoder11=new TextEncoder;const bytes2=value=>typeof value==="string"?encoder11.encode(value):value;const appendSync=(path3,data2,options)=>{let existing=new Uint8Array(0);try{existing=bytes2(shim.readFileSync(path3))}catch{}const next2=bytes2(data2);const joined=new Uint8Array(existing.length+next2.length);joined.set(existing);joined.set(next2,existing.length);shim.writeFileSync(path3,joined,options)};shim.appendFileSync=appendSync;shim.appendFile=(path3,data2,optionsOrCallback,callback)=>{const done=typeof optionsOrCallback==="function"?optionsOrCallback:callback;try{appendSync(path3,data2,typeof optionsOrCallback==="function"?void 0:optionsOrCallback);done?.(null)}catch(error){done?.(error)}};if(shim.promises&&typeof shim.promises==="object"){shim.promises.appendFile=async(path3,data2,options)=>appendSync(path3,data2,options)}}function nodePreloads(argv,env){const preloads=[];const take=(words,strip)=>{const kept=[];for(let index2=0;index2<words.length;index2+=1){const word=words[index2];if(word==="--require"||word==="-r"||word==="--import"){const name=words[index2+1];if(name!==void 0){preloads.push(name);index2+=1}continue}const inline=/^--(?:require|import)=(.+)$/u.exec(word);if(inline){preloads.push(inline[1]);continue}if(strip&&!word.startsWith("-")){kept.push(...words.slice(index2));break}kept.push(word)}return kept};const nodeOptions=env.NODE_OPTIONS?.match(/(?:[^\s"]+|"[^"]*")+/gu)?.map(word=>word.replace(/^"|"$/gu,""))??[];take(nodeOptions,false);const[program,...rest]=argv;return{argv:[program,...take(rest,true)],preloads}}function preloadLines(preloads){return preloads.map(name=>`require(${JSON.stringify(name)});`).join("\n")+(preloads.length>0?"\n":"")}function networkProgram(command){const unquote=word=>word.replace(/^(['"])([\s\S]*)\1$/u,"$2");const words=command.trim().split(/\s+/u).map(unquote);let index2=words[0]==="env"?1:0;while(index2<words.length&&/^[A-Za-z_][A-Za-z0-9_]*=/u.test(words[index2]))index2+=1;const executable=words[index2]?.split("/").at(-1)??"node";return/^[A-Za-z0-9._+-]{1,64}$/u.test(executable)?executable:"node"}function programFromCommand(command,executablePath){return networkProgram(executablePath??command)}function programOfPid(pid,runs2,pidOf){for(const[id2,run]of runs2){if(pidOf(String(id2))?.pid===pid)return run.program}return void 0}function inheritedProgram(ppid,runs2,pidOf,processByPid2){const seen=new Set;let current3=ppid;while(current3>0&&!seen.has(current3)){seen.add(current3);const named=programOfPid(current3,runs2,pidOf);if(named)return named;current3=processByPid2(current3)?.ppid??0}return void 0}function owningRun(token,runs2,pidOf,processByPid2){const ids=pidOf(token);if(!ids)return void 0;const runOfPid=pid=>{for(const id2 of runs2.keys())if(pidOf(String(id2))?.pid===pid)return id2;return void 0};const own=runOfPid(ids.pid);if(own!==void 0)return own;const seen=new Set;let current3=ids.ppid;while(current3>0&&!seen.has(current3)){seen.add(current3);const named=runOfPid(current3);if(named!==void 0)return named;current3=processByPid2(current3)?.ppid??0}return void 0}function networkProgramNow(runs2,token,pidOf,processByPid2){const activePrograms=[...new Set([...runs2.values()].map(run=>run.program))];const ids=pidOf(token);if(ids){const own=programOfPid(ids.pid,runs2,pidOf);const program=own??inheritedProgram(ids.ppid,runs2,pidOf,processByPid2);if(program){return{program,attributed:true,activePrograms,...own===void 0?{pid:ids.pid}:{}}}}if(token!==null){const owned2=runs2.get(Number(token));if(owned2)return{program:owned2.program,attributed:true,activePrograms}}let latest;for(const run of runs2.values())if(!latest||run.startedAt>latest.startedAt)latest=run;return{program:latest?.program??"node",attributed:false,activePrograms}}function tabnodeContainerView(container2,vfs2,overrides={}){return new Proxy(container2,{get(target,key){if(key==="vfs")return vfs2;if(key in overrides)return overrides[key];const value=Reflect.get(target,key);return typeof value==="function"?value.bind(target):value}})}var scope3=self;console.log("[boot-trace]",JSON.stringify({event:"worker-module-ready",at:Date.now()}));scope3.addEventListener("error",event=>{const error=event.error;console.error(`[node worker] uncaught: ${event.message} at ${event.filename||"<generated>"}:${event.lineno}:${event.colno}
|
|
6102
6133
|
${error?.stack??"(no stack)"}`)});scope3.addEventListener("unhandledrejection",event=>{const reason=event.reason;console.error(`[node worker] unhandled rejection: ${reason?.stack??String(reason)}`)});var executorSymbol=Symbol.for("@volter/browser-runtime/child-process-executor");var port;var container;var packStore;var packStoreProjectId;async function openStoreReads(grant){const clock=new Int32Array(grant.clock);const before=Atomics.load(clock,STORE_CLOCK_EPOCH);let openedAt=before;const began=Date.now();const opening=openPackReader({navigator:scope3.navigator},grant.projectId,grant.seed,grant.imageLine).then(reader=>{if(reader?.seeded()&&grant.seed)openedAt=grant.seed.epoch;processReader=reader;return reader}).catch(cause=>{console.warn(`This process reads the project's files through their owner: its own reader did not open (${cause instanceof Error?cause.message:String(cause)}).`);return void 0});await Promise.race([opening,new Promise(resolve2=>setTimeout(resolve2,STORE_OPEN_BUDGET_MS))]);console.log(`[boot-trace] ${JSON.stringify({event:"store-open",at:Date.now(),ms:Date.now()-began,opened:processReader!==void 0})}`);return{opening,clock:grant.clock,get openedAt(){return openedAt}}}var STORE_OPEN_BUDGET_MS=1500;function storeReadsFor(filesystem){const active2=container;if(!packStore||!packStoreProjectId||!active2||filesystem!==active2.vfs||!(filesystem instanceof PackedVirtualFS))return{};const store=packStore,projectId=packStoreProjectId;return{storeReads:()=>{if(packStore!==store)return void 0;const clock=store.clock();const seed=store.readerSeed({overlays:true});const imageLine=seed?.packagesImage?store.imageLine():void 0;return{projectId,clock,...seed?{seed}:{},...imageLine?{imageLine}:{}}}}}var storeWriteFailure;function reportStoreWriteFailure(){const failure=storeWriteFailure;if(!failure)return;storeWriteFailure=void 0;throw failure}var packages;var packagesFilesystem;var processReader;var imageBlocked=()=>realmBlockedReads.size===0?void 0:Object.fromEntries([...realmBlockedReads].map(([reader,{ranges,ms:ms2}])=>[reader,{ranges,ms:Math.round(ms2)}]));var releasePackagesOpen;var initializationStarted=false;var workerDisposing=false;var portStreams=new Map;var childInputSupported=false;var releaseProject;var bundler;var threads;var workerOptions={};function configureNodeExecutionWorker(options){workerOptions=options}var toolchain;var invocationPolicy;var invocationFiles;var executionConfiguration;var confinedRuns=new Map;var nodeProcesses=new NodeProcessSupervisor;var rootRuntimeFiles;var programs=new Map;var commandResolver;function routeCommand2(command,cwd){if(!toolchain)return void 0;let argv;try{argv=parseCommandWords(command)}catch{return void 0}const env={};while(argv.length){const assignment=/^([A-Za-z_][A-Za-z0-9_]*)=(.*)$/su.exec(argv[0]);if(!assignment)break;env[assignment[1]]=assignment[2];argv.shift()}if(argv[0]==="/usr/bin/env"&&argv.length>1)argv.shift();let name=argv[0];if(name===void 0)return void 0;if(name.startsWith("/")&&!programs.has(name)){const basename2=name.slice(name.lastIndexOf("/")+1);if(programs.has(basename2)){name=basename2;argv[0]=basename2}}const runner2=programs.get(name)??commandResolver?.(name,cwd);return runner2?{argv,runner:runner2,env}:void 0}async function runCommand2(command,options){const links=splitShellChain(command);if(links.length===1)return runOneCommand(command,options);let stdout="";let stderr="";let exitCode=0;for(const link2 of links){if(!chainContinues(link2.operator,exitCode))continue;const result=await runOneCommand(link2.command,options);stdout+=result.stdout;stderr+=result.stderr;exitCode=result.exitCode}return{stdout,stderr,exitCode}}function runOneCommand(command,options){assertWorkerActive();options.signal?.throwIfAborted();const shellLine=shellCommandLine(command);if(shellLine!==void 0){const{executablePath:_shell,...lineOptions}=options;return runCommand2(shellLine,lineOptions)}const routed=routeCommand2(command,options.cwd??"/");if(routed)return routed.runner(routed.argv,{...options,env:{...options.env,...routed.env}});return engineRun(requiredContainer(),command,options)}function engineRun(active2,command,options){const bridge=Reflect.get(globalThis,executorSymbol);if(bridge)bridge.bypass+=1;return active2.run(command,options)}function toolchainContainer(active2){return tabnodeContainerView(active2,active2.vfs,{isolated:true,run:(command,options)=>engineRun(active2,command,options)})}var sharedModuleCache;var moduleCacheAnswers=new Map;var nextModuleCacheRequest=1;function askOwnerModuleCache(message){const id2=nextModuleCacheRequest++;return new Promise((resolve2,reject)=>{moduleCacheAnswers.set(id2,{resolve:resolve2,reject});send({...message,id:id2})})}var ownerModuleCache={link:(key,target)=>askOwnerModuleCache({type:"module-cache-link",key,target}),keep:async(key,code3,target)=>{await askOwnerModuleCache({type:"module-cache-keep",key,code:code3,target})}};function moduleCacheOption(vfs2){const moduleCache=projectModuleCache(vfs2);return moduleCache?{moduleCache}:{}}function projectModuleCache(vfs2){if(invocationFiles&&!packages)return ownerModuleCache;if(!packages||!packagesFilesystem||!(vfs2 instanceof PackedVirtualFS))return void 0;sharedModuleCache??=moduleCacheOver(packages,packagesFilesystem,vfs2);return sharedModuleCache}function installToolchain(active2,options){const moduleCache=projectModuleCache(active2.vfs);toolchain=new TabnodeToolchain(toolchainContainer(active2),{baselineCommands:options.baselineCommands??[],...invocationFiles?{runtimeFiles:invocationFiles.runtimeFiles}:rootRuntimeFiles?{runtimeFiles:rootRuntimeFiles}:{},...options.preparedCompilers?{preparedCompilers:Object.fromEntries(Object.entries(options.preparedCompilers).map(([root2,binding2])=>[root2,{...binding2,url:new URL(binding2.url,scope3.location.href).href}]))}:{},...moduleCache?{moduleCache}:{},...options.browserImports?{browserImports:options.browserImports}:{},...options.defaultVitePort!==void 0?{defaultVitePort:options.defaultVitePort}:{},...options.registryScopes?{registryScopes:options.registryScopes}:{},preparedBinding:cwd=>{const selected=[...new Map([...Object.entries(options.preparedBindings??{}),...preparedBindings])].filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];return selected?Object.fromEntries(Object.entries(selected[1]).map(([source,target])=>[`${selected[0]==="/"?"":selected[0]}/${source}`,`${selected[0]==="/"?"":selected[0]}/${target}`])):{}},preparedModuleRefusal:cwd=>{const selected=[...new Map([...Object.entries(options.preparedModuleRefusals??{}),...preparedModuleRefusals])].filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];return selected?Object.fromEntries(Object.entries(selected[1]).map(([path3,reason])=>[`${selected[0]==="/"?"":selected[0]}/${path3}`,reason])):{}},preparedEnvironment:cwd=>{const selected=[...new Map([...Object.entries(options.preparedEnvironments??{}),...preparedEnvironments])].filter(([root2])=>(cwd??"/workspace/app")===root2||(cwd??"/workspace/app").startsWith(`${root2}/`)).sort((a,b)=>b[0].length-a[0].length)[0];return selected?.[1]??{}},runShellCommand:runCommand2,runChildProcessCommand:runCommand2,authorizeExternalRequest:()=>void 0});toolchain.register({registerProgram:(name,runner2)=>{programs.set(name,runner2)},registerCommandResolver:resolver=>{commandResolver=resolver}});for(const manager of(options.baselineCommands??[]).filter(manager2=>["yarn","bun","corepack"].includes(manager2)))programs.set(manager,packageManagerAliasRunner(manager,runCommand2))}var suppressFilesystemEvents=false;var importingFilesystemRoot;var activeRuns=new Map;function beginRun(id2,command,extra){console.log(`[boot-trace] ${JSON.stringify({event:"run-start",at:Date.now(),id:id2,program:programFromCommand(command,extra.executablePath)})}`);const{executablePath,...rest}=extra;activeRuns.set(id2,{...rest,program:programFromCommand(command,executablePath),command,startedAt:Date.now()})}function enginePids(){if(!container)return void 0;const engine=container;if(typeof engine.runPid!=="function"||typeof engine.processByPid!=="function")return void 0;return{token:()=>engine.currentProcessToken(),runPid:engine.runPid,processByPid:engine.processByPid}}function attributionNow(){const engine=enginePids();return networkProgramNow(activeRuns,engine?.token()??container?.currentProcessToken()??null,token=>engine?.runPid(token),pid=>engine?.processByPid(pid))}var nextFetchId=1;var pendingFetches=new Map;var responseStreams=new Map;var fetchAbortCleanup=new Map;var fetchActivities=new Map;function pullFetch(id2){const owned2=fetchActivities.get(id2);try{if(owned2)owned2.pulls.push(owned2.activity.hold());send({type:"fetch-pull",id:id2})}catch(cause){owned2?.cancel();throw cause}}var filesystemForwardingScheduled=false;var settleEngineInitialized;var initialized=new Promise((resolve2,reject)=>{settleEngineInitialized={resolve:resolve2,reject}});void initialized.catch(()=>void 0);publishEngineInitialized(initialized);scope3.addEventListener("message",event=>{if(receiveNodeThread(event))return;if(port||event.data.type!=="attach"||!(event.data.port instanceof MessagePort))return;console.log("[boot-trace]",JSON.stringify({event:"worker-attach-received",at:Date.now()}));port=event.data.port;port.addEventListener("message",message=>void receive(message.data));port.start();send({type:"attached"})});async function receive(message){if(message.type==="module-cache-answer"){const waiter=moduleCacheAnswers.get(message.id);moduleCacheAnswers.delete(message.id);if(message.error)waiter?.reject(new Error(message.error));else waiter?.resolve(message.linked);return}try{if(message.type==="dispose"){if(!workerDisposing)await disposeWorker();return}assertWorkerActive();if(message.type==="init-confined"){if(initializationStarted)throw new Error("Browser Node host initialization has already started.");initializationStarted=true;childInputSupported=message.childInputVersion===1;const processRegistry2=new NodeProcessRegistryClient(message.processRegistry);installProcessRegistry(processRegistry2,message.initialProcess);if(processRegistry2.streams)installNativeStreamTransport(processRegistry2.streams);if(message.nodeProcess){if(!message.initialProcess||message.initialProcess.token!=="1"||!processRegistry2.streams){throw new Error("Node process execution requires its admitted run and native stream channel.")}installNodeEntryBridge(message.initialProcess.token,message.nodeProcess)}if(message.filesystemPolicy===void 0&&!message.nodeProcess)throw new Error("An ordinary Node realm requires process admission.");invocationPolicy=message.filesystemPolicy===void 0?void 0:normalizeProcessFilesystemPolicy(message.filesystemPolicy);if(message.preparedFiles&&!message.nodeProcess)throw new Error("Prepared entries require Node process admission.");const files=nodeInvocationFilesystem(message.filesystem,invocationPolicy,message.nodeProcess?{files:message.preparedFiles??[],limits:message.nodeProcess}:void 0,message.storeReads?await openStoreReads(message.storeReads):void 0);invocationFiles=files;container=createContainer({...message.options,vfs:files.guest});installPortForwarding();if(message.bundler)installBundler(container.vfs,message.bundler);threads=installNodeThreadHost(container.vfs,message.bundler,void 0,message.threadLauncher?{launcher:message.threadLauncher,...message.nodeProcess?{prepared:()=>({files:captureNodePreparedFiles(files.runtimeFiles,message.nodeProcess),limits:message.nodeProcess})}:{}}:void 0);installToolchain(container,message.toolchain??{});installNetworkBroker();installChildProcessBridge();restrictNodeWorkerAuthority();send({type:"initialized",id:message.id,filesystemPolicyVersion:1,processRegistryVersion:1,...processRegistry2.streams?{nativeStreamVersion:1}:{},...message.nodeProcess?{nodeProcessVersion:1}:{},...typeof container?.signalProcess==="function"?{signalVersion:1}:{},inputBytesVersion:1,store:{opened:false,index:[]}});return}if(message.type==="init"){if(initializationStarted)throw new Error("Browser Node host initialization has already started.");initializationStarted=true;nodeProcesses.prepareWorkers(scope3.location.href);childInputSupported=message.childInputVersion===1;executionConfiguration={options:message.options,...message.bundler?{bundler:message.bundler}:{},...message.toolchain?{toolchain:message.toolchain}:{}};{const handoff2=takeStoreHandoff();const held=handoff2?.held??await holdProjectStores({projectId:String(message.store.projectId),...message.store.limits?{limits:message.store.limits}:{},report:work=>send({type:"initializing",id:message.id,work}),disposing:()=>workerDisposing});releaseProject=held.releaseProject;releasePackagesOpen=held.releasePackagesOpen;packages=held.shared;installPackageStore(held.shared);const store=held.store;packStore=store;for(const plan of held.preparedPlans??[])preparedProjectPlans.set(plan.root,plan.key);packStoreProjectId=String(message.store.projectId);const opened=held.opened;const{startedAt,phases}=held;const phase=(name,since)=>{phases.push(`${name} ${Math.round(performance.now()-since)} ms`);return performance.now()};const at3=performance.now();container=createContainer({...message.options,vfs:new PackedVirtualFS(store)});for(const entry of handoff2?.overlay??[]){if(entry.type==="directory"){if(!container.vfs.existsSync(entry.path))container.vfs.mkdirSync(entry.path,{recursive:true})}else container.vfs.writeFileSync(entry.path,entry.bytes)}{const active3=container;mountContainerProc(active3.vfs,ownerProcessTable,()=>active3.serverBridge.getServerPorts().map(port2=>{const pid=active3.portPid(port2);return{port:port2,...pid?{pid}:{}}}),()=>active3.streamHandles())}phase("engine",at3);console.log(`[worker] started in ${Math.round(performance.now()-startedAt)} ms: ${phases.join(", ")}`);if(message.toolchain?.typeStripperModuleUrl)await installTypeStripper(new URL(message.toolchain.typeStripperModuleUrl,scope3.location.href).href);webSocketRelay=createVirtualWebSocketRelay(relayed=>send({type:"ws",message:relayed}));if(message.bundler)installBundler(container.vfs,message.bundler);threads=installNodeThreadHost(container.vfs,message.bundler,{projectId:String(message.store.projectId),flush:()=>store.flush()});installFilesystemForwarding(container.vfs);installRootNodeEntryBridge();if(message.toolchain)installToolchain(container,message.toolchain);installNetworkBroker();installChildProcessBridge();const index2=[];let sharedIndex;if(!handoff2){if(message.sharedPageIndexVersion===1){store.clock();const seed=store.readerSeed({current:true});if(seed)sharedIndex={buffer:seed.index,roots:PROJECT_ROOTS,bytes:seed.liveBytes+seed.linkedBytes}}if(!sharedIndex)for(const[path3,entry]of store.entries)index2.push([path3,entry.type,entry.length,entry.mode,entry.mtimeMs])}send({type:"initialized",id:message.id,filesystemPolicyVersion:1,inputBytesVersion:1,store:{opened,index:index2,...sharedIndex?{sharedIndex}:{},treeImport:true,limitsVersion:1,entryReadVersion:1}});settleEngineInitialized?.resolve();return}}if(message.type==="fetch-response-start"){const pending=pendingFetches.get(message.id);if(!pending)return;pendingFetches.delete(message.id);try{const id2=message.id;const body=pending.method==="HEAD"||[204,205,304].includes(message.status)?null:new ReadableStream({start(controller){responseStreams.set(id2,controller)},pull(){pullFetch(id2)},cancel(){responseStreams.delete(id2);fetchAbortCleanup.get(id2)?.();fetchAbortCleanup.delete(id2);try{send({type:"fetch-abort",id:id2})}catch{}}},{highWaterMark:0});fetchActivities.get(id2)?.headersDone();pending.resolve({body,status:message.status,statusText:message.statusText,headers:message.headers});if(body===null)pullFetch(id2)}catch(cause){fetchAbortCleanup.get(message.id)?.();fetchAbortCleanup.delete(message.id);try{send({type:"fetch-abort",id:message.id})}catch{}pending.reject(cause instanceof Error?cause:new Error(String(cause)))}return}if(message.type==="fetch-response-chunk"){fetchActivities.get(message.id)?.pulls.shift()?.();responseStreams.get(message.id)?.enqueue(new Uint8Array(message.body));return}if(message.type==="fetch-response-end"){const stream=responseStreams.get(message.id);responseStreams.delete(message.id);fetchAbortCleanup.get(message.id)?.();fetchAbortCleanup.delete(message.id);stream?.close();return}if(message.type==="fetch-response"||message.type==="fetch-error"){const pending=pendingFetches.get(message.id);if(message.type==="fetch-error"){if(pending){pendingFetches.delete(message.id);pending.reject(new Error(message.error))}const stream=responseStreams.get(message.id);responseStreams.delete(message.id);fetchAbortCleanup.get(message.id)?.();fetchAbortCleanup.delete(message.id);stream?.error(new Error(message.error))}else if(!pending)return;else{pendingFetches.delete(message.id);fetchAbortCleanup.get(message.id)?.();fetchAbortCleanup.delete(message.id);try{pending.resolve({body:pending.method==="HEAD"||[204,205,304].includes(message.status)?null:new ReadableStream({start(controller){controller.enqueue(new Uint8Array(message.body));controller.close()}}),status:message.status,statusText:message.statusText,headers:message.headers})}catch(cause){pending.reject(cause instanceof Error?cause:new Error(String(cause)))}}return}if(message.type==="apply-layers"){try{const result=await applyImageLayers(message.url,message.digest,(parts,total)=>send({type:"applying-layers",id:message.id,parts,total}),message.prepared);send({type:"layers-applied",id:message.id,...result})}catch(cause){send({type:"layers-applied",id:message.id,parts:0,units:0,bytes:0,skipped:false,error:cause instanceof Error?cause.message:String(cause)})}return}if(message.type==="link-program"){try{send({type:"linked-program",id:message.id,...await linkImageProgram(message.source,message.target)})}catch(cause){send({type:"linked-program",id:message.id,linked:false,files:0,error:cause instanceof Error?cause.message:String(cause)})}return}if(message.type==="link-packages"){try{if(!linkPlan)throw new Error("The origin's package store is not open.");const result=await linkPlan(message.root,message.plan,(linked,total,waiting)=>send({type:"linking-packages",id:message.id,linked,total,...waiting?{waiting}:{}}));send({type:"linked-packages",id:message.id,...result})}catch(cause){const described=cause instanceof Error?cause.message?`${cause.name==="Error"?"":`${cause.name}: `}${cause.message}`:cause.name:String(cause);send({type:"linked-packages",id:message.id,linked:0,fetched:0,fromStore:0,error:described})}return}if(message.type==="pack-store-abort"){packStoreOperations.get(message.id)?.abort();return}if(message.type==="pack-store"){const controller=new AbortController;packStoreOperations.set(message.id,controller);try{await answerPackStore(message,controller.signal,{packages,project:packStore,linkShared:(source,target)=>{const vfs2=requiredContainer().vfs;if(!(vfs2 instanceof PackedVirtualFS))throw new Error("The live pack needs the worker's packed filesystem.");vfs2.linkShared(source,target)},send})}finally{packStoreOperations.delete(message.id)}return}if(message.type==="image-file"){const pending=pendingImageFiles.get(message.id);pendingImageFiles.delete(message.id);if(!pending)return;if(message.error!==void 0||message.bytes===void 0)pending.reject(new Error(`The image's file could not be read: ${message.error??"the page answered without it"}`));else pending.resolve({bytes:new Uint8Array(message.bytes),inflated:message.inflated===true});return}if(message.type==="image-pack"){const pending=pendingImagePacks.get(message.id);pendingImagePacks.delete(message.id);if(!pending)return;if(message.error!==void 0||message.text===void 0)pending.reject(new Error(message.error??"the page answered without the pack"));else pending.resolve(message.text);return}if(message.type==="image-packs-expected"){imagePacksKnown??=new Promise(resolve2=>{settleImagePacksKnown=resolve2});return}if(message.type==="image-packs-abandoned"){settleImagePacksKnown?.();imagePacksKnown=settleImagePacksKnown=void 0;return}if(message.type==="image-packs"){try{const packs=readImagePacks(message.keys);settleImagePacksKnown?.();imagePacksKnown=settleImagePacksKnown=void 0;if(message.bodies?.length)await linkPreparedBodies(message.bodies);send({type:"image-packs-read",id:message.id,packs})}catch(cause){send({type:"image-packs-read",id:message.id,packs:0,error:cause instanceof Error?cause.message:String(cause)})}finally{settleImagePacksKnown?.();imagePacksKnown=settleImagePacksKnown=void 0}return}if(message.type==="ws"){webSocketRelay?.receive(message.message);return}if(message.type==="watched-paths"){const vfs2=container?.vfs;const paths=typeof vfs2?.watchedPaths==="function"?vfs2.watchedPaths():vfs2?.watchers?[...vfs2.watchers.entries()].filter(([,entries])=>[...entries].some(entry=>!entry.closed)).map(([path3,entries])=>({path:path3,recursive:[...entries].some(entry=>!entry.closed&&entry.recursive===true)})):[];send({type:"watched-paths",id:message.id,paths});return}if(message.type==="store-stats"){const account=installAccounting();send({type:"store-stats",id:message.id,stats:packStore?{...packStore.stats(),...account?{install:account}:{}}:null});return}if(message.type==="image-startup-set"){send({type:"image-startup-set",id:message.id,ranges:packages?.imageStartupSet()??[]});return}if(message.type==="image-prefetch"){const startedAt=performance.now();const prefetch=packages?.prefetchImage(message.ranges,message.streams)??{queued:0,done:Promise.resolve()};send({type:"image-prefetch",id:message.id,queued:prefetch.queued});if(prefetch.queued>0)void prefetch.done.then(()=>send({type:"image-prefetched",id:message.id,ms:Math.round(performance.now()-startedAt)}));return}if(message.type==="profile-probe"){send({type:"profile-pong",id:message.id});return}if(message.type==="host-ports"){hostPorts=new Set(message.ports.filter(candidate=>Number.isInteger(candidate)&&candidate>0&&candidate<65536));for(const listener of hostPortListeners)listener(hostPorts);return}if(message.type==="listen-net"||message.type==="unlisten-net"||message.type==="net-data"||message.type==="net-end"){handleNetMessage(message);return}if(message.type==="child-input-consumed"){const pending=pendingChildInput.get(message.id);pendingChildInput.delete(message.id);pending?.resolve();return}if(message.type==="child-fd-consumed"){const key=childFdKey(message.id,message.fd);const pending=pendingChildFdInput.get(key);pendingChildFdInput.delete(key);pending?.resolve();return}if(message.type==="child-fd-output"||message.type==="child-fd-close"){const pending=pendingChildren.get(message.id);const descriptor=validChildFd(message.fd)?pending?.descriptors?.[message.fd]:void 0;if(!pending||!descriptor)return;if(message.type==="child-fd-close"){descriptor.end();return}if(!(message.bytes instanceof ArrayBuffer)||message.bytes.byteLength>childChunkBytes){pendingChildren.delete(message.id);try{send({type:"child-abort",id:message.id})}catch{}pending.reject(new Error("Child process descriptor chunks must be at most 64 KiB."));return}descriptor.write(new Uint8Array(message.bytes));return}if(message.type==="child-output"||message.type==="child-result"||message.type==="child-error"){const pending=pendingChildren.get(message.id);if(!pending)return;if(message.type==="child-output"){if(message.stream==="stdout")pending.onStdout?.(message.chunk);else pending.onStderr?.(message.chunk);return}console.log(`[boot-trace] ${JSON.stringify({event:message.type,at:Date.now(),id:message.id,owner:pending.owner})}`);pendingChildren.delete(message.id);if(message.type==="child-error")pending.reject(new Error(message.error));else pending.resolve({stdout:message.stdout,stderr:message.stderr,exitCode:message.exitCode,...message.signal?{signal:message.signal}:{}});return}const active2=requiredContainer();if(message.type==="fs-watch-event"){invocationFiles?.notifyWatch(message.event,message.path);return}if(message.type==="fs-event"){invocationFiles?.notify(message.event,message.path);return}if(message.type==="run"&&message.filesystemPolicy&&!invocationPolicy){if(!executionConfiguration)throw new Error("Confined Node execution has no worker configuration.");const configuration=executionConfiguration;const policy=normalizeProcessFilesystemPolicy(message.filesystemPolicy);const controller=new AbortController;confinedRuns.set(message.id,controller);beginRun(message.id,message.command,{controller,...message.cwd?{cwd:message.cwd}:{},...message.executablePath?{executablePath:message.executablePath}:{}});const liveStdin=message.liveStdin?openLiveStdin(message.id):void 0;const terminal=message.terminal?openTerminal(message.id,message.terminal):void 0;void nodeProcesses.run(message.command,{...message.cwd?{cwd:message.cwd}:{},...message.env?{env:message.env}:{},...message.stdin!==void 0?{stdin:message.stdin}:{},...liveStdin?{stdinStream:liveStdin}:{},...terminal?{terminal}:{},signal:controller.signal,onStdout:chunk=>send({type:"output",id:message.id,stream:"stdout",chunk}),onStderr:chunk=>send({type:"output",id:message.id,stream:"stderr",chunk})},{filesystem:active2.vfs,...storeReadsFor(active2.vfs),policy,workerUrl:scope3.location.href,configuration,serverBridge:active2.serverBridge,net:pageNetHost,hostPorts:hostPortsHost,...moduleCacheOption(active2.vfs),runChild:(command,options,argv)=>requestChild(command,options,message.id,argv),http:request=>brokerHttpOnce(request,{program:programFromCommand(message.command,message.executablePath),attributed:true,activePrograms:[programFromCommand(message.command,message.executablePath)]})}).then(async result=>{await packStore?.flush();flushFilesystemForwarding();sendResult(message.id,result)}).catch(cause=>{flushFilesystemForwarding();sendError(message.id,cause)}).finally(()=>{confinedRuns.delete(message.id);activeRuns.delete(message.id);liveStdins.get(message.id)?.close(true);liveStdins.delete(message.id);terminals.delete(message.id)});return}if(message.type==="run"){const chain=splitShellChain(message.command).length>1;const routed=chain?void 0:routeCommand2(message.command,message.cwd??"/");const controller=new AbortController;beginRun(message.id,message.command,{...controller?{controller}:{},...message.cwd?{cwd:message.cwd}:{},...message.executablePath?{executablePath:message.executablePath}:{}});launchPorts.set(message.id,new Set(vfsServerBridge().getServerPorts()));if(message.interactive)heldRuns.add(message.id);const liveStdin=message.liveStdin?openLiveStdin(message.id):void 0;const terminal=message.terminal?openTerminal(message.id,message.terminal):void 0;const runOptions={...message.cwd?{cwd:message.cwd}:{},...message.env?{env:message.env}:{},...controller?{signal:controller.signal}:{},held:message.interactive,...{processToken:String(message.id)},...message.stdin!==void 0?{stdin:message.stdin}:{},...liveStdin?{stdinStream:liveStdin}:{},...terminal?{terminal}:{},onStdout:chunk=>send({type:"output",id:message.id,stream:"stdout",chunk}),onStderr:chunk=>send({type:"output",id:message.id,stream:"stderr",chunk})};const running=chain?runCommand2(message.command,runOptions):routed?routed.runner(routed.argv,{...runOptions,env:{...runOptions.env,...routed.env}}):engineRun(active2,message.command,runOptions);void running.then(async result=>{console.log(`[boot-trace] ${JSON.stringify({event:"body-return",at:Date.now(),id:message.id,exitCode:result.exitCode,ports:runPorts(message.id),imageBlocked:imageBlocked()})}`);await workSettled(message.id,message.interactive);flushFilesystemForwarding();const aborted=activeRuns.get(message.id)?.controller?.signal.aborted===true;sendResult(message.id,aborted&&result.exitCode===0?{...result,exitCode:143}:result)},cause=>{flushFilesystemForwarding();sendError(message.id,cause)}).finally(()=>{liveStdins.get(message.id)?.close(true);liveStdins.delete(message.id);terminals.delete(message.id);activeRuns.delete(message.id);launchPorts.delete(message.id);heldRuns.delete(message.id)})}else if(message.type==="stdin"){if(message.id!==void 0){const input=liveStdins.get(message.id);if(message.bytes&&input){const id2=message.id;void input.write(new Uint8Array(message.bytes)).then(()=>send({type:"stdin-consumed",id:id2})).catch(cause=>{activeRuns.get(id2)?.controller?.abort(cause);if(!workerDisposing)sendError(id2,cause)})}else if(input)input.push(message.data);else if(message.data!==void 0)active2.sendInput(message.data,String(message.id))}else active2.sendInput(message.data)}else if(message.type==="stdin-end"){liveStdins.get(message.id)?.close();liveStdins.delete(message.id)}else if(message.type==="resize"){terminals.get(message.id)?.resize(message.columns,message.rows)}else if(message.type==="signal"){active2.signalProcess?.(String(message.id),message.signal)}else if(message.type==="abort"){if(heldRuns.has(message.id))closeRunServers(message.id);confinedRuns.get(message.id)?.abort();for(const[childId,child]of pendingChildren){if(child.owner===message.id)send({type:"child-abort",id:childId})}active2.stopProcess?.(String(message.id));liveStdins.get(message.id)?.close(true);liveStdins.delete(message.id);terminals.delete(message.id);activeRuns.get(message.id)?.controller?.abort()}else if(message.type==="fs-apply"){suppressFilesystemEvents=true;try{for(const operation of message.operations){try{applyStoreOperation(active2.vfs,operation)}catch(cause){storeWriteFailure??=cause instanceof Error?cause:new Error(String(cause));const paths=operation.op==="rename"?[operation.from,operation.to]:[operation.path];for(const path3 of paths)queueIndexForwarding(storeEntryOf(active2.vfs,path3));console.error(`The workspace refused ${operation.op} ${paths.join(" -> ")}: ${cause instanceof Error?cause.message:String(cause)}`)}}}finally{suppressFilesystemEvents=false}}else if(message.type==="fs-import"){reportStoreWriteFailure();if(!(active2.vfs instanceof PackedVirtualFS)||!packStore){send({type:"fs-imported",id:message.id,applied:false,changes:[]});return}flushFilesystemForwarding();const root2=normalizeStorePath2(message.tree.root);importingFilesystemRoot=root2;suppressFilesystemEvents=true;let applied;try{applied=active2.vfs.importTree(message.tree)}finally{suppressFilesystemEvents=false;importingFilesystemRoot=void 0}const changes=[];if(applied){changes.push([root2,null]);for(const[path3,entry]of packStore.descendants(root2)){changes.push([path3,entry.type,entry.type==="file"?entry.length:0,entry.mode,entry.mtimeMs])}}send({type:"fs-imported",id:message.id,applied,changes})}else if(message.type==="fs-read"){try{const bytes2=Uint8Array.from(active2.vfs.readFileSync(message.path));const body=bytes2.buffer.slice(bytes2.byteOffset,bytes2.byteOffset+bytes2.byteLength);send({type:"fs-read-result",id:message.id,bytes:body},[body])}catch(cause){sendError(message.id,cause)}}else if(message.type==="fs-entry"){reportStoreWriteFailure();const path3=normalizeStorePath2(message.path);flushFilesystemForwarding();if(!active2.vfs.existsSync(path3)){send({type:"fs-entry-result",id:message.id})}else{const stat2=active2.vfs.statSync(path3);const metadata={path:path3,mode:stat2.mode&4095,mtimeMs:stat2.mtimeMs};if(stat2.isDirectory()){send({type:"fs-entry-result",id:message.id,entry:{...metadata,type:"directory"}})}else{const bytes2=Uint8Array.from(active2.vfs.readFileSync(path3));send({type:"fs-entry-result",id:message.id,entry:{...metadata,type:"file",bytes:bytes2}},[bytes2.buffer])}}}else if(message.type==="fs-flush"){reportStoreWriteFailure();packStore?.flush();send({type:"fs-flushed",id:message.id})}else if(message.type==="port-stream-request"){const stream={abort:new AbortController,pause:()=>void 0,resume:()=>void 0};portStreams.set(message.id,stream);try{const answered=await active2.serverBridge.handleStreamingRequest(message.port,message.method,message.url,message.headers,message.body,{start:(statusCode,statusMessage,headers)=>send({type:"port-stream-head",id:message.id,statusCode,statusMessage,headers}),chunk:chunk=>{const body=Uint8Array.from(chunk).buffer;send({type:"port-stream-chunk",id:message.id,body},[body])},end:()=>send({type:"port-stream-end",id:message.id})},{signal:stream.abort.signal,control:(pause,resume)=>{stream.pause=pause;stream.resume=resume}});if(!answered){send({type:"port-stream-head",id:message.id,statusCode:503,statusMessage:"Service Unavailable",headers:{}});send({type:"port-stream-end",id:message.id})}}finally{portStreams.delete(message.id)}}else if(message.type==="port-stream-control"){const stream=portStreams.get(message.id);if(message.action==="pause")stream?.pause();else if(message.action==="resume")stream?.resume();else stream?.abort.abort()}else if(message.type==="request"){const response=await active2.serverBridge.handleRequest(message.port,message.method,message.url,message.headers,message.body);const bytes2=response.body?Uint8Array.from(response.body):new Uint8Array;const body=bytes2.buffer.slice(bytes2.byteOffset,bytes2.byteOffset+bytes2.byteLength);send({type:"response",id:message.id,statusCode:response.statusCode,statusMessage:response.statusMessage??"",headers:response.headers,body},[body])}}catch(cause){if(message.type==="init")settleEngineInitialized?.reject(cause);if("id"in message&&typeof message.id==="number")sendError(message.id,cause)}}function assertWorkerActive(){if(workerDisposing)throw new Error("Browser Node host is disposed.")}async function disposeWorker(){workerDisposing=true;const reapedProcesses=nodeProcesses.dispose();const failures=[];const release2=operation=>{try{operation()}catch(cause){failures.push(cause)}};for(const controller of confinedRuns.values())release2(()=>controller.abort());confinedRuns.clear();for(const socket of netSockets.values())release2(()=>socket.destroy());netSockets.clear();for(const unlisten of netListeners.values())release2(unlisten);netListeners.clear();netListenerChanges.clear();for(const controller of packStoreOperations.values())controller.abort();packStoreOperations.clear();for(const run of activeRuns.values())release2(()=>run.controller?.abort());for(const input of liveStdins.values())release2(()=>input.close(true));liveStdins.clear();terminals.clear();for(const pending of pendingChildren.values())pending.reject(new Error("Browser Node host was disposed."));pendingChildren.clear();for(const pending of pendingFetches.values())pending.reject(new Error("Browser Node host was disposed."));pendingFetches.clear();for(const stream of responseStreams.values())stream.error(new Error("Browser Node host was disposed."));responseStreams.clear();for(const cleanup of fetchAbortCleanup.values())cleanup();fetchAbortCleanup.clear();await reapedProcesses;release2(()=>threads?.dispose());threads=void 0;try{await toolchain?.dispose()}catch(cause){failures.push(cause)}toolchain=void 0;preparedEnvironments.clear();preparedBindings.clear();preparedModuleRefusals.clear();release2(()=>bundler?.dispose());bundler=void 0;release2(()=>packStore?.close());packStore=void 0;release2(()=>packages?.close());packages=void 0;release2(()=>releasePackagesOpen?.());releasePackagesOpen=void 0;release2(()=>releaseProject?.());releaseProject=void 0;activeRuns.clear();release2(()=>port?.close());if(failures.length)console.error("Browser Node worker cleanup failed.",new AggregateError(failures));scope3.close()}function installBundler(vfs2,options){bundler=new BrowserBundler(vfs2,options);const shim=esbuildShim;shim.setModuleURL(new URL(options.esbuildModuleUrl,scope3.location.href).href);shim.setWasmURL(new URL(options.esbuildWasmUrl,scope3.location.href).href);if(options.rollupModuleUrl)Reflect.set(globalThis,"__browserRuntimeRollupUrl",new URL(options.rollupModuleUrl,scope3.location.href).href);Reflect.set(globalThis,"__browserRuntimeRollupFs",rollupFsOver(requiredContainer().vfs));bundler.prebundle=vitePrebundleAssembler(vfs2,projectModuleCache(vfs2));shim.useHost(bundler)}function normalizeStorePath2(path3){const parts=[];for(const part of path3.split("/")){if(!part||part===".")continue;if(part==="..")parts.pop();else parts.push(part)}return`/${parts.join("/")}`}var installAccount={packages:0,linkedFromStore:0,downloadMs:0,downloadBytes:0,lockWaitMs:0,extractMs:0,extractHelpers:0,applyMs:0,linkMs:0,announceMs:0,sharedFlushes:0,sharedFlushMs:0,elapsedMs:0,lastAt:0};var packStoreOperations=new Map;function installAccounting(){if(installAccount.packages===0)return void 0;const{firstAt,lastAt,...account}=installAccount;return{...account,elapsedMs:firstAt===void 0?0:Math.round(lastAt-firstAt)}}function installPackageStore(shared){const sharedFilesystem=new PackedVirtualFS(shared,PACKAGES_ROOT);packagesFilesystem=sharedFilesystem;const making=new Map;const ensure=async(key,tarballUrl,integrity,pack)=>{try{return await make(key,tarballUrl,integrity,pack)}finally{making.delete(key)}};const make=async(key,tarballUrl,integrity,pack)=>{const startedAt=performance.now();installAccount.firstAt??=startedAt;if(!pack){installTrap({door:"package extraction",subject:`${key} has no pack; the tab would download and extract ${tarballUrl}`,detail:{key,tarball:tarballUrl,...integrity?{integrity}:{}}})}const digest=pack.artifact.digest;const store=livePackStore(shared);let fetched=false;if(!await store.hasTree(digest)){making.set(key,"receiving");const bytes2=await imageFile(pack.url);const actual=`sha256:${[...new Uint8Array(await crypto.subtle.digest("SHA-256",bytes2))].map(byte=>byte.toString(16).padStart(2,"0")).join("")}`;if(actual!==digest||bytes2.byteLength!==pack.artifact.bytes){installTrap({door:"image pack",subject:`${key}'s pack at ${pack.url} is not the artifact the plan names (${bytes2.byteLength} bytes, ${actual}; the plan names ${pack.artifact.bytes} bytes, ${digest})`,detail:{key}})}installAccount.downloadBytes+=bytes2.byteLength;installAccount.downloadMs+=performance.now()-startedAt;making.set(key,"storing");const stagedAt=performance.now();await store.stageArtifact(digest,bytes2,pack.artifact);installAccount.extractMs+=performance.now()-stagedAt;fetched=true}return{home:browserPackExpandedPath(digest),fetched}};const link2=(vfs2,home,path3,fromStore)=>{if(fromStore)installAccount.linkedFromStore+=1;const linkStartedAt=performance.now();const announcedBefore=vfs2.linkTiming.announceMs;vfs2.linkShared(home,path3);installAccount.linkMs+=performance.now()-linkStartedAt;installAccount.announceMs+=vfs2.linkTiming.announceMs-announcedBefore;installAccount.packages+=1;installAccount.lastAt=performance.now()};const hook=async(name,pkg,pkgPath,vfs2)=>{if(!(vfs2 instanceof PackedVirtualFS))return false;const ensured=await ensure(`${name}@${pkg.version}`,pkg.tarballUrl);if(!ensured)return false;link2(vfs2,ensured.home,pkgPath,!ensured.fetched);return true};Reflect.set(globalThis,Symbol.for("@volter/browser-runtime/package-install"),hook);linkPlan=async(root2,plan,progress)=>{const vfs2=requiredContainer().vfs;if(!(vfs2 instanceof PackedVirtualFS))throw new Error("The image's dependency plan needs the worker's store.");preparedBindings.set(root2,{...plan.nativeBindings??{}});preparedModuleRefusals.set(root2,{...plan.moduleRefusals??{}});if(executionConfiguration?.toolchain)executionConfiguration.toolchain.preparedModuleRefusals=Object.fromEntries(new Map([...Object.entries(executionConfiguration.toolchain.preparedModuleRefusals??{}),...preparedModuleRefusals]));if(executionConfiguration?.toolchain)executionConfiguration.toolchain.preparedBindings=Object.fromEntries(new Map([...Object.entries(executionConfiguration.toolchain.preparedBindings??{}),...preparedBindings]));preparedEnvironments.set(root2,{...plan.environment??{}});const at3=path3=>`${root2==="/"?"":root2}/${path3}`;const phases={};let phaseAt=performance.now();const phase=name=>{const now=performance.now();phases[name]=Math.round(now-phaseAt);phaseAt=now};const total=plan.links.length;let linked=0;let fetched=0;let fromStore=0;let lastReported=performance.now();const checkedAt=performance.now();installAccount.firstAt??=checkedAt;const prelinked=plan.key!==void 0&&preparedProjectPlans.get(root2)===plan.key;if(prelinked)preparedProjectPlans.delete(root2);const held=prelinked?new Set:await livePackStore(shared).presentTrees(plan.packages.flatMap(entry=>entry.pack?[entry.pack.artifact.digest]:[]));installAccount.lockWaitMs+=performance.now()-checkedAt;const homes=new Map;const homeOf=index2=>{let pending=homes.get(index2);if(!pending){const entry=plan.packages[index2];const digest=entry.pack?.artifact.digest;if(digest!==void 0&&held.has(digest)){fromStore+=1;pending=Promise.resolve({home:browserPackExpandedPath(digest),fetched:false});homes.set(index2,pending);return pending}pending=ensure(`${entry.name}@${entry.version}`,entry.tarball,entry.integrity,entry.pack).then(ensured=>{if(!ensured)throw new Error(`${entry.name}@${entry.version}: this thread cannot fetch packages into the store.`);if(ensured.fetched)fetched+=1;else fromStore+=1;return ensured});homes.set(index2,pending)}return pending};const links=[...plan.links].sort((left,right)=>depth3(left.path)-depth3(right.path)||left.path.localeCompare(right.path));const platformFits=new Map;const fitsPlatform=(index2,home)=>{let fits=platformFits.get(index2);if(fits!==void 0)return fits;if(plan.packages[index2]?.placed){platformFits.set(index2,true);return true}const prepared=plan.packages[index2]?.linuxX64;if(prepared!==void 0){platformFits.set(index2,prepared);return prepared}fits=true;try{const store=packagesFilesystem&&packagesFilesystem.existsSync(`${home}/package.json`)?packagesFilesystem:vfs2;const manifest=JSON.parse(store.readFileSync(`${home}/package.json`,"utf8"));const allows=(field,value)=>{if(!Array.isArray(field)||field.length===0)return true;const names2=field.filter(item=>typeof item==="string");const denied=names2.filter(name=>name.startsWith("!")).map(name=>name.slice(1));const allowed=names2.filter(name=>!name.startsWith("!"));if(denied.includes(value))return false;return allowed.length===0||allowed.includes(value)};fits=allows(manifest.os,"linux")&&allows(manifest.cpu,"x64")}catch{}platformFits.set(index2,fits);return fits};const place=async entry=>{const{home,fetched:wasFetched}=await homeOf(entry.package);if(!fitsPlatform(entry.package,home)){const stale=at3(entry.path);try{if(vfs2.existsSync(stale))removeTree2(vfs2,stale)}catch{}}else{link2(vfs2,home,at3(entry.path),!wasFetched)}linked+=1;if(performance.now()-lastReported>500){lastReported=performance.now();progress(linked,total)}};const nested=path3=>{const at4=path3.lastIndexOf("node_modules/");const rest=(at4<0?path3:path3.slice(at4+"node_modules/".length)).split("/").filter(Boolean);const nameLength=rest[0]?.startsWith("@")?2:1;return rest.length>nameLength};const first=links.filter(entry=>!nested(entry.path));const later=links.filter(entry=>nested(entry.path));const concurrency=16;let next2=0;let stopped2=false;let linkedAtLastLook=-1;const watch2=setInterval(()=>{if(linked!==linkedAtLastLook){linkedAtLastLook=linked;return}progress(linked,total,[...making].map(([key,stage])=>`${key} ${stage}`))},STALL_REPORT_MS);try{const placed=await Promise.allSettled(Array.from({length:prelinked?0:Math.min(concurrency,first.length)},async()=>{while(!stopped2){const index2=next2++;if(index2>=first.length)return;try{await place(first[index2])}catch(cause){stopped2=true;throw cause}}}));const failures=placed.filter(result=>result.status==="rejected").map(result=>result.reason);if(failures.length===1)throw failures[0];if(failures.length>1)throw new AggregateError(failures,"Package placement failed.");if(prelinked){linked=total;fromStore=new Set(plan.links.filter(entry=>plan.packages[entry.package]?.placed||plan.packages[entry.package]?.linuxX64!==false).map(entry=>entry.package)).size}else for(const entry of later)await place(entry)}finally{clearInterval(watch2)}phase(prelinked?"prelinkedMs":"linksMs");for(const bin of plan.bins){const path3=at3(bin.path);const directory2=path3.slice(0,path3.lastIndexOf("/"));if(!vfs2.existsSync(directory2))vfs2.mkdirSync(directory2,{recursive:true});vfs2.writeFileSync(path3,`node "${at3(bin.target)}" "$@"
|
|
@@ -4341,4 +4341,4 @@ function serveStore(scope3, port, loadEngine) {
|
|
|
4341
4341
|
}
|
|
4342
4342
|
|
|
4343
4343
|
// <stdin>
|
|
4344
|
-
startExecutionFront(self, () => import("/assets/node-execution-worker-
|
|
4344
|
+
startExecutionFront(self, () => import("/assets/node-execution-worker-298552de1105af3a.js"));
|