@enfyra/kernel 1.1.36 → 1.1.38

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.
@@ -1 +1 @@
1
- "use strict";var A=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var m=A((L,b)=>{"use strict";function P({handles:e,createHandleId:t,callIsolateCallback:a}){function c(f,r){if(r==null)return r;let d=typeof r;if(d==="string"||d==="number"||d==="boolean")return r;if(r instanceof Date)return{__date:r.toISOString()};if(r instanceof Set)return{__set:Array.from(r.values()).map(i=>c(f,i))};if(r instanceof Map)return{__map:Array.from(r.entries()).map(([i,u])=>[c(f,i),c(f,u)])};if(r instanceof RegExp)return{__regexp:{source:r.source,flags:r.flags}};if(r instanceof Error)return{__error:{name:r.name,message:r.message,stack:r.stack}};if(typeof URL<"u"&&r instanceof URL)return{__url:r.href};if(typeof URLSearchParams<"u"&&r instanceof URLSearchParams)return{__urlSearchParams:r.toString()};if(typeof Buffer<"u"&&Buffer.isBuffer(r)||r._isBuffer===!0)return n(f,r);if(ArrayBuffer.isView(r))return{__typedArray:r.constructor?.name||"Uint8Array",data:Array.from(r)};if(r instanceof ArrayBuffer)return{__arrayBuffer:Array.from(new Uint8Array(r))};if(Array.isArray(r))return r.map(i=>c(f,i));if(d==="object"&&g(r)){let i={};for(let[u,h]of Object.entries(r))i[u]=c(f,h);return i}return n(f,r)}function n(f,r){let d=t(f);return e.set(d,r),{__pkgHandle:d}}function o(f,r){if(!r||typeof r!="object")return r;if(r.__fnRef)return(...i)=>a(f,r.__fnRef,i);if(r.__pkgHandleArg){let i=e.get(r.__pkgHandleArg);if(!i)throw new Error(`Package argument handle not found: ${r.__pkgHandleArg}`);return i}if(r.__date)return new Date(r.__date);if(r.__set)return new Set(r.__set.map(i=>o(f,i)));if(r.__map)return new Map(r.__map.map(([i,u])=>[o(f,i),o(f,u)]));if(r.__regexp)return new RegExp(r.__regexp.source,r.__regexp.flags||"");if(r.__error){let i=new Error(r.__error.message||"");return i.name=r.__error.name||"Error",r.__error.stack&&(i.stack=r.__error.stack),i}if(r.__url)return new URL(r.__url);if(r.__urlSearchParams)return new URLSearchParams(r.__urlSearchParams);if(r.__blob)return new Blob([Uint8Array.from(r.__blob.data||[])],{type:r.__blob.type||""});if(r.__file){let i=[Uint8Array.from(r.__file.data||[])],u={type:r.__file.type||"",lastModified:r.__file.lastModified};return typeof File<"u"?new File(i,r.__file.name||"file",u):new Blob(i,u)}if(r.__formData){let i=new FormData;for(let[u,h]of r.__formData)i.append(u,o(f,h));return i}if(r.__typedArray){let i=globalThis[r.__typedArray]||Uint8Array;return new i(r.data||[])}if(r.__arrayBuffer)return Uint8Array.from(r.__arrayBuffer).buffer;if(Array.isArray(r))return r.map(i=>o(f,i));let d={};for(let[i,u]of Object.entries(r))d[i]=o(f,u);return d}function s(f,r){return JSON.parse(r||"[]").map(d=>o(f,d))}return{createPackageHandle:n,deserializePackageArg:o,deserializePackageArgs:s,serializePackageValue:c}}function g(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:!Object.values(e).some(a=>typeof a=="function")}b.exports={createPackageRuntimeCodec:P}});var{createPackageRuntimeCodec:$}=m(),w=new Map,l=new Map,k=new Map,_=new Map,S=0,C=0,E=0;function x(e){return Math.max(1,Math.trunc(Number(e)||3e4))}function I(e,t){let a=()=>process.exit(1);try{process.send?.({id:e,ok:!1,error:{message:t}},a),setTimeout(a,50).unref?.()}catch{a()}}var{createPackageHandle:j,deserializePackageArg:B,deserializePackageArgs:R,serializePackageValue:p}=$({handles:l,createHandleId:e=>`${e}:pkg_${++S}`,callIsolateCallback:M});async function U(e){let t=e.fileUrl||e.name;if(w.has(t))return w.get(t);let a=e.name&&e.name.startsWith("node:")?e.name:e.fileUrl||e.name;if(!a)throw new Error(`Package "${e.name}" cannot be imported by package runtime`);let c=await import(a);return w.set(t,c),c}function y(e,t){if(!t||t.length===0)return{target:e&&e.default!==void 0?e.default:e,receiver:void 0};let a=e,c;for(let n=0;n<t.length;n++){let o=t[n];if(a==null&&n===0&&e.default!==void 0&&(a=e.default),a!=null&&o in a){c=a,a=a[o];continue}if(n===0&&e.default!==void 0&&e.default!==a&&o in e.default){c=e.default,a=e.default[o];continue}throw new Error(`Package export not found: ${t.join(".")}`)}return{target:a,receiver:c}}function M(e,t,a){return new Promise((c,n)=>{let o=`cb_${++C}`;k.set(o,{resolve:c,reject:n,taskId:e});try{process.send?.({type:"pkgCallbackCall",id:o,taskId:e,callbackId:t,argsJson:JSON.stringify(a.map(s=>p(e,s)))})}catch(s){k.delete(o),n(s)}})}async function T(e){let t=R(e.taskId,e.argsJson);if(e.op==="handleCall"){let o=l.get(e.handleId);if(!o)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=y(o,e.path||[]);if(typeof s!="function")return p(e.taskId,s);let r=await s.apply(f||o,t);return p(e.taskId,r)}if(e.op==="handleGet"){let o=l.get(e.handleId);if(!o)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=y(o,e.path||[]);return p(e.taskId,typeof s=="function"&&f?s.bind(f):s)}let a=await U(e.package),{target:c,receiver:n}=y(a,e.path||[]);if(e.op==="construct"){if(typeof c!="function")throw new Error(`Package export is not constructable: ${e.packageName}.${(e.path||[]).join(".")}`);return j(e.taskId,new c(...t))}return typeof c=="function"?p(e.taskId,await c.apply(n,t)):p(e.taskId,c)}function O(e,t,a){return new Promise((c,n)=>{let o=`stream_${++E}`;_.set(o,{resolve:c,reject:n});try{process.send?.({type:"pkgStreamChunk",id:e,ackId:o,taskId:t,chunk:Buffer.from(a).toString("base64")},s=>{s&&(_.delete(o),n(s))})}catch(s){_.delete(o),n(s)}})}async function H(e){let t=l.get(e.handleId);if(!t)throw new Error(`Package handle not found: ${e.handleId}`);let{target:a}=y(t,e.path||[]),c=a||t;if(!c||typeof c[Symbol.asyncIterator]!="function"&&typeof c.on!="function")throw new Error(`Package handle is not a readable stream: ${e.handleId}`);for await(let n of c)await O(e.id,e.taskId,n)}function N(e){for(let t of l.keys())t.startsWith(`${e}:`)&&l.delete(t)}process.on("message",async e=>{if(!e)return;if(e.type==="pkgStreamAck"||e.type==="pkgStreamError"){let n=_.get(e.ackId);if(!n)return;_.delete(e.ackId),e.type==="pkgStreamAck"?n.resolve(!0):n.reject(new Error(e.error?.message||"Package stream failed"));return}if(e.type==="pkgCallbackResult"||e.type==="pkgCallbackError"){let n=k.get(e.id);if(!n)return;k.delete(e.id),e.type==="pkgCallbackResult"?n.resolve(B(n.taskId,e.value)):n.reject(new Error(e.error?.message||"Package callback failed"));return}if(!e.op)return;let t=!1,a=x(e.timeoutMs),c=setTimeout(()=>{if(t)return;t=!0;let n=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" "),o=`Package runtime call timed out after ${a}ms${n?` (${n})`:""}`;I(e.id,o)},a);try{if(e.op==="releaseTask"){t=!0,clearTimeout(c),N(e.taskId),e.fire||process.send?.({id:e.id,ok:!0,value:!0});return}let n=e.op==="streamHandle"?await H(e):await T(e);if(t)return;t=!0,clearTimeout(c),process.send?.({id:e.id,ok:!0,value:n})}catch(n){if(t)return;t=!0,clearTimeout(c);let o=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" ");process.send?.({id:e.id,ok:!1,error:{message:o?`${n.message} (${o})`:n.message,stack:n.stack}})}});process.on("disconnect",()=>{process.exit(1)});
1
+ "use strict";var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var m=S((q,A)=>{"use strict";function C({handles:e,createHandleId:t,callIsolateCallback:n}){function o(f,r){if(r==null)return r;let d=typeof r;if(d==="string"||d==="number"||d==="boolean")return r;if(r instanceof Date)return{__date:r.toISOString()};if(r instanceof Set)return{__set:Array.from(r.values()).map(c=>o(f,c))};if(r instanceof Map)return{__map:Array.from(r.entries()).map(([c,u])=>[o(f,c),o(f,u)])};if(r instanceof RegExp)return{__regexp:{source:r.source,flags:r.flags}};if(r instanceof Error)return{__error:{name:r.name,message:r.message,stack:r.stack}};if(typeof URL<"u"&&r instanceof URL)return{__url:r.href};if(typeof URLSearchParams<"u"&&r instanceof URLSearchParams)return{__urlSearchParams:r.toString()};if(typeof Buffer<"u"&&Buffer.isBuffer(r)||r._isBuffer===!0)return a(f,r);if(ArrayBuffer.isView(r))return{__typedArray:r.constructor?.name||"Uint8Array",data:Array.from(r)};if(r instanceof ArrayBuffer)return{__arrayBuffer:Array.from(new Uint8Array(r))};if(Array.isArray(r))return r.map(c=>o(f,c));if(d==="object"&&I(r)){let c={};for(let[u,w]of Object.entries(r))c[u]=o(f,w);return c}return a(f,r)}function a(f,r){let d=t(f);return e.set(d,r),{__pkgHandle:d}}function i(f,r){if(!r||typeof r!="object")return r;if(r.__fnRef)return(...c)=>n(f,r.__fnRef,c);if(r.__pkgHandleArg){let c=e.get(r.__pkgHandleArg);if(!c)throw new Error(`Package argument handle not found: ${r.__pkgHandleArg}`);return c}if(r.__date)return new Date(r.__date);if(r.__set)return new Set(r.__set.map(c=>i(f,c)));if(r.__map)return new Map(r.__map.map(([c,u])=>[i(f,c),i(f,u)]));if(r.__regexp)return new RegExp(r.__regexp.source,r.__regexp.flags||"");if(r.__error){let c=new Error(r.__error.message||"");return c.name=r.__error.name||"Error",r.__error.stack&&(c.stack=r.__error.stack),c}if(r.__url)return new URL(r.__url);if(r.__urlSearchParams)return new URLSearchParams(r.__urlSearchParams);if(r.__blob)return new Blob([Uint8Array.from(r.__blob.data||[])],{type:r.__blob.type||""});if(r.__file){let c=[Uint8Array.from(r.__file.data||[])],u={type:r.__file.type||"",lastModified:r.__file.lastModified};return typeof File<"u"?new File(c,r.__file.name||"file",u):new Blob(c,u)}if(r.__formData){let c=new FormData;for(let[u,w]of r.__formData)c.append(u,i(f,w));return c}if(r.__typedArray){let c=globalThis[r.__typedArray]||Uint8Array;return new c(r.data||[])}if(r.__arrayBuffer)return Uint8Array.from(r.__arrayBuffer).buffer;if(Array.isArray(r))return r.map(c=>i(f,c));let d={};for(let[c,u]of Object.entries(r))d[c]=i(f,u);return d}function s(f,r){return JSON.parse(r||"[]").map(d=>i(f,d))}return{createPackageHandle:a,deserializePackageArg:i,deserializePackageArgs:s,serializePackageValue:o}}function I(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:!Object.values(e).some(n=>typeof n=="function")}A.exports={createPackageRuntimeCodec:C}});var{createPackageRuntimeCodec:x}=m(),b=new Map,p=new Map,k=new Map,_=new Map,P=new Map,h=new Map,E=0,j=0,M=0;function T(e){return Math.max(1,Math.trunc(Number(e)||3e4))}function g(e){let t=P.get(e);return t||(t=new AbortController,P.set(e,t)),t}function $(e){g(e).abort();for(let[t,n]of h)if(n.taskId===e){try{typeof n.stream.destroy=="function"&&n.stream.destroy(new Error("Package stream cancelled")),typeof n.iterator?.return=="function"&&Promise.resolve(n.iterator.return()).catch(()=>{})}catch{}h.delete(t)}}function B(e){let t=H(e.taskId,e.argsJson),n=(e.path||[]).join(".");if(e.packageName==="undici"&&(n==="request"||n==="fetch")){let o=t[1]&&typeof t[1]=="object"?t[1]:{};t[1]={...o,signal:g(e.taskId).signal}}return t}function R(e,t){let n=()=>process.exit(1);try{process.send?.({id:e,ok:!1,error:{message:t}},n),setTimeout(n,50).unref?.()}catch{n()}}var{createPackageHandle:U,deserializePackageArg:O,deserializePackageArgs:H,serializePackageValue:l}=x({handles:p,createHandleId:e=>`${e}:pkg_${++E}`,callIsolateCallback:z});async function N(e){let t=e.fileUrl||e.name;if(b.has(t))return b.get(t);let n=e.name&&e.name.startsWith("node:")?e.name:e.fileUrl||e.name;if(!n)throw new Error(`Package "${e.name}" cannot be imported by package runtime`);let o=await import(n);return b.set(t,o),o}function y(e,t){if(!t||t.length===0)return{target:e&&e.default!==void 0?e.default:e,receiver:void 0};let n=e,o;for(let a=0;a<t.length;a++){let i=t[a];if(n==null&&a===0&&e.default!==void 0&&(n=e.default),n!=null&&i in n){o=n,n=n[i];continue}if(a===0&&e.default!==void 0&&e.default!==n&&i in e.default){o=e.default,n=e.default[i];continue}throw new Error(`Package export not found: ${t.join(".")}`)}return{target:n,receiver:o}}function z(e,t,n){return new Promise((o,a)=>{let i=`cb_${++j}`;k.set(i,{resolve:o,reject:a,taskId:e});try{process.send?.({type:"pkgCallbackCall",id:i,taskId:e,callbackId:t,argsJson:JSON.stringify(n.map(s=>l(e,s)))})}catch(s){k.delete(i),a(s)}})}async function L(e){let t=B(e);if(e.op==="handleCall"){let i=p.get(e.handleId);if(!i)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=y(i,e.path||[]);if(typeof s!="function")return l(e.taskId,s);let r=await s.apply(f||i,t);return l(e.taskId,r)}if(e.op==="handleGet"){let i=p.get(e.handleId);if(!i)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=y(i,e.path||[]);return l(e.taskId,typeof s=="function"&&f?s.bind(f):s)}let n=await N(e.package),{target:o,receiver:a}=y(n,e.path||[]);if(e.op==="construct"){if(typeof o!="function")throw new Error(`Package export is not constructable: ${e.packageName}.${(e.path||[]).join(".")}`);return U(e.taskId,new o(...t))}return typeof o=="function"?l(e.taskId,await o.apply(a,t)):l(e.taskId,o)}function D(e,t,n){return new Promise((o,a)=>{let i=`stream_${++M}`;_.set(i,{resolve:o,reject:a});try{process.send?.({type:"pkgStreamChunk",id:e,ackId:i,taskId:t,chunk:Buffer.from(n).toString("base64")},s=>{s&&(_.delete(i),a(s))})}catch(s){_.delete(i),a(s)}})}async function J(e){let t=p.get(e.handleId);if(!t)throw new Error(`Package handle not found: ${e.handleId}`);let{target:n}=y(t,e.path||[]),o=n||t;if(!o||typeof o[Symbol.asyncIterator]!="function"&&typeof o.on!="function")throw new Error(`Package handle is not a readable stream: ${e.handleId}`);let a=typeof o[Symbol.asyncIterator]=="function"?o[Symbol.asyncIterator]():o;h.set(e.id,{taskId:e.taskId,stream:o,iterator:a});try{for(;;){let i=await a.next();if(i.done)break;await D(e.id,e.taskId,i.value)}}finally{h.delete(e.id)}}function F(e){$(e),P.delete(e);for(let t of p.keys())t.startsWith(`${e}:`)&&p.delete(t)}process.on("message",async e=>{if(!e)return;if(e.type==="pkgStreamAck"||e.type==="pkgStreamError"){let a=_.get(e.ackId);if(!a)return;_.delete(e.ackId),e.type==="pkgStreamAck"?a.resolve(!0):a.reject(new Error(e.error?.message||"Package stream failed"));return}if(e.type==="pkgCallbackResult"||e.type==="pkgCallbackError"){let a=k.get(e.id);if(!a)return;k.delete(e.id),e.type==="pkgCallbackResult"?a.resolve(O(a.taskId,e.value)):a.reject(new Error(e.error?.message||"Package callback failed"));return}if(e.op==="cancelTask"){$(e.taskId),e.fire||process.send?.({id:e.id,ok:!0,value:!0});return}if(!e.op)return;let t=!1,n=T(e.timeoutMs),o=setTimeout(()=>{if(t)return;t=!0;let a=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" "),i=`Package runtime call timed out after ${n}ms${a?` (${a})`:""}`;R(e.id,i)},n);try{if(e.op==="releaseTask"){t=!0,clearTimeout(o),F(e.taskId),e.fire||process.send?.({id:e.id,ok:!0,value:!0});return}let a=e.op==="streamHandle"?await J(e):await L(e);if(t)return;t=!0,clearTimeout(o),process.send?.({id:e.id,ok:!0,value:a})}catch(a){if(t)return;t=!0,clearTimeout(o);let i=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" ");process.send?.({id:e.id,ok:!1,error:{message:i?`${a.message} (${i})`:a.message,stack:a.stack}})}});process.on("disconnect",()=>{process.exit(1)});
@@ -1,4 +1,4 @@
1
- "use strict";var K=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var q=K((Fe,B)=>{"use strict";var{fork:le}=require("child_process"),ue=require("path");function fe({workerDir:e,activeTaskContexts:t}){let s=new Map,r=new Map,a=new Map,o=null,l=0;function g(f){return Math.max(1,Math.trunc(Number(f)||3e4))}function u(f){for(let n of r.values())clearTimeout(n.timer),n.reject(f);r.clear()}function d(f){let n=typeof f=="string"?JSON.parse(f):f;if(n?.error)throw new Error(n.error);return n?.value}async function v(f){let n=t.get(f.taskId);if(!n)throw new Error(`Package callback context not found: ${f.taskId}`);let i=JSON.stringify(f.callbackId),_=JSON.stringify(f.argsJson||"[]"),p=await n.evalClosure(`return __invokeRuntimeCallback(${i}, ${_});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return d(p)}function y(){if(o&&o.connected)return o;let f=ue.join(e,"package-runtime.child.js"),n=le(f,[],{stdio:["ignore","ignore","ignore","ipc"],env:{PATH:process.env.PATH||"",HOME:process.env.HOME||"",NODE_ENV:process.env.NODE_ENV||"production",TMPDIR:process.env.TMPDIR||"",LANG:process.env.LANG||""}});return o=n,n.on("message",i=>{if(!i||!i.id)return;if(i.type==="pkgStreamChunk"){let p=a.get(i.id);if(!p)return;p.onChunk(Buffer.from(i.chunk||"","base64")).then(()=>{try{n.send({type:"pkgStreamAck",ackId:i.ackId})}catch{}}).catch(P=>{try{n.send({type:"pkgStreamError",ackId:i.ackId,error:{message:P.message,stack:P.stack}})}catch{}});return}if(i.type==="pkgCallbackCall"){v(i).then(p=>{try{n.send({type:"pkgCallbackResult",id:i.id,value:p})}catch{}}).catch(p=>{try{n.send({type:"pkgCallbackError",id:i.id,error:{message:p.message,stack:p.stack}})}catch{}});return}let _=r.get(i.id);if(_)if(clearTimeout(_.timer),r.delete(i.id),a.delete(i.id),i.ok)_.resolve(i.value);else{let p=new Error(i.error?.message||"Package runtime call failed");p.stack=i.error?.stack||p.stack,_.reject(p)}}),n.on("exit",(i,_)=>{o===n&&(o=null),u(new Error(`Package runtime exited${_?` with signal ${_}`:` with code ${i}`}`))}),n.on("error",i=>{o===n&&(o=null),u(i)}),n}function c(f){return new Promise((n,i)=>{let _=y(),p=`pkg_${++l}`,P=g(f.timeoutMs),x=setTimeout(()=>{r.delete(p),a.delete(p);try{_.kill()}catch{}i(new Error(`Package runtime call timed out after ${P}ms`))},P);r.set(p,{resolve:n,reject:i,timer:x});try{_.send({...f,id:p},S=>{S&&(clearTimeout(x),r.delete(p),i(S))})}catch(S){clearTimeout(x),r.delete(p),i(S)}})}function m(f,n,i,_=[],p=3e4){return new Promise((P,x)=>{let S=y(),b=`pkg_${++l}`,F=g(p),L=setTimeout(()=>{r.delete(b),a.delete(b);try{S.kill()}catch{}x(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(b,{resolve:P,reject:x,timer:L}),a.set(b,{onChunk:i});try{S.send({op:"streamHandle",taskId:f,handleId:n,path:_,id:b},U=>{U&&(clearTimeout(L),r.delete(b),a.delete(b),x(U))})}catch(U){clearTimeout(L),r.delete(b),a.delete(b),x(U)}})}function w(f){try{if(!o||!o.connected)return;o.send({...f,id:`pkg_${++l}`,fire:!0})}catch{}}async function k(f,n){let i=s.get(f);if(!i)throw new Error("Package context is not available");if(n.handleId)return c({op:n.kind==="get"?"handleGet":"handleCall",taskId:f,handleId:n.handleId,path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs});let _=i.get(n.packageName);if(!_)throw new Error(`Package "${n.packageName}" is not available`);return c({op:n.kind==="construct"?"construct":"call",taskId:f,packageName:n.packageName,package:{name:_.name,fileUrl:_.fileUrl},path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs})}function T(f,n){s.set(f,n)}function O(f){s.delete(f),w({op:"releaseTask",taskId:f})}function h(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:O,executePackageRuntimeCall:k,setTaskPackages:T,streamPackageHandle:m,shutdownPackageRuntime:h}}B.exports={createPackageRuntimeBridge:fe}});var W=K((Ue,V)=>{"use strict";var de=`
1
+ "use strict";var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var G=W((Ue,z)=>{"use strict";var{fork:fe}=require("child_process"),de=require("path");function _e({workerDir:t,activeTaskContexts:e}){let s=new Map,r=new Map,a=new Map,o=null,l=0;function y(u){return Math.max(1,Math.trunc(Number(u)||3e4))}function f(u){for(let n of r.values())clearTimeout(n.timer),n.reject(u);r.clear()}function d(u){let n=typeof u=="string"?JSON.parse(u):u;if(n?.error)throw new Error(n.error);return n?.value}async function k(u){let n=e.get(u.taskId);if(!n)throw new Error(`Package callback context not found: ${u.taskId}`);let i=JSON.stringify(u.callbackId),_=JSON.stringify(u.argsJson||"[]"),p=await n.evalClosure(`return __invokeRuntimeCallback(${i}, ${_});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return d(p)}function w(){if(o&&o.connected)return o;let u=de.join(t,"package-runtime.child.js"),n=fe(u,[],{stdio:["ignore","ignore","ignore","ipc"],env:{PATH:process.env.PATH||"",HOME:process.env.HOME||"",NODE_ENV:process.env.NODE_ENV||"production",TMPDIR:process.env.TMPDIR||"",LANG:process.env.LANG||""}});return o=n,n.on("message",i=>{if(!i||!i.id)return;if(i.type==="pkgStreamChunk"){let p=a.get(i.id);if(!p)return;p.onChunk(Buffer.from(i.chunk||"","base64")).then(()=>{try{n.send({type:"pkgStreamAck",ackId:i.ackId})}catch{}}).catch(v=>{try{n.send({type:"pkgStreamError",ackId:i.ackId,error:{message:v.message,stack:v.stack}})}catch{}});return}if(i.type==="pkgCallbackCall"){k(i).then(p=>{try{n.send({type:"pkgCallbackResult",id:i.id,value:p})}catch{}}).catch(p=>{try{n.send({type:"pkgCallbackError",id:i.id,error:{message:p.message,stack:p.stack}})}catch{}});return}let _=r.get(i.id);if(_)if(clearTimeout(_.timer),r.delete(i.id),a.delete(i.id),i.ok)_.resolve(i.value);else{let p=new Error(i.error?.message||"Package runtime call failed");p.stack=i.error?.stack||p.stack,_.reject(p)}}),n.on("exit",(i,_)=>{o===n&&(o=null),f(new Error(`Package runtime exited${_?` with signal ${_}`:` with code ${i}`}`))}),n.on("error",i=>{o===n&&(o=null),f(i)}),n}function c(u){return new Promise((n,i)=>{let _=w(),p=`pkg_${++l}`,v=y(u.timeoutMs),x=setTimeout(()=>{r.delete(p),a.delete(p);try{_.kill()}catch{}i(new Error(`Package runtime call timed out after ${v}ms`))},v);r.set(p,{resolve:n,reject:i,timer:x});try{_.send({...u,id:p},C=>{C&&(clearTimeout(x),r.delete(p),i(C))})}catch(C){clearTimeout(x),r.delete(p),i(C)}})}function g(u,n,i,_=[],p=3e4){return new Promise((v,x)=>{let C=w(),b=`pkg_${++l}`,F=y(p),q=setTimeout(()=>{r.delete(b),a.delete(b);try{C.kill()}catch{}x(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(b,{resolve:v,reject:x,timer:q}),a.set(b,{onChunk:i});try{C.send({op:"streamHandle",taskId:u,handleId:n,path:_,id:b,timeoutMs:F},L=>{L&&(clearTimeout(q),r.delete(b),a.delete(b),x(L))})}catch(L){clearTimeout(q),r.delete(b),a.delete(b),x(L)}})}function P(u){try{if(!o||!o.connected)return;o.send({...u,id:`pkg_${++l}`,fire:!0})}catch{}}function m(u){try{let n=w();if(!n.connected)return;n.send({op:"cancelTask",taskId:u,id:`pkg_${++l}`,fire:!0})}catch{}}async function S(u,n){let i=s.get(u);if(!i)throw new Error("Package context is not available");if(n.handleId)return c({op:n.kind==="get"?"handleGet":"handleCall",taskId:u,handleId:n.handleId,path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs});let _=i.get(n.packageName);if(!_)throw new Error(`Package "${n.packageName}" is not available`);return c({op:n.kind==="construct"?"construct":"call",taskId:u,packageName:n.packageName,package:{name:_.name,fileUrl:_.fileUrl},path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs})}function E(u,n){s.set(u,n)}function I(u){s.delete(u),P({op:"releaseTask",taskId:u})}function h(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:I,cancelTask:m,executePackageRuntimeCall:S,setTaskPackages:E,streamPackageHandle:g,shutdownPackageRuntime:h}}z.exports={createPackageRuntimeBridge:_e}});var Z=W((Le,X)=>{"use strict";var pe=`
2
2
  "use strict";
3
3
  let $ctx = {};
4
4
  let $pkgs = {};
@@ -754,11 +754,14 @@ const console = {
754
754
  info: (...a) => $ctx.$logs(...a),
755
755
  };
756
756
 
757
- function __resetTask(snapshot, taskId, timeoutMs) {
757
+ function __resetTask(snapshot, taskId, timeoutMs, deadlineMs) {
758
758
  $ctx = snapshot || {};
759
759
  $pkgs = {};
760
760
  __taskId = taskId;
761
- __taskDeadlineMs = Date.now() + Math.max(1, Math.trunc(Number(timeoutMs) || 30000));
761
+ const providedDeadlineMs = Number(deadlineMs);
762
+ __taskDeadlineMs = Number.isFinite(providedDeadlineMs) && providedDeadlineMs > 0
763
+ ? providedDeadlineMs
764
+ : Date.now() + Math.max(1, Math.trunc(Number(timeoutMs) || 30000));
762
765
  __logs = [];
763
766
  __runtimeCallbackCounter = 0;
764
767
  __runtimeCallbacks = new Map();
@@ -913,30 +916,30 @@ function __cleanupTask() {
913
916
  __pendingRuntimeTasks = [];
914
917
  return true;
915
918
  }
916
- `;function _e(e){return de.replace("%%PKG_SETUP%%",e)}V.exports={buildSetupCode:_e}});var{parentPort:R}=require("worker_threads"),z=require("fs"),{fileURLToPath:pe}=require("url"),{createPackageRuntimeBridge:ge}=q(),{buildSetupCode:ye}=W(),j;try{j=require("isolated-vm")}catch(e){R.postMessage({type:"error",message:"isolated-vm not available: "+e.message}),process.exit(1)}var I=new Map,Y=0,A=new Map,H=new Map,E=ge({workerDir:__dirname,activeTaskContexts:A}),he=500,me=5e3,ke=32,G=new WeakMap,ee=new WeakMap,te=new WeakMap,J={created:0,reused:0,released:0,evicted:0,scrubFailed:0},C=null,ve=0,X=0,Z=0;async function we(){let e=Date.now();if(e-X<me)return Z;if(X=e,!C)return 0;let t=0;for(let s of C){let r=s?.isolate;if(!(!r||r.isDisposed))try{let a=await r.getHeapStatistics(),o=a.heap_size_limit||1,l=a.used_heap_size/o;l>t&&(t=l)}catch{}}return Z=t,t}async function N(e){e.heapRatio=await we(),e.contextStats=Pe(),R.postMessage(e)}function Pe(){let e=0;if(C)for(let t of C)e+=t?.idleContexts?.length||0;return{...J,idle:e}}function re(e,t){if(!C){let a=Math.max(1,Math.trunc(Number(t)||8));C=new Array(a).fill(null)}let s=ve++%C.length,r=C[s];return(!r||!r.isolate||r.isolate.isDisposed)&&(r={isolate:new j.Isolate({memoryLimit:e}),idleContexts:[]},C[s]=r),r}async function $(e,t,s){let r=G.get(e);r||(r=new Map,G.set(e,r));let a=r.get(t);if(a)return a;let o=await e.compileScript(t,{filename:s});if(r.set(t,o),r.size>he){let l=r.keys().next().value;r.delete(l)}return o}R.on("message",async e=>{if(e.type==="execute")Ee(e).catch(async t=>{await N({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="executeBatch")Ie(e).catch(async t=>{await N({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="invokeRuntimeCallback")be(e).catch(t=>{R.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:t?.message||String(t)})});else if(e.type==="callResult"){let t=I.get(e.callId);t&&(I.delete(e.callId),t.resolve(e.result))}else if(e.type==="callError"){let t=I.get(e.callId);t&&(I.delete(e.callId),t.reject(new Error(e.error)))}});async function be(e){let t=A.get(e.id);if(!t){R.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:`Runtime callback context not found: ${e.id}`});return}let s=await t.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(e.callbackId)}, ${JSON.stringify(e.argsJson||"[]")});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),r=JSON.parse(s);R.postMessage({type:"runtimeCallbackResult",callId:e.callId,...r})}function M(e,t,s){return new Promise((r,a)=>{let o=`cb_${++Y}`;I.set(o,{resolve:r,reject:a}),R.postMessage({type:t,id:e,callId:o,...s})})}function xe(e,t,s){R.postMessage({type:t,id:e,callId:`f_${++Y}`,...s})}async function Se(e,t){if(t?.method!=="stream")return M(e,"resCall",t);let s=JSON.parse(t.argsJson||"[]"),r=s[0],a=s[1]||{},o=r?.__pkgHandleArg;if(!o)return M(e,"resCall",t);let l=a.observer&&typeof a.observer=="object"?a.observer.__fnRef:null;delete a.observer;let g={...a};await M(e,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,g])});let u=async(d,v)=>{if(!l)return;let y=A.get(e);if(!y)return;let c;try{c=Buffer.from(d).toString("utf8")}catch{c=""}try{await y.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(l)}, ${JSON.stringify(JSON.stringify([c,v]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}})}catch{}};try{await E.streamPackageHandle(e,o,async d=>{await u(d,"chunk"),await M(e,"resCall",{method:"streamChunk",chunk:Buffer.from(d).toString("base64")})},[],Math.trunc(H.get(e)||3e4)),await M(e,"resCall",{method:"streamEnd"}),await u("","end")}catch(d){try{await M(e,"resCall",{method:"streamError",error:{message:d.message,stack:d.stack}})}catch{}throw await u("","error"),d}return JSON.stringify({__e:"u"})}function Ce(e){if(typeof e.sourceCode=="string"&&e.sourceCode.length>0)return e.sourceCode;let t=e.filePath;return!t&&typeof e.fileUrl=="string"&&e.fileUrl.startsWith("file://")&&(t=pe(e.fileUrl)),!t||!z.existsSync(t)?null:z.readFileSync(t,"utf8")}async function $e(e,t,s){try{let r=Ce(s);if(!r)return null;let a=await e.compileModule(r,{filename:`pkg:${s.safeName}`});await a.instantiate(t,l=>{throw new Error(`Unresolved import in package ${s.safeName}: ${l}`)}),await a.evaluate({timeout:1e4});let o=await a.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):a.namespace.derefInto({release:!1})}catch{return null}}function ne(e,t){let s=a=>{let o=2166136261;for(let l=0;l<a.length;l++)o^=a.charCodeAt(l),o=Math.imul(o,16777619);return(o>>>0).toString(36)},r=new Set(t||[]);return e.map(a=>{let o=a.cacheKey||`${a.filePath||""}:${a.fileUrl||""}:${a.mtimeMs||""}:${a.size||""}:${s(a.sourceCode||"")}`,l=r.has(a.name)?"isolate":"proxy";return`${a.name}:${a.version||""}:${o}:${l}`}).join("|")}function ae(e,t){let s=new Set(t.map(u=>u.name)),r=new Set,a=String(e||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,l=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,g=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let u of[o,l])for(let d of a.matchAll(u)){let v=d[2];s.has(v)&&r.add(v)}for(let u of a.matchAll(g)){let d=u[1];s.has(d)&&r.add(d)}return r}async function Re(e,t,s,r){let a=await e.createContext(),o=a.global;await o.set("global",o.derefInto());let l=[],g=[],u=new Map;for(let c of s){u.set(c.name,c);let m=r.has(c.name)?await $e(e,a,c):null;m!==null?(await o.set(`__pkg_${c.safeName}`,m),l.push(c)):g.push(c)}E.setTaskPackages(t,u),await o.set("__callRef",new j.Reference(async(c,m,w)=>{let k=JSON.parse(w);return m==="pkgCall"?JSON.stringify(await E.executePackageRuntimeCall(c,k)):m==="resCall"?Se(c,k):M(c,m,k)})),await o.set("__fireRef",new j.Reference((c,m,w)=>{let k=JSON.parse(w);xe(c,m,k)}));let d=l.map(c=>`$pkgs[${JSON.stringify(c.name)}] = __pkg_${c.safeName};`).concat(g.map(c=>`$pkgs[${JSON.stringify(c.name)}] = __createPkgProxy(${JSON.stringify(c.name)}, []);`)).join(`
917
- `),v=ye(d);return await(await $(e,v,"setup.js")).run(a,{timeout:5e3}),ee.set(a,ne(s,r)),te.set(a,u),a}async function se(e,t,s,r,a,o){let l=e.isolate,g=ne(s,a),u=null;for(let y=e.idleContexts.length-1;y>=0;y--){let c=e.idleContexts[y];if(e.idleContexts.splice(y,1),ee.get(c)===g){u=c,J.reused++;break}try{c.release()}catch{}}u||(u=await Re(l,t,s,a),J.created++),E.setTaskPackages(t,te.get(u)||new Map);let d=u.global;return await d.set("__snapshot",new j.ExternalCopy(r).copyInto()),await d.set("__nextTaskId",t),await d.set("__nextTaskTimeoutMs",o),await(await $(l,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs);","reset-task.js")).run(u,{timeout:5e3}),u}async function oe(e,t){if(!(!t||e.isolate.isDisposed)){try{await(await $(e.isolate,"__cleanupTask();","cleanup-task.js")).run(t,{timeout:5e3})}catch{J.scrubFailed++;try{t.release()}catch{}return}if(e.idleContexts.length>=ke){try{t.release()}catch{}J.evicted++;return}e.idleContexts.push(t),J.released++}}function Me(e){try{let t=JSON.parse(e.message);if(t&&t.__userThrow)return{...t,message:t.message??e.message}}catch{}return null}var Ne=3,Ae=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Te(e){if(!e)return null;let t=e.split(`
918
- `);for(let s of t){let r=s.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!r)continue;let a=r[1].trim();if(Ae.includes(a))continue;let l=parseInt(r[2])-Ne;if(!(l<=0))return{line:l,column:parseInt(r[3]),phase:a.replace(".js","")}}return null}function Oe(e,t,s){if(!e||!t)return;let r=String(e).split(/\r?\n/),a=Math.max(1,t-1),o=Math.min(r.length,t+1),l=String(o).length,g=[];for(let u=a;u<=o;u++){let d=u===t?">":" ";g.push(`${d} ${String(u).padStart(l," ")}. ${r[u-1]??""}`),u===t&&s&&s>0&&g.push(` ${" ".repeat(l)} ${" ".repeat(Math.max(0,s-1))}^`)}return g.join(`
919
- `)}function Je(e,t){if(!(!e||!t)){if(t[e.phase])return t[e.phase];if(e.phase?.startsWith("preHook"))return t.preHook;if(e.phase?.startsWith("postHook"))return t.postHook}}function D(e,t){let s=Me(e);if(s)return{message:s.message,statusCode:s.statusCode,errorPath:s.errorPath,details:s.details};let r=Te(e.stack),a=e.message||"Unknown error",o=r?`${a} (${r.phase}, line ${r.line})`:a,l=Je(r,t),g=r?Oe(l,r.line,r.column):void 0;return{message:o,statusCode:e.statusCode||null,details:{errorName:e.name||null,...r?{...r,codeFrame:g}:{}}}}async function ie(e,t,s){let r=D(t,s);await N({type:"result",id:e,success:!1,error:{...r,stack:t.stack,code:t.code}})}async function Ee(e){let{id:t,code:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:l}=e,g={handler:e.sourceCode||s||""},u=r||[],d=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=ae(s,u),y=re(o,l),c=y.isolate,m=await se(y,t,u,a,v,d);A.set(t,m),H.set(t,d);try{let w=`
919
+ `;function ge(t){return pe.replace("%%PKG_SETUP%%",t)}X.exports={buildSetupCode:ge}});var{parentPort:M}=require("worker_threads"),Q=require("fs"),{fileURLToPath:ye}=require("url"),{createPackageRuntimeBridge:he}=G(),{buildSetupCode:me}=Z(),U;try{U=require("isolated-vm")}catch(t){M.postMessage({type:"error",message:"isolated-vm not available: "+t.message}),process.exit(1)}var D=new Map,ne=0,O=new Map,T=new Map,J=he({workerDir:__dirname,activeTaskContexts:O}),ke=500,ve=5e3,we=32,Y=new WeakMap,ae=new WeakMap,se=new WeakMap,j={created:0,reused:0,released:0,evicted:0,scrubFailed:0};function H(t){let e=T.get(t);return Math.max(1,Math.ceil((e??Date.now()+3e4)-Date.now()))}var $=null,Pe=0,ee=0,te=0;async function be(){let t=Date.now();if(t-ee<ve)return te;if(ee=t,!$)return 0;let e=0;for(let s of $){let r=s?.isolate;if(!(!r||r.isDisposed))try{let a=await r.getHeapStatistics(),o=a.heap_size_limit||1,l=a.used_heap_size/o;l>e&&(e=l)}catch{}}return te=e,e}async function A(t){t.heapRatio=await be(),t.contextStats=xe(),M.postMessage(t)}function xe(){let t=0;if($)for(let e of $)t+=e?.idleContexts?.length||0;return{...j,idle:t}}function oe(t,e){if(!$){let a=Math.max(1,Math.trunc(Number(e)||8));$=new Array(a).fill(null)}let s=Pe++%$.length,r=$[s];return(!r||!r.isolate||r.isolate.isDisposed)&&(r={isolate:new U.Isolate({memoryLimit:t}),idleContexts:[]},$[s]=r),r}async function R(t,e,s){let r=Y.get(t);r||(r=new Map,Y.set(t,r));let a=r.get(e);if(a)return a;let o=await t.compileScript(e,{filename:s});if(r.set(e,o),r.size>ke){let l=r.keys().next().value;r.delete(l)}return o}M.on("message",async t=>{if(t.type==="execute")je(t).catch(async e=>{await A({type:"result",id:t.id,success:!1,error:{message:e.message,stack:e.stack}})});else if(t.type==="executeBatch")He(t).catch(async e=>{await A({type:"result",id:t.id,success:!1,error:{message:e.message,stack:e.stack}})});else if(t.type==="invokeRuntimeCallback")Se(t).catch(e=>{M.postMessage({type:"runtimeCallbackResult",callId:t.callId,error:e?.message||String(e)})});else if(t.type==="callResult"){let e=D.get(t.callId);e&&(D.delete(t.callId),e.resolve(t.result))}else if(t.type==="callError"){let e=D.get(t.callId);e&&(D.delete(t.callId),e.reject(new Error(t.error)))}else t.type==="cancelTask"&&J.cancelTask(t.id)});async function Se(t){let e=O.get(t.id);if(!e){M.postMessage({type:"runtimeCallbackResult",callId:t.callId,error:`Runtime callback context not found: ${t.id}`});return}let s=await e.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(t.callbackId)}, ${JSON.stringify(t.argsJson||"[]")});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),r=JSON.parse(s);M.postMessage({type:"runtimeCallbackResult",callId:t.callId,...r})}function N(t,e,s){return new Promise((r,a)=>{let o=`cb_${++ne}`;D.set(o,{resolve:r,reject:a}),M.postMessage({type:e,id:t,callId:o,...s})})}function Ce(t,e,s){M.postMessage({type:e,id:t,callId:`f_${++ne}`,...s})}async function $e(t,e){if(e?.method!=="stream")return N(t,"resCall",e);let s=JSON.parse(e.argsJson||"[]"),r=s[0],a=s[1]||{},o=r?.__pkgHandleArg;if(!o)return N(t,"resCall",e);let l=a.observer&&typeof a.observer=="object"?a.observer.__fnRef:null;delete a.observer;let y={...a};await N(t,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,y])});let f=async(d,k)=>{if(!l)return;let w=O.get(t);if(!w)return;let c;try{c=Buffer.from(d).toString("utf8")}catch{c=""}try{await w.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(l)}, ${JSON.stringify(JSON.stringify([c,k]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}})}catch{}};try{await J.streamPackageHandle(t,o,async d=>{await f(d,"chunk"),await N(t,"resCall",{method:"streamChunk",chunk:Buffer.from(d).toString("base64")})},[],H(t)),await N(t,"resCall",{method:"streamEnd"}),await f("","end")}catch(d){try{await N(t,"resCall",{method:"streamError",error:{message:d.message,stack:d.stack}})}catch{}throw await f("","error"),d}return JSON.stringify({__e:"u"})}function Re(t){if(typeof t.sourceCode=="string"&&t.sourceCode.length>0)return t.sourceCode;let e=t.filePath;return!e&&typeof t.fileUrl=="string"&&t.fileUrl.startsWith("file://")&&(e=ye(t.fileUrl)),!e||!Q.existsSync(e)?null:Q.readFileSync(e,"utf8")}async function Me(t,e,s){try{let r=Re(s);if(!r)return null;let a=await t.compileModule(r,{filename:`pkg:${s.safeName}`});await a.instantiate(e,l=>{throw new Error(`Unresolved import in package ${s.safeName}: ${l}`)}),await a.evaluate({timeout:1e4});let o=await a.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):a.namespace.derefInto({release:!1})}catch{return null}}function ie(t,e){let s=a=>{let o=2166136261;for(let l=0;l<a.length;l++)o^=a.charCodeAt(l),o=Math.imul(o,16777619);return(o>>>0).toString(36)},r=new Set(e||[]);return t.map(a=>{let o=a.cacheKey||`${a.filePath||""}:${a.fileUrl||""}:${a.mtimeMs||""}:${a.size||""}:${s(a.sourceCode||"")}`,l=r.has(a.name)?"isolate":"proxy";return`${a.name}:${a.version||""}:${o}:${l}`}).join("|")}function ce(t,e){let s=new Set(e.map(f=>f.name)),r=new Set,a=String(t||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,l=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,y=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let f of[o,l])for(let d of a.matchAll(f)){let k=d[2];s.has(k)&&r.add(k)}for(let f of a.matchAll(y)){let d=f[1];s.has(d)&&r.add(d)}return r}async function Ne(t,e,s,r){let a=await t.createContext(),o=a.global;await o.set("global",o.derefInto());let l=[],y=[],f=new Map;for(let c of s){f.set(c.name,c);let g=r.has(c.name)?await Me(t,a,c):null;g!==null?(await o.set(`__pkg_${c.safeName}`,g),l.push(c)):y.push(c)}J.setTaskPackages(e,f),await o.set("__callRef",new U.Reference(async(c,g,P)=>{let m=JSON.parse(P);return g==="pkgCall"?JSON.stringify(await J.executePackageRuntimeCall(c,m)):g==="resCall"?$e(c,m):N(c,g,m)})),await o.set("__fireRef",new U.Reference((c,g,P)=>{let m=JSON.parse(P);Ce(c,g,m)}));let d=l.map(c=>`$pkgs[${JSON.stringify(c.name)}] = __pkg_${c.safeName};`).concat(y.map(c=>`$pkgs[${JSON.stringify(c.name)}] = __createPkgProxy(${JSON.stringify(c.name)}, []);`)).join(`
920
+ `),k=me(d);return await(await R(t,k,"setup.js")).run(a,{timeout:H(e)}),ae.set(a,ie(s,r)),se.set(a,f),a}async function le(t,e,s,r,a,o,l){let y=t.isolate,f=ie(s,a),d=null;for(let c=t.idleContexts.length-1;c>=0;c--){let g=t.idleContexts[c];if(t.idleContexts.splice(c,1),ae.get(g)===f){d=g,j.reused++;break}try{g.release()}catch{}}d||(d=await Ne(y,e,s,a),j.created++),J.setTaskPackages(e,se.get(d)||new Map);let k=d.global;return await k.set("__snapshot",new U.ExternalCopy(r).copyInto()),await k.set("__nextTaskId",e),await k.set("__nextTaskTimeoutMs",o),await k.set("__nextTaskDeadlineMs",l),await(await R(y,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(d,{timeout:H(e)}),d}async function ue(t,e){if(!(!e||t.isolate.isDisposed)){try{await(await R(t.isolate,"__cleanupTask();","cleanup-task.js")).run(e,{timeout:5e3})}catch{j.scrubFailed++;try{e.release()}catch{}return}if(t.idleContexts.length>=we){try{e.release()}catch{}j.evicted++;return}t.idleContexts.push(e),j.released++}}function Te(t){try{let e=JSON.parse(t.message);if(e&&e.__userThrow)return{...e,message:e.message??t.message}}catch{}return null}var Ae=3,Oe=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Je(t){if(!t)return null;let e=t.split(`
921
+ `);for(let s of e){let r=s.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!r)continue;let a=r[1].trim();if(Oe.includes(a))continue;let l=parseInt(r[2])-Ae;if(!(l<=0))return{line:l,column:parseInt(r[3]),phase:a.replace(".js","")}}return null}function Ee(t,e,s){if(!t||!e)return;let r=String(t).split(/\r?\n/),a=Math.max(1,e-1),o=Math.min(r.length,e+1),l=String(o).length,y=[];for(let f=a;f<=o;f++){let d=f===e?">":" ";y.push(`${d} ${String(f).padStart(l," ")}. ${r[f-1]??""}`),f===e&&s&&s>0&&y.push(` ${" ".repeat(l)} ${" ".repeat(Math.max(0,s-1))}^`)}return y.join(`
922
+ `)}function Ie(t,e){if(!(!t||!e)){if(e[t.phase])return e[t.phase];if(t.phase?.startsWith("preHook"))return e.preHook;if(t.phase?.startsWith("postHook"))return e.postHook}}function V(t,e){let s=Te(t);if(s)return{message:s.message,statusCode:s.statusCode,errorPath:s.errorPath,details:s.details};let r=Je(t.stack),a=t.message||"Unknown error",o=r?`${a} (${r.phase}, line ${r.line})`:a,l=Ie(r,e),y=r?Ee(l,r.line,r.column):void 0;return{message:o,statusCode:t.statusCode||null,details:{errorName:t.name||null,...r?{...r,codeFrame:y}:{}}}}async function K(t,e,s){let r=V(e,s);await A({type:"result",id:t,success:!1,error:{...r,stack:e.stack,code:e.code}})}async function je(t){let{id:e,code:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:l}=t,y={handler:t.sourceCode||s||""},f=r||[],d=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),k=Date.now()+d;T.set(e,k);let w=ce(s,f),c=oe(o,l),g=c.isolate,P;try{P=await le(c,e,f,a,w,d,k)}catch(m){T.delete(e),B(e),await K(e,m,y);return}O.set(e,P);try{let m=`
920
923
  (async () => {
921
924
  "use strict";
922
925
  ${s}
923
926
  })().then((__result) => __extractResult(__result, __result === undefined));
924
- `,T=await(await $(c,w,"handler.js")).run(m,{timeout:d,promise:!0}),O=JSON.parse(T);await N({type:"result",id:t,success:!0,...O})}catch(w){await ie(t,w,g)}finally{A.delete(t),H.delete(t),await oe(y,m),ce(t)}}async function Ie(e){let{id:t,codeBlocks:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:l}=e,g=r||[],u=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),d=ae((s||[]).map(h=>h.code||"").join(`
925
- `),g),v=re(o,l),y=v.isolate,c=await se(v,t,g,a,d,u);A.set(t,c),H.set(t,u);let m=[],w=[],k={},T=0,O=0;for(let h of s){let f=h.type||"handler",n=h.sourceCode||h.code||"";f==="postHook"?(O++,k[`postHook #${O}`]=n,k.postHook=n,w.push(h)):(f==="handler"?k.handler=n:(T++,k[`${f} #${T}`]=n,k.preHook=n),m.push(h))}try{let h=null;for(let n=0;n<m.length;n++){let i=m[n],_=i.type||"handler",p=_==="handler"?"handler":`${_} #${n+1}`,P;_==="preHook"?P=`
927
+ `,E=await(await R(g,m,"handler.js")).run(P,{timeout:H(e),promise:!0}),I=JSON.parse(E);await A({type:"result",id:e,success:!0,...I})}catch(m){await K(e,m,y)}finally{O.delete(e),T.delete(e),await ue(c,P),B(e)}}async function He(t){let{id:e,codeBlocks:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:l}=t,y=r||[],f=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),d=Date.now()+f;T.set(e,d);let k=ce((s||[]).map(h=>h.code||"").join(`
928
+ `),y),w=oe(o,l),c=w.isolate,g;try{g=await le(w,e,y,a,k,f,d)}catch(h){T.delete(e),B(e),await K(e,h);return}O.set(e,g);let P=[],m=[],S={},E=0,I=0;for(let h of s){let u=h.type||"handler",n=h.sourceCode||h.code||"";u==="postHook"?(I++,S[`postHook #${I}`]=n,S.postHook=n,m.push(h)):(u==="handler"?S.handler=n:(E++,S[`${u} #${E}`]=n,S.preHook=n),P.push(h))}try{let h=null;for(let n=0;n<P.length;n++){let i=P[n],_=i.type||"handler",p=_==="handler"?"handler":`${_} #${n+1}`,v;_==="preHook"?v=`
926
929
  (async () => {
927
930
  "use strict";
928
931
  ${i.code}
929
932
  })().then((__r) => {
930
933
  if (__r !== undefined) return JSON.stringify({ __shortCircuit: true, value: __r });
931
934
  return JSON.stringify({ __shortCircuit: false });
932
- });`:P=`
935
+ });`:v=`
933
936
  (async () => {
934
937
  "use strict";
935
938
  ${i.code}
936
939
  })().then((__r) => {
937
940
  $ctx.$data = __r;
938
941
  return "__handler_done__";
939
- });`;try{let S=await(await $(y,P,`${p}.js`)).run(c,{timeout:u,promise:!0});if(_==="preHook"&&typeof S=="string"){let b=JSON.parse(S);if(b.__shortCircuit){let F=await Q(y,c,b.value);await N({type:"result",id:t,success:!0,...F,shortCircuit:!0});return}}}catch(x){h=x;break}}if(!h&&w.length>0&&await(await $(y,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(c,{timeout:5e3}),h&&w.length>0){let n=D(h,k),i={message:n.message||"Unknown error",name:h.constructor?.name||"Error",stack:h.stack||"",statusCode:n.statusCode||500,details:n.details||{},timestamp:new Date().toISOString()},_=`
942
+ });`;try{let C=await(await R(c,v,`${p}.js`)).run(g,{timeout:H(e),promise:!0});if(_==="preHook"&&typeof C=="string"){let b=JSON.parse(C);if(b.__shortCircuit){let F=await re(c,g,b.value);await A({type:"result",id:e,success:!0,...F,shortCircuit:!0});return}}}catch(x){h=x;break}}if(!h&&m.length>0&&await(await R(c,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(g,{timeout:5e3}),h&&m.length>0){let n=V(h,S),i={message:n.message||"Unknown error",name:h.constructor?.name||"Error",stack:h.stack||"",statusCode:n.statusCode||500,details:n.details||{},timestamp:new Date().toISOString()},_=`
940
943
  $ctx.$error = ${JSON.stringify(i)};
941
944
  $ctx.$data = null;
942
945
  $ctx.$statusCode = ${i.statusCode};
@@ -950,11 +953,11 @@ if ($ctx.$api) {
950
953
  timestamp: ${JSON.stringify(i.timestamp)},
951
954
  };
952
955
  }
953
- "__error_populated__";`;await(await y.compileScript(_,{filename:"populate-error.js"})).run(c,{timeout:5e3})}for(let n=0;n<w.length;n++){let i=w[n],_=`postHook #${n+1}`,p=`
956
+ "__error_populated__";`;await(await c.compileScript(_,{filename:"populate-error.js"})).run(g,{timeout:5e3})}for(let n=0;n<m.length;n++){let i=m[n],_=`postHook #${n+1}`,p=`
954
957
  (async () => {
955
958
  "use strict";
956
959
  ${i.code}
957
960
  })().then((__r) => {
958
961
  if (__r !== undefined) $ctx.$data = __r;
959
962
  return "__posthook_done__";
960
- });`;try{await(await $(y,p,`${_}.js`)).run(c,{timeout:u,promise:!0})}catch{}}if(h){let n=D(h,k),i;try{let P=await(await $(y,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(c,{timeout:5e3,promise:!0});i=JSON.parse(P)}catch{}await N({type:"result",id:t,success:!1,error:{message:n.message,statusCode:n.statusCode,errorPath:n.errorPath,stack:h.stack,code:h.code,details:n.details},ctxChanges:i});return}let f=await Q(y,c);await N({type:"result",id:t,success:!0,...f})}catch(h){await ie(t,h)}finally{A.delete(t),H.delete(t),await oe(v,c),ce(t)}}function ce(e){E.cleanupTaskPackages(e)}function je(){E.shutdownPackageRuntime()}process.on("exit",je);async function Q(e,t,s){if(s!==void 0){let l=`__extractResult(${JSON.stringify(s)}, false)`,u=await(await e.compileScript(l,{filename:"extract.js"})).run(t,{timeout:5e3,promise:!0});return JSON.parse(u)}let o=await(await $(e,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(t,{timeout:5e3,promise:!0});return JSON.parse(o)}
963
+ });`;try{await(await R(c,p,`${_}.js`)).run(g,{timeout:H(e),promise:!0})}catch{}}if(h){let n=V(h,S),i;try{let v=await(await R(c,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(g,{timeout:5e3,promise:!0});i=JSON.parse(v)}catch{}await A({type:"result",id:e,success:!1,error:{message:n.message,statusCode:n.statusCode,errorPath:n.errorPath,stack:h.stack,code:h.code,details:n.details},ctxChanges:i});return}let u=await re(c,g);await A({type:"result",id:e,success:!0,...u})}catch(h){await K(e,h)}finally{O.delete(e),T.delete(e),await ue(w,g),B(e)}}function B(t){J.cleanupTaskPackages(t)}function Fe(){J.shutdownPackageRuntime()}process.on("exit",Fe);async function re(t,e,s){if(s!==void 0){let l=`__extractResult(${JSON.stringify(s)}, false)`,f=await(await t.compileScript(l,{filename:"extract.js"})).run(e,{timeout:5e3,promise:!0});return JSON.parse(f)}let o=await(await R(t,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(e,{timeout:5e3,promise:!0});return JSON.parse(o)}