@enfyra/kernel 1.1.46 → 1.1.47

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 W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var G=W((De,z)=>{"use strict";var{fork:fe}=require("child_process"),de=require("path");function pe({workerDir:t,activeTaskContexts:e}){let s=new Map,r=new Map,n=new Map,o=null,c=0;function g(f){return Math.max(1,Math.trunc(Number(f)||3e4))}function d(f){for(let a of r.values())clearTimeout(a.timer),a.reject(f);r.clear()}function h(f){let a=typeof f=="string"?JSON.parse(f):f;if(a?.error)throw new Error(a.error);return a?.value}async function w(f){let a=e.get(f.taskId);if(!a)throw new Error(`Package callback context not found: ${f.taskId}`);let i=JSON.stringify(f.callbackId),p=JSON.stringify(f.argsJson||"[]"),_=await a.evalClosure(`return __invokeRuntimeCallback(${i}, ${p});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return h(_)}function b(){if(o&&o.connected)return o;let f=de.join(t,"package-runtime.child.js"),a=fe(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=a,a.on("message",i=>{if(!i||!i.id)return;if(i.type==="pkgStreamChunk"){let _=n.get(i.id);if(!_)return;_.onChunk(Buffer.from(i.chunk||"","base64")).then(()=>{try{a.send({type:"pkgStreamAck",ackId:i.ackId})}catch{}}).catch(x=>{try{a.send({type:"pkgStreamError",ackId:i.ackId,error:{message:x.message,stack:x.stack}})}catch{}});return}if(i.type==="pkgCallbackCall"){w(i).then(_=>{try{a.send({type:"pkgCallbackResult",id:i.id,value:_})}catch{}}).catch(_=>{try{a.send({type:"pkgCallbackError",id:i.id,error:{message:_.message,stack:_.stack}})}catch{}});return}let p=r.get(i.id);if(p)if(clearTimeout(p.timer),r.delete(i.id),n.delete(i.id),i.ok)p.resolve(i.value);else{let _=new Error(i.error?.message||"Package runtime call failed");_.stack=i.error?.stack||_.stack,p.reject(_)}}),a.on("exit",(i,p)=>{o===a&&(o=null),d(new Error(`Package runtime exited${p?` with signal ${p}`:` with code ${i}`}`))}),a.on("error",i=>{o===a&&(o=null),d(i)}),a}function l(f){return new Promise((a,i)=>{let p=b(),_=`pkg_${++c}`,x=g(f.timeoutMs),$=setTimeout(()=>{r.delete(_),n.delete(_);try{p.kill()}catch{}i(new Error(`Package runtime call timed out after ${x}ms`))},x);r.set(_,{resolve:a,reject:i,timer:$});try{p.send({...f,id:_},R=>{R&&(clearTimeout($),r.delete(_),i(R))})}catch(R){clearTimeout($),r.delete(_),i(R)}})}function u(f,a,i,p=[],_=3e4){return new Promise((x,$)=>{let R=b(),S=`pkg_${++c}`,F=g(_),q=setTimeout(()=>{r.delete(S),n.delete(S);try{R.kill()}catch{}$(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(S,{resolve:x,reject:$,timer:q}),n.set(S,{onChunk:i});try{R.send({op:"streamHandle",taskId:f,handleId:a,path:p,id:S,timeoutMs:F},L=>{L&&(clearTimeout(q),r.delete(S),n.delete(S),$(L))})}catch(L){clearTimeout(q),r.delete(S),n.delete(S),$(L)}})}function k(f){try{if(!o||!o.connected)return;o.send({...f,id:`pkg_${++c}`,fire:!0})}catch{}}function y(f){try{let a=b();if(!a.connected)return;a.send({op:"cancelTask",taskId:f,id:`pkg_${++c}`,fire:!0})}catch{}}async function v(f,a){let i=s.get(f);if(!i)throw new Error("Package context is not available");if(a.handleId)return l({op:a.kind==="get"?"handleGet":"handleCall",taskId:f,handleId:a.handleId,path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs});let p=i.get(a.packageName);if(!p)throw new Error(`Package "${a.packageName}" is not available`);return l({op:a.kind==="construct"?"construct":"call",taskId:f,packageName:a.packageName,package:{name:p.name,fileUrl:p.fileUrl},path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs})}function C(f,a){s.set(f,a)}function P(f){s.delete(f),k({op:"releaseTask",taskId:f})}function m(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:P,cancelTask:y,executePackageRuntimeCall:v,setTaskPackages:C,streamPackageHandle:u,shutdownPackageRuntime:m}}z.exports={createPackageRuntimeBridge:pe}});var Z=W((Le,X)=>{"use strict";var _e=`
1
+ "use strict";var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var G=W((De,z)=>{"use strict";var{fork:fe}=require("child_process"),de=require("path");function pe({workerDir:t,activeTaskContexts:e}){let s=new Map,r=new Map,n=new Map,o=null,c=0;function y(f){return Math.max(1,Math.trunc(Number(f)||3e4))}function d(f){for(let a of r.values())clearTimeout(a.timer),a.reject(f);r.clear()}function m(f){let a=typeof f=="string"?JSON.parse(f):f;if(a?.error)throw new Error(a.error);return a?.value}async function w(f){let a=e.get(f.taskId);if(!a)throw new Error(`Package callback context not found: ${f.taskId}`);let i=JSON.stringify(f.callbackId),_=JSON.stringify(f.argsJson||"[]"),g=await a.evalClosure(`return __invokeRuntimeCallback(${i}, ${_});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return m(g)}function v(){if(o&&o.connected)return o;let f=de.join(t,"package-runtime.child.js"),a=fe(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=a,a.on("message",i=>{if(!i||!i.id)return;if(i.type==="pkgStreamChunk"){let g=n.get(i.id);if(!g)return;g.onChunk(Buffer.from(i.chunk||"","base64")).then(()=>{try{a.send({type:"pkgStreamAck",ackId:i.ackId})}catch{}}).catch(P=>{try{a.send({type:"pkgStreamError",ackId:i.ackId,error:{message:P.message,stack:P.stack}})}catch{}});return}if(i.type==="pkgCallbackCall"){w(i).then(g=>{try{a.send({type:"pkgCallbackResult",id:i.id,value:g})}catch{}}).catch(g=>{try{a.send({type:"pkgCallbackError",id:i.id,error:{message:g.message,stack:g.stack}})}catch{}});return}let _=r.get(i.id);if(_)if(clearTimeout(_.timer),r.delete(i.id),n.delete(i.id),i.ok)_.resolve(i.value);else{let g=new Error(i.error?.message||"Package runtime call failed");g.stack=i.error?.stack||g.stack,_.reject(g)}}),a.on("exit",(i,_)=>{o===a&&(o=null),d(new Error(`Package runtime exited${_?` with signal ${_}`:` with code ${i}`}`))}),a.on("error",i=>{o===a&&(o=null),d(i)}),a}function u(f){return new Promise((a,i)=>{let _=v(),g=`pkg_${++c}`,P=y(f.timeoutMs),C=setTimeout(()=>{r.delete(g),n.delete(g);try{_.kill()}catch{}i(new Error(`Package runtime call timed out after ${P}ms`))},P);r.set(g,{resolve:a,reject:i,timer:C});try{_.send({...f,id:g},R=>{R&&(clearTimeout(C),r.delete(g),i(R))})}catch(R){clearTimeout(C),r.delete(g),i(R)}})}function l(f,a,i,_=[],g=3e4){return new Promise((P,C)=>{let R=v(),S=`pkg_${++c}`,F=y(g),q=setTimeout(()=>{r.delete(S),n.delete(S);try{R.kill()}catch{}C(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(S,{resolve:P,reject:C,timer:q}),n.set(S,{onChunk:i});try{R.send({op:"streamHandle",taskId:f,handleId:a,path:_,id:S,timeoutMs:F},L=>{L&&(clearTimeout(q),r.delete(S),n.delete(S),C(L))})}catch(L){clearTimeout(q),r.delete(S),n.delete(S),C(L)}})}function k(f){try{if(!o||!o.connected)return;o.send({...f,id:`pkg_${++c}`,fire:!0})}catch{}}function h(f){try{let a=v();if(!a.connected)return;a.send({op:"cancelTask",taskId:f,id:`pkg_${++c}`,fire:!0})}catch{}}async function b(f,a){let i=s.get(f);if(!i)throw new Error("Package context is not available");if(a.handleId)return u({op:a.kind==="get"?"handleGet":"handleCall",taskId:f,handleId:a.handleId,path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs});let _=i.get(a.packageName);if(!_)throw new Error(`Package "${a.packageName}" is not available`);return u({op:a.kind==="construct"?"construct":"call",taskId:f,packageName:a.packageName,package:{name:_.name,fileUrl:_.fileUrl},path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs})}function x(f,a){s.set(f,a)}function $(f){s.delete(f),k({op:"releaseTask",taskId:f})}function p(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:$,cancelTask:h,executePackageRuntimeCall:b,setTaskPackages:x,streamPackageHandle:l,shutdownPackageRuntime:p}}z.exports={createPackageRuntimeBridge:pe}});var Z=W((Le,X)=>{"use strict";var _e=`
2
2
  "use strict";
3
3
  let $ctx = {};
4
4
  let $pkgs = {};
@@ -245,7 +245,11 @@ async function __streamResponseFromLocalReadable(stream, options) {
245
245
  const relayChunk = async (chunk, kind, text) => {
246
246
  let output = chunk;
247
247
  if (transform) {
248
- const transformed = await transform(text, kind);
248
+ const transformed = await transform(
249
+ text,
250
+ kind,
251
+ kind === 'chunk' ? __bytesToBase64(__streamChunkToBytes(chunk)) : '',
252
+ );
249
253
  if (transformed === null) return;
250
254
  if (transformed !== undefined) output = String(transformed);
251
255
  }
@@ -419,6 +423,27 @@ if (typeof TextEncoder === 'undefined') {
419
423
  };
420
424
  }
421
425
 
426
+ if (typeof atob === 'undefined') {
427
+ globalThis.atob = (input = '') => {
428
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
429
+ const source = String(input).replace(/=+$/, '');
430
+ let out = '';
431
+ let value = 0;
432
+ let bits = 0;
433
+ for (const char of source) {
434
+ const index = chars.indexOf(char);
435
+ if (index < 0) continue;
436
+ value = (value << 6) | index;
437
+ bits += 6;
438
+ if (bits >= 8) {
439
+ bits -= 8;
440
+ out += String.fromCharCode((value >> bits) & 0xff);
441
+ }
442
+ }
443
+ return out;
444
+ };
445
+ }
446
+
422
447
  if (typeof TextDecoder === 'undefined') {
423
448
  globalThis.TextDecoder = class TextDecoder {
424
449
  constructor() {
@@ -432,12 +457,12 @@ if (typeof TextDecoder === 'undefined') {
432
457
  bytes.set(new Uint8Array(source.buffer, source.byteOffset, source.byteLength), this.__pending.length);
433
458
  let completeLength = bytes.length;
434
459
  if (options.stream) {
435
- let start = bytes.length;
436
- while (start > 0 && bytes[start - 1] >= 0x80 && bytes[start - 1] <= 0xbf) start--;
437
- if (start < bytes.length) {
438
- const lead = bytes[start];
460
+ let leadIndex = bytes.length - 1;
461
+ while (leadIndex >= 0 && bytes[leadIndex] >= 0x80 && bytes[leadIndex] <= 0xbf) leadIndex--;
462
+ if (leadIndex >= 0) {
463
+ const lead = bytes[leadIndex];
439
464
  const expectedLength = lead >= 0xf0 ? 4 : lead >= 0xe0 ? 3 : lead >= 0xc0 ? 2 : 1;
440
- if (expectedLength > bytes.length - start) completeLength = start;
465
+ if (expectedLength > bytes.length - leadIndex) completeLength = leadIndex;
441
466
  }
442
467
  }
443
468
  let binary = '';
@@ -949,30 +974,30 @@ function __cleanupTask() {
949
974
  __pendingRuntimeTasks = [];
950
975
  return true;
951
976
  }
952
- `;function ge(t){return _e.replace("%%PKG_SETUP%%",t)}X.exports={buildSetupCode:ge}});var{parentPort:A}=require("worker_threads"),Q=require("fs"),{fileURLToPath:ye}=require("url"),{createPackageRuntimeBridge:he}=G(),{buildSetupCode:me}=Z(),D;try{D=require("isolated-vm")}catch(t){A.postMessage({type:"error",message:"isolated-vm not available: "+t.message}),process.exit(1)}var U=new Map,ne=0,E=new Map,O=new Map,j=he({workerDir:__dirname,activeTaskContexts:E}),ke=500,we=5e3,ve=32,Y=new WeakMap,ae=new WeakMap,se=new WeakMap,I={created:0,reused:0,released:0,evicted:0,scrubFailed:0};function H(t){let e=O.get(t);return Math.max(1,Math.ceil((e??Date.now()+3e4)-Date.now()))}var M=null,be=0,ee=0,te=0;async function Pe(){let t=Date.now();if(t-ee<we)return te;if(ee=t,!M)return 0;let e=0;for(let s of M){let r=s?.isolate;if(!(!r||r.isDisposed))try{let n=await r.getHeapStatistics(),o=n.heap_size_limit||1,c=n.used_heap_size/o;c>e&&(e=c)}catch{}}return te=e,e}async function J(t){t.heapRatio=await Pe(),t.contextStats=xe(),A.postMessage(t)}function xe(){let t=0;if(M)for(let e of M)t+=e?.idleContexts?.length||0;return{...I,idle:t}}function oe(t,e){if(!M){let n=Math.max(1,Math.trunc(Number(e)||8));M=new Array(n).fill(null)}let s=be++%M.length,r=M[s];return(!r||!r.isolate||r.isolate.isDisposed)&&(r={isolate:new D.Isolate({memoryLimit:t}),idleContexts:[]},M[s]=r),r}async function T(t,e,s){let r=Y.get(t);r||(r=new Map,Y.set(t,r));let n=r.get(e);if(n)return n;let o;try{o=await t.compileScript(e,{filename:s})}catch(c){throw c&&typeof c=="object"&&(c.executionStage="compile"),c}if(r.set(e,o),r.size>ke){let c=r.keys().next().value;r.delete(c)}return o}A.on("message",async t=>{if(t.type==="execute")Ie(t).catch(async e=>{await J({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 J({type:"result",id:t.id,success:!1,error:{message:e.message,stack:e.stack}})});else if(t.type==="invokeRuntimeCallback")Se(t).catch(e=>{A.postMessage({type:"runtimeCallbackResult",callId:t.callId,error:e?.message||String(e)})});else if(t.type==="callResult"){let e=U.get(t.callId);e&&(U.delete(t.callId),e.resolve(t.result))}else if(t.type==="callError"){let e=U.get(t.callId);e&&(U.delete(t.callId),e.reject(new Error(t.error)))}else t.type==="cancelTask"&&j.cancelTask(t.id)});async function Se(t){let e=E.get(t.id);if(!e){A.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);A.postMessage({type:"runtimeCallbackResult",callId:t.callId,...r})}function N(t,e,s){return new Promise((r,n)=>{let o=`cb_${++ne}`;U.set(o,{resolve:r,reject:n}),A.postMessage({type:e,id:t,callId:o,...s})})}function Ce(t,e,s){A.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],n=s[1]||{},o=r?.__pkgHandleArg;if(!o)return N(t,"resCall",e);let c=n.observer&&typeof n.observer=="object"?n.observer.__fnRef:null,g=n.transform&&typeof n.transform=="object"?n.transform.__fnRef:null,d=c||g?new TextDecoder("utf-8"):null;delete n.observer,delete n.transform;let h={...n};await N(t,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,h])});let w=async(u,k,y)=>{if(!u)return;let v=E.get(t);if(!v)return;let C=await v.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(u)}, ${JSON.stringify(JSON.stringify([k,y]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),P=JSON.parse(C);if(P?.error)throw new Error(P.error);if(P?.value?.__e!=="u")return P?.value},b=async(u,k)=>{if(c)try{await w(c,u,k)}catch{}},l=async(u,k,y)=>{let v=u;if(g){let P=await w(g,y,k);if(P===null)return;P!==void 0&&(v=Buffer.from(String(P)))}let C=Buffer.from(v);C.length!==0&&await N(t,"resCall",{method:"streamChunk",chunk:C.toString("base64")})};try{await j.streamPackageHandle(t,o,async k=>{let y="";try{y=d?d.decode(Buffer.from(k),{stream:!0}):""}catch{}await b(y,"chunk"),await l(k,"chunk",y)},[],H(t));let u="";try{u=d?d.decode():""}catch{}await b(u,"end"),await l("","end",u),await N(t,"resCall",{method:"streamEnd"})}catch(u){try{await N(t,"resCall",{method:"streamError",error:{message:u.message,stack:u.stack}})}catch{}throw await b("","error"),u}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 n=await t.compileModule(r,{filename:`pkg:${s.safeName}`});await n.instantiate(e,c=>{throw new Error(`Unresolved import in package ${s.safeName}: ${c}`)}),await n.evaluate({timeout:1e4});let o=await n.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):n.namespace.derefInto({release:!1})}catch{return null}}function ie(t,e){let s=n=>{let o=2166136261;for(let c=0;c<n.length;c++)o^=n.charCodeAt(c),o=Math.imul(o,16777619);return(o>>>0).toString(36)},r=new Set(e||[]);return t.map(n=>{let o=n.cacheKey||`${n.filePath||""}:${n.fileUrl||""}:${n.mtimeMs||""}:${n.size||""}:${s(n.sourceCode||"")}`,c=r.has(n.name)?"isolate":"proxy";return`${n.name}:${n.version||""}:${o}:${c}`}).join("|")}function ce(t,e){let s=new Set(e.map(d=>d.name)),r=new Set,n=String(t||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,c=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,g=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let d of[o,c])for(let h of n.matchAll(d)){let w=h[2];s.has(w)&&r.add(w)}for(let d of n.matchAll(g)){let h=d[1];s.has(h)&&r.add(h)}return r}async function Te(t,e,s,r){let n=await t.createContext(),o=n.global;await o.set("global",o.derefInto());let c=[],g=[],d=new Map;for(let l of s){d.set(l.name,l);let u=r.has(l.name)?await Me(t,n,l):null;u!==null?(await o.set(`__pkg_${l.safeName}`,u),c.push(l)):g.push(l)}j.setTaskPackages(e,d),await o.set("__callRef",new D.Reference(async(l,u,k)=>{let y=JSON.parse(k);return u==="pkgCall"?JSON.stringify(await j.executePackageRuntimeCall(l,y)):u==="resCall"?$e(l,y):N(l,u,y)})),await o.set("__fireRef",new D.Reference((l,u,k)=>{let y=JSON.parse(k);Ce(l,u,y)}));let h=c.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __pkg_${l.safeName};`).concat(g.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __createPkgProxy(${JSON.stringify(l.name)}, []);`)).join(`
953
- `),w=me(h);return await(await T(t,w,"setup.js")).run(n,{timeout:H(e)}),ae.set(n,ie(s,r)),se.set(n,d),n}async function le(t,e,s,r,n,o,c){let g=t.isolate,d=ie(s,n),h=null;for(let l=t.idleContexts.length-1;l>=0;l--){let u=t.idleContexts[l];if(t.idleContexts.splice(l,1),ae.get(u)===d){h=u,I.reused++;break}try{u.release()}catch{}}h||(h=await Te(g,e,s,n),I.created++),j.setTaskPackages(e,se.get(h)||new Map);let w=h.global;return await w.set("__snapshot",new D.ExternalCopy(r).copyInto()),await w.set("__nextTaskId",e),await w.set("__nextTaskTimeoutMs",o),await w.set("__nextTaskDeadlineMs",c),await(await T(g,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(h,{timeout:H(e)}),h}async function ue(t,e){if(!(!e||t.isolate.isDisposed)){try{await(await T(t.isolate,"__cleanupTask();","cleanup-task.js")).run(e,{timeout:5e3})}catch{I.scrubFailed++;try{e.release()}catch{}return}if(t.idleContexts.length>=ve){try{e.release()}catch{}I.evicted++;return}t.idleContexts.push(e),I.released++}}function Ae(t){try{let e=JSON.parse(t.message);if(e&&e.__userThrow)return{...e,message:e.message??t.message}}catch{}return null}var Ne=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(`
954
- `);for(let s of e){let r=s.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!r)continue;let n=r[1].trim();if(Oe.includes(n))continue;let c=parseInt(r[2])-Ne;if(!(c<=0))return{line:c,column:parseInt(r[3]),phase:n.replace(".js","")}}return null}function Ee(t,e,s){if(!t||!e)return;let r=String(t).split(/\r?\n/),n=Math.max(1,e-1),o=Math.min(r.length,e+1),c=String(o).length,g=[];for(let d=n;d<=o;d++){let h=d===e?">":" ";g.push(`${h} ${String(d).padStart(c," ")}. ${r[d-1]??""}`),d===e&&s&&s>0&&g.push(` ${" ".repeat(c)} ${" ".repeat(Math.max(0,s-1))}^`)}return g.join(`
955
- `)}function je(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=Ae(t);if(s)return{message:s.message,statusCode:s.statusCode,errorPath:s.errorPath,details:s.details};let r=Je(t.stack),n=t.message||"Unknown error",o=r?`${n} (${r.phase}, line ${r.line})`:n,c=je(r,e),g=r?Ee(c,r.line,r.column):void 0;return{message:o,statusCode:t.statusCode||null,details:{errorName:t.name||null,executionStage:t.executionStage||"runtime",...r?{...r,codeFrame:g}:{}}}}async function B(t,e,s){let r=V(e,s);await J({type:"result",id:t,success:!1,error:{...r,stack:e.stack,code:e.code}})}async function Ie(t){let{id:e,code:s,pkgSources:r,snapshot:n,memoryLimitMb:o,isolatePoolSize:c}=t,g={handler:t.sourceCode||s||""},d=r||[],h=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),w=Date.now()+h;O.set(e,w);let b=ce(s,d),l=oe(o,c),u=l.isolate,k;try{k=await le(l,e,d,n,b,h,w)}catch(y){O.delete(e),K(e),await B(e,y,g);return}E.set(e,k);try{let y=`
977
+ `;function ge(t){return _e.replace("%%PKG_SETUP%%",t)}X.exports={buildSetupCode:ge}});var{parentPort:A}=require("worker_threads"),Q=require("fs"),{fileURLToPath:ye}=require("url"),{createPackageRuntimeBridge:he}=G(),{buildSetupCode:me}=Z(),D;try{D=require("isolated-vm")}catch(t){A.postMessage({type:"error",message:"isolated-vm not available: "+t.message}),process.exit(1)}var U=new Map,ne=0,E=new Map,O=new Map,I=he({workerDir:__dirname,activeTaskContexts:E}),ke=500,we=5e3,ve=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=O.get(t);return Math.max(1,Math.ceil((e??Date.now()+3e4)-Date.now()))}var M=null,be=0,ee=0,te=0;async function Pe(){let t=Date.now();if(t-ee<we)return te;if(ee=t,!M)return 0;let e=0;for(let s of M){let r=s?.isolate;if(!(!r||r.isDisposed))try{let n=await r.getHeapStatistics(),o=n.heap_size_limit||1,c=n.used_heap_size/o;c>e&&(e=c)}catch{}}return te=e,e}async function J(t){t.heapRatio=await Pe(),t.contextStats=xe(),A.postMessage(t)}function xe(){let t=0;if(M)for(let e of M)t+=e?.idleContexts?.length||0;return{...j,idle:t}}function oe(t,e){if(!M){let n=Math.max(1,Math.trunc(Number(e)||8));M=new Array(n).fill(null)}let s=be++%M.length,r=M[s];return(!r||!r.isolate||r.isolate.isDisposed)&&(r={isolate:new D.Isolate({memoryLimit:t}),idleContexts:[]},M[s]=r),r}async function T(t,e,s){let r=Y.get(t);r||(r=new Map,Y.set(t,r));let n=r.get(e);if(n)return n;let o;try{o=await t.compileScript(e,{filename:s})}catch(c){throw c&&typeof c=="object"&&(c.executionStage="compile"),c}if(r.set(e,o),r.size>ke){let c=r.keys().next().value;r.delete(c)}return o}A.on("message",async t=>{if(t.type==="execute")je(t).catch(async e=>{await J({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 J({type:"result",id:t.id,success:!1,error:{message:e.message,stack:e.stack}})});else if(t.type==="invokeRuntimeCallback")Se(t).catch(e=>{A.postMessage({type:"runtimeCallbackResult",callId:t.callId,error:e?.message||String(e)})});else if(t.type==="callResult"){let e=U.get(t.callId);e&&(U.delete(t.callId),e.resolve(t.result))}else if(t.type==="callError"){let e=U.get(t.callId);e&&(U.delete(t.callId),e.reject(new Error(t.error)))}else t.type==="cancelTask"&&I.cancelTask(t.id)});async function Se(t){let e=E.get(t.id);if(!e){A.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);A.postMessage({type:"runtimeCallbackResult",callId:t.callId,...r})}function N(t,e,s){return new Promise((r,n)=>{let o=`cb_${++ne}`;U.set(o,{resolve:r,reject:n}),A.postMessage({type:e,id:t,callId:o,...s})})}function Ce(t,e,s){A.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],n=s[1]||{},o=r?.__pkgHandleArg;if(!o)return N(t,"resCall",e);let c=n.observer&&typeof n.observer=="object"?n.observer.__fnRef:null,y=n.transform&&typeof n.transform=="object"?n.transform.__fnRef:null,d=c||y?new TextDecoder("utf-8"):null;delete n.observer,delete n.transform;let m={...n};await N(t,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,m])});let w=async(l,k,h,b="")=>{if(!l)return;let x=E.get(t);if(!x)return;let $=await x.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(l)}, ${JSON.stringify(JSON.stringify([k,h,b]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),p=JSON.parse($);if(p?.error)throw new Error(p.error);if(p?.value?.__e!=="u")return p?.value},v=async(l,k)=>{if(c)try{await w(c,l,k)}catch{}},u=async(l,k,h)=>{let b=l;if(y){let $=Buffer.from(l),p=await w(y,h,k,k==="chunk"?$.toString("base64"):"");if(p===null)return;p!==void 0&&(b=Buffer.from(String(p)))}let x=Buffer.from(b);x.length!==0&&await N(t,"resCall",{method:"streamChunk",chunk:x.toString("base64")})};try{await I.streamPackageHandle(t,o,async k=>{let h="";try{h=d?d.decode(Buffer.from(k),{stream:!0}):""}catch{}await v(h,"chunk"),await u(k,"chunk",h)},[],H(t));let l="";try{l=d?d.decode():""}catch{}await v(l,"end"),await u("","end",l),await N(t,"resCall",{method:"streamEnd"})}catch(l){try{await N(t,"resCall",{method:"streamError",error:{message:l.message,stack:l.stack}})}catch{}throw await v("","error"),l}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 n=await t.compileModule(r,{filename:`pkg:${s.safeName}`});await n.instantiate(e,c=>{throw new Error(`Unresolved import in package ${s.safeName}: ${c}`)}),await n.evaluate({timeout:1e4});let o=await n.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):n.namespace.derefInto({release:!1})}catch{return null}}function ie(t,e){let s=n=>{let o=2166136261;for(let c=0;c<n.length;c++)o^=n.charCodeAt(c),o=Math.imul(o,16777619);return(o>>>0).toString(36)},r=new Set(e||[]);return t.map(n=>{let o=n.cacheKey||`${n.filePath||""}:${n.fileUrl||""}:${n.mtimeMs||""}:${n.size||""}:${s(n.sourceCode||"")}`,c=r.has(n.name)?"isolate":"proxy";return`${n.name}:${n.version||""}:${o}:${c}`}).join("|")}function ce(t,e){let s=new Set(e.map(d=>d.name)),r=new Set,n=String(t||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,c=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,y=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let d of[o,c])for(let m of n.matchAll(d)){let w=m[2];s.has(w)&&r.add(w)}for(let d of n.matchAll(y)){let m=d[1];s.has(m)&&r.add(m)}return r}async function Te(t,e,s,r){let n=await t.createContext(),o=n.global;await o.set("global",o.derefInto());let c=[],y=[],d=new Map;for(let u of s){d.set(u.name,u);let l=r.has(u.name)?await Me(t,n,u):null;l!==null?(await o.set(`__pkg_${u.safeName}`,l),c.push(u)):y.push(u)}I.setTaskPackages(e,d),await o.set("__callRef",new D.Reference(async(u,l,k)=>{let h=JSON.parse(k);return l==="pkgCall"?JSON.stringify(await I.executePackageRuntimeCall(u,h)):l==="resCall"?$e(u,h):N(u,l,h)})),await o.set("__fireRef",new D.Reference((u,l,k)=>{let h=JSON.parse(k);Ce(u,l,h)}));let m=c.map(u=>`$pkgs[${JSON.stringify(u.name)}] = __pkg_${u.safeName};`).concat(y.map(u=>`$pkgs[${JSON.stringify(u.name)}] = __createPkgProxy(${JSON.stringify(u.name)}, []);`)).join(`
978
+ `),w=me(m);return await(await T(t,w,"setup.js")).run(n,{timeout:H(e)}),ae.set(n,ie(s,r)),se.set(n,d),n}async function le(t,e,s,r,n,o,c){let y=t.isolate,d=ie(s,n),m=null;for(let u=t.idleContexts.length-1;u>=0;u--){let l=t.idleContexts[u];if(t.idleContexts.splice(u,1),ae.get(l)===d){m=l,j.reused++;break}try{l.release()}catch{}}m||(m=await Te(y,e,s,n),j.created++),I.setTaskPackages(e,se.get(m)||new Map);let w=m.global;return await w.set("__snapshot",new D.ExternalCopy(r).copyInto()),await w.set("__nextTaskId",e),await w.set("__nextTaskTimeoutMs",o),await w.set("__nextTaskDeadlineMs",c),await(await T(y,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(m,{timeout:H(e)}),m}async function ue(t,e){if(!(!e||t.isolate.isDisposed)){try{await(await T(t.isolate,"__cleanupTask();","cleanup-task.js")).run(e,{timeout:5e3})}catch{j.scrubFailed++;try{e.release()}catch{}return}if(t.idleContexts.length>=ve){try{e.release()}catch{}j.evicted++;return}t.idleContexts.push(e),j.released++}}function Ae(t){try{let e=JSON.parse(t.message);if(e&&e.__userThrow)return{...e,message:e.message??t.message}}catch{}return null}var Ne=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(`
979
+ `);for(let s of e){let r=s.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!r)continue;let n=r[1].trim();if(Oe.includes(n))continue;let c=parseInt(r[2])-Ne;if(!(c<=0))return{line:c,column:parseInt(r[3]),phase:n.replace(".js","")}}return null}function Ee(t,e,s){if(!t||!e)return;let r=String(t).split(/\r?\n/),n=Math.max(1,e-1),o=Math.min(r.length,e+1),c=String(o).length,y=[];for(let d=n;d<=o;d++){let m=d===e?">":" ";y.push(`${m} ${String(d).padStart(c," ")}. ${r[d-1]??""}`),d===e&&s&&s>0&&y.push(` ${" ".repeat(c)} ${" ".repeat(Math.max(0,s-1))}^`)}return y.join(`
980
+ `)}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=Ae(t);if(s)return{message:s.message,statusCode:s.statusCode,errorPath:s.errorPath,details:s.details};let r=Je(t.stack),n=t.message||"Unknown error",o=r?`${n} (${r.phase}, line ${r.line})`:n,c=Ie(r,e),y=r?Ee(c,r.line,r.column):void 0;return{message:o,statusCode:t.statusCode||null,details:{errorName:t.name||null,executionStage:t.executionStage||"runtime",...r?{...r,codeFrame:y}:{}}}}async function B(t,e,s){let r=V(e,s);await J({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:n,memoryLimitMb:o,isolatePoolSize:c}=t,y={handler:t.sourceCode||s||""},d=r||[],m=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),w=Date.now()+m;O.set(e,w);let v=ce(s,d),u=oe(o,c),l=u.isolate,k;try{k=await le(u,e,d,n,v,m,w)}catch(h){O.delete(e),K(e),await B(e,h,y);return}E.set(e,k);try{let h=`
956
981
  (async () => {
957
982
  "use strict";
958
983
  ${s}
959
984
  })().then((__result) => __extractResult(__result, __result === undefined));
960
- `,C=await(await T(u,y,"handler.js")).run(k,{timeout:H(e),promise:!0}),P=JSON.parse(C);await J({type:"result",id:e,success:!0,...P})}catch(y){await B(e,y,g)}finally{E.delete(e),O.delete(e),await ue(l,k),K(e)}}async function He(t){let{id:e,codeBlocks:s,pkgSources:r,snapshot:n,memoryLimitMb:o,isolatePoolSize:c}=t,g=r||[],d=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),h=Date.now()+d;O.set(e,h);let w=ce((s||[]).map(m=>m.code||"").join(`
961
- `),g),b=oe(o,c),l=b.isolate,u;try{u=await le(b,e,g,n,w,d,h)}catch(m){O.delete(e),K(e),await B(e,m);return}E.set(e,u);let k=[],y=[],v={},C=0,P=0;for(let m of s){let f=m.type||"handler",a=m.sourceCode||m.code||"";f==="postHook"?(P++,v[`postHook #${P}`]=a,v.postHook=a,y.push(m)):(f==="handler"?v.handler=a:(C++,v[`${f} #${C}`]=a,v.preHook=a),k.push(m))}try{let m=null;for(let a=0;a<k.length;a++){let i=k[a],p=i.type||"handler",_=p==="handler"?"handler":`${p} #${a+1}`,x;p==="preHook"?x=`
985
+ `,x=await(await T(l,h,"handler.js")).run(k,{timeout:H(e),promise:!0}),$=JSON.parse(x);await J({type:"result",id:e,success:!0,...$})}catch(h){await B(e,h,y)}finally{E.delete(e),O.delete(e),await ue(u,k),K(e)}}async function He(t){let{id:e,codeBlocks:s,pkgSources:r,snapshot:n,memoryLimitMb:o,isolatePoolSize:c}=t,y=r||[],d=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),m=Date.now()+d;O.set(e,m);let w=ce((s||[]).map(p=>p.code||"").join(`
986
+ `),y),v=oe(o,c),u=v.isolate,l;try{l=await le(v,e,y,n,w,d,m)}catch(p){O.delete(e),K(e),await B(e,p);return}E.set(e,l);let k=[],h=[],b={},x=0,$=0;for(let p of s){let f=p.type||"handler",a=p.sourceCode||p.code||"";f==="postHook"?($++,b[`postHook #${$}`]=a,b.postHook=a,h.push(p)):(f==="handler"?b.handler=a:(x++,b[`${f} #${x}`]=a,b.preHook=a),k.push(p))}try{let p=null;for(let a=0;a<k.length;a++){let i=k[a],_=i.type||"handler",g=_==="handler"?"handler":`${_} #${a+1}`,P;_==="preHook"?P=`
962
987
  (async () => {
963
988
  "use strict";
964
989
  ${i.code}
965
990
  })().then((__r) => {
966
991
  if (__r !== undefined) return JSON.stringify({ __shortCircuit: true, value: __r });
967
992
  return JSON.stringify({ __shortCircuit: false });
968
- });`:x=`
993
+ });`:P=`
969
994
  (async () => {
970
995
  "use strict";
971
996
  ${i.code}
972
997
  })().then((__r) => {
973
998
  $ctx.$data = __r;
974
999
  return "__handler_done__";
975
- });`;try{let R=await(await T(l,x,`${_}.js`)).run(u,{timeout:H(e),promise:!0});if(p==="preHook"&&typeof R=="string"){let S=JSON.parse(R);if(S.__shortCircuit){let F=await re(l,u,S.value);await J({type:"result",id:e,success:!0,...F,shortCircuit:!0});return}}}catch($){m=$;break}}if(!m&&y.length>0&&await(await T(l,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(u,{timeout:5e3}),m&&y.length>0){let a=V(m,v),i={message:a.message||"Unknown error",name:m.constructor?.name||"Error",stack:m.stack||"",statusCode:a.statusCode||500,details:a.details||{},timestamp:new Date().toISOString()},p=`
1000
+ });`;try{let R=await(await T(u,P,`${g}.js`)).run(l,{timeout:H(e),promise:!0});if(_==="preHook"&&typeof R=="string"){let S=JSON.parse(R);if(S.__shortCircuit){let F=await re(u,l,S.value);await J({type:"result",id:e,success:!0,...F,shortCircuit:!0});return}}}catch(C){p=C;break}}if(!p&&h.length>0&&await(await T(u,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(l,{timeout:5e3}),p&&h.length>0){let a=V(p,b),i={message:a.message||"Unknown error",name:p.constructor?.name||"Error",stack:p.stack||"",statusCode:a.statusCode||500,details:a.details||{},timestamp:new Date().toISOString()},_=`
976
1001
  $ctx.$error = ${JSON.stringify(i)};
977
1002
  $ctx.$data = null;
978
1003
  $ctx.$statusCode = ${i.statusCode};
@@ -986,11 +1011,11 @@ if ($ctx.$api) {
986
1011
  timestamp: ${JSON.stringify(i.timestamp)},
987
1012
  };
988
1013
  }
989
- "__error_populated__";`;await(await l.compileScript(p,{filename:"populate-error.js"})).run(u,{timeout:5e3})}for(let a=0;a<y.length;a++){let i=y[a],p=`postHook #${a+1}`,_=`
1014
+ "__error_populated__";`;await(await u.compileScript(_,{filename:"populate-error.js"})).run(l,{timeout:5e3})}for(let a=0;a<h.length;a++){let i=h[a],_=`postHook #${a+1}`,g=`
990
1015
  (async () => {
991
1016
  "use strict";
992
1017
  ${i.code}
993
1018
  })().then((__r) => {
994
1019
  if (__r !== undefined) $ctx.$data = __r;
995
1020
  return "__posthook_done__";
996
- });`;try{await(await T(l,_,`${p}.js`)).run(u,{timeout:H(e),promise:!0})}catch{}}if(m){let a=V(m,v),i;try{let x=await(await T(l,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(u,{timeout:5e3,promise:!0});i=JSON.parse(x)}catch{}await J({type:"result",id:e,success:!1,error:{message:a.message,statusCode:a.statusCode,errorPath:a.errorPath,stack:m.stack,code:m.code,details:a.details},ctxChanges:i});return}let f=await re(l,u);await J({type:"result",id:e,success:!0,...f})}catch(m){await B(e,m)}finally{E.delete(e),O.delete(e),await ue(b,u),K(e)}}function K(t){j.cleanupTaskPackages(t)}function Fe(){j.shutdownPackageRuntime()}process.on("exit",Fe);async function re(t,e,s){if(s!==void 0){let c=`__extractResult(${JSON.stringify(s)}, false)`,d=await(await t.compileScript(c,{filename:"extract.js"})).run(e,{timeout:5e3,promise:!0});return JSON.parse(d)}let o=await(await T(t,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(e,{timeout:5e3,promise:!0});return JSON.parse(o)}
1021
+ });`;try{await(await T(u,g,`${_}.js`)).run(l,{timeout:H(e),promise:!0})}catch{}}if(p){let a=V(p,b),i;try{let P=await(await T(u,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(l,{timeout:5e3,promise:!0});i=JSON.parse(P)}catch{}await J({type:"result",id:e,success:!1,error:{message:a.message,statusCode:a.statusCode,errorPath:a.errorPath,stack:p.stack,code:p.code,details:a.details},ctxChanges:i});return}let f=await re(u,l);await J({type:"result",id:e,success:!0,...f})}catch(p){await B(e,p)}finally{E.delete(e),O.delete(e),await ue(v,l),K(e)}}function K(t){I.cleanupTaskPackages(t)}function Fe(){I.shutdownPackageRuntime()}process.on("exit",Fe);async function re(t,e,s){if(s!==void 0){let c=`__extractResult(${JSON.stringify(s)}, false)`,d=await(await t.compileScript(c,{filename:"extract.js"})).run(e,{timeout:5e3,promise:!0});return JSON.parse(d)}let o=await(await T(t,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(e,{timeout:5e3,promise:!0});return JSON.parse(o)}
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@enfyra/kernel",
3
- "version": "1.1.46",
3
+ "version": "1.1.47",
4
4
  "source": "bundled-compiled-kernel"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enfyra/kernel",
3
- "version": "1.1.46",
3
+ "version": "1.1.47",
4
4
  "description": "Closed-distribution Enfyra kernel runtime",
5
5
  "license": "Elastic-2.0",
6
6
  "packageManager": "yarn@4.17.0",