@enfyra/kernel 1.1.35 → 1.1.36

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,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),S=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:S});try{_.send({...f,id:p},x=>{x&&(clearTimeout(S),r.delete(p),i(x))})}catch(x){clearTimeout(S),r.delete(p),i(x)}})}function m(f,n,i,_=[],p=3e4){return new Promise((P,S)=>{let x=y(),b=`pkg_${++l}`,F=g(p),L=setTimeout(()=>{r.delete(b),a.delete(b);try{x.kill()}catch{}S(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(b,{resolve:P,reject:S,timer:L}),a.set(b,{onChunk:i});try{x.send({op:"streamHandle",taskId:f,handleId:n,path:_,id:b},U=>{U&&(clearTimeout(L),r.delete(b),a.delete(b),S(U))})}catch(U){clearTimeout(L),r.delete(b),a.delete(b),S(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 J(f){s.delete(f),w({op:"releaseTask",taskId:f})}function h(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:J,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 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=`
2
2
  "use strict";
3
3
  let $ctx = {};
4
4
  let $pkgs = {};
@@ -226,18 +226,37 @@ async function __stringifyRuntimeArgs(args) {
226
226
  }
227
227
 
228
228
  async function __streamResponseFromLocalReadable(stream, options) {
229
+ const observer = typeof options?.observer === 'function'
230
+ ? options.observer
231
+ : null;
232
+ const relayOptions = { ...(options || {}) };
233
+ delete relayOptions.observer;
234
+ const notifyObserver = async (chunk, kind) => {
235
+ if (!observer) return;
236
+ let text;
237
+ try {
238
+ text = new TextDecoder().decode(__streamChunkToBytes(chunk));
239
+ } catch {
240
+ text = '';
241
+ }
242
+ try {
243
+ await observer(text, kind);
244
+ } catch {}
245
+ };
229
246
  await __call('resCall', JSON.stringify({
230
247
  method: 'streamStart',
231
- argsJson: JSON.stringify([null, options || {}]),
248
+ argsJson: JSON.stringify([null, relayOptions]),
232
249
  }));
233
250
  try {
234
251
  for await (const chunk of stream) {
252
+ await notifyObserver(chunk, 'chunk');
235
253
  await __call('resCall', JSON.stringify({
236
254
  method: 'streamChunk',
237
255
  chunk: __bytesToBase64(__streamChunkToBytes(chunk)),
238
256
  }));
239
257
  }
240
258
  await __call('resCall', JSON.stringify({ method: 'streamEnd' }));
259
+ await notifyObserver('', 'end');
241
260
  } catch (error) {
242
261
  try {
243
262
  await __call('resCall', JSON.stringify({
@@ -247,6 +266,7 @@ async function __streamResponseFromLocalReadable(stream, options) {
247
266
  },
248
267
  }));
249
268
  } catch {}
269
+ await notifyObserver('', 'error');
250
270
  throw error;
251
271
  }
252
272
  }
@@ -893,16 +913,16 @@ function __cleanupTask() {
893
913
  __pendingRuntimeTasks = [];
894
914
  return true;
895
915
  }
896
- `;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,O={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{...O,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 Se(e,t,s){R.postMessage({type:t,id:e,callId:`f_${++Y}`,...s})}async function xe(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"?xe(c,k):M(c,m,k)})),await o.set("__fireRef",new j.Reference((c,m,w)=>{let k=JSON.parse(w);Se(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(`
897
- `),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,O.reused++;break}try{c.release()}catch{}}u||(u=await Re(l,t,s,a),O.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{O.scrubFailed++;try{t.release()}catch{}return}if(e.idleContexts.length>=ke){try{t.release()}catch{}O.evicted++;return}e.idleContexts.push(t),O.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(`
898
- `);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 Je(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(`
899
- `)}function Oe(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=Oe(r,t),g=r?Je(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=`
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=`
900
920
  (async () => {
901
921
  "use strict";
902
922
  ${s}
903
923
  })().then((__result) => __extractResult(__result, __result === undefined));
904
- `,T=await(await $(c,w,"handler.js")).run(m,{timeout:d,promise:!0}),J=JSON.parse(T);await N({type:"result",id:t,success:!0,...J})}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(`
905
- `),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,J=0;for(let h of s){let f=h.type||"handler",n=h.sourceCode||h.code||"";f==="postHook"?(J++,k[`postHook #${J}`]=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=`
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=`
906
926
  (async () => {
907
927
  "use strict";
908
928
  ${i.code}
@@ -916,7 +936,7 @@ function __cleanupTask() {
916
936
  })().then((__r) => {
917
937
  $ctx.$data = __r;
918
938
  return "__handler_done__";
919
- });`;try{let x=await(await $(y,P,`${p}.js`)).run(c,{timeout:u,promise:!0});if(_==="preHook"&&typeof x=="string"){let b=JSON.parse(x);if(b.__shortCircuit){let F=await Q(y,c,b.value);await N({type:"result",id:t,success:!0,...F,shortCircuit:!0});return}}}catch(S){h=S;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()},_=`
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()},_=`
920
940
  $ctx.$error = ${JSON.stringify(i)};
921
941
  $ctx.$data = null;
922
942
  $ctx.$statusCode = ${i.statusCode};