@enfyra/kernel 1.1.44 → 1.1.45

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((Ue,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,a=new Map,o=null,c=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),p=JSON.stringify(u.argsJson||"[]"),_=await n.evalClosure(`return __invokeRuntimeCallback(${i}, ${p});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return d(_)}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 _=a.get(i.id);if(!_)return;_.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(_=>{try{n.send({type:"pkgCallbackResult",id:i.id,value:_})}catch{}}).catch(_=>{try{n.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),a.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(_)}}),n.on("exit",(i,p)=>{o===n&&(o=null),f(new Error(`Package runtime exited${p?` with signal ${p}`:` with code ${i}`}`))}),n.on("error",i=>{o===n&&(o=null),f(i)}),n}function l(u){return new Promise((n,i)=>{let p=w(),_=`pkg_${++c}`,v=y(u.timeoutMs),x=setTimeout(()=>{r.delete(_),a.delete(_);try{p.kill()}catch{}i(new Error(`Package runtime call timed out after ${v}ms`))},v);r.set(_,{resolve:n,reject:i,timer:x});try{p.send({...u,id:_},C=>{C&&(clearTimeout(x),r.delete(_),i(C))})}catch(C){clearTimeout(x),r.delete(_),i(C)}})}function g(u,n,i,p=[],_=3e4){return new Promise((v,x)=>{let C=w(),b=`pkg_${++c}`,F=y(_),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:p,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_${++c}`,fire:!0})}catch{}}function m(u){try{let n=w();if(!n.connected)return;n.send({op:"cancelTask",taskId:u,id:`pkg_${++c}`,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 l({op:n.kind==="get"?"handleGet":"handleCall",taskId:u,handleId:n.handleId,path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs});let p=i.get(n.packageName);if(!p)throw new Error(`Package "${n.packageName}" is not available`);return l({op:n.kind==="construct"?"construct":"call",taskId:u,packageName:n.packageName,package:{name:p.name,fileUrl:p.fileUrl},path:n.path||[],argsJson:n.argsJson||"[]",timeoutMs:n.timeoutMs})}function E(u,n){s.set(u,n)}function j(u){s.delete(u),P({op:"releaseTask",taskId:u})}function h(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:j,cancelTask:m,executePackageRuntimeCall:S,setTaskPackages:E,streamPackageHandle:g,shutdownPackageRuntime:h}}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((Ue,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,l=0;function y(u){return Math.max(1,Math.trunc(Number(u)||3e4))}function d(u){for(let a of r.values())clearTimeout(a.timer),a.reject(u);r.clear()}function g(u){let a=typeof u=="string"?JSON.parse(u):u;if(a?.error)throw new Error(a.error);return a?.value}async function k(u){let a=e.get(u.taskId);if(!a)throw new Error(`Package callback context not found: ${u.taskId}`);let c=JSON.stringify(u.callbackId),p=JSON.stringify(u.argsJson||"[]"),_=await a.evalClosure(`return __invokeRuntimeCallback(${c}, ${p});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return g(_)}function b(){if(o&&o.connected)return o;let u=de.join(t,"package-runtime.child.js"),a=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=a,a.on("message",c=>{if(!c||!c.id)return;if(c.type==="pkgStreamChunk"){let _=n.get(c.id);if(!_)return;_.onChunk(Buffer.from(c.chunk||"","base64")).then(()=>{try{a.send({type:"pkgStreamAck",ackId:c.ackId})}catch{}}).catch(P=>{try{a.send({type:"pkgStreamError",ackId:c.ackId,error:{message:P.message,stack:P.stack}})}catch{}});return}if(c.type==="pkgCallbackCall"){k(c).then(_=>{try{a.send({type:"pkgCallbackResult",id:c.id,value:_})}catch{}}).catch(_=>{try{a.send({type:"pkgCallbackError",id:c.id,error:{message:_.message,stack:_.stack}})}catch{}});return}let p=r.get(c.id);if(p)if(clearTimeout(p.timer),r.delete(c.id),n.delete(c.id),c.ok)p.resolve(c.value);else{let _=new Error(c.error?.message||"Package runtime call failed");_.stack=c.error?.stack||_.stack,p.reject(_)}}),a.on("exit",(c,p)=>{o===a&&(o=null),d(new Error(`Package runtime exited${p?` with signal ${p}`:` with code ${c}`}`))}),a.on("error",c=>{o===a&&(o=null),d(c)}),a}function i(u){return new Promise((a,c)=>{let p=b(),_=`pkg_${++l}`,P=y(u.timeoutMs),C=setTimeout(()=>{r.delete(_),n.delete(_);try{p.kill()}catch{}c(new Error(`Package runtime call timed out after ${P}ms`))},P);r.set(_,{resolve:a,reject:c,timer:C});try{p.send({...u,id:_},$=>{$&&(clearTimeout(C),r.delete(_),c($))})}catch($){clearTimeout(C),r.delete(_),c($)}})}function f(u,a,c,p=[],_=3e4){return new Promise((P,C)=>{let $=b(),x=`pkg_${++l}`,F=y(_),q=setTimeout(()=>{r.delete(x),n.delete(x);try{$.kill()}catch{}C(new Error(`Package runtime stream timed out after ${F}ms`))},F);r.set(x,{resolve:P,reject:C,timer:q}),n.set(x,{onChunk:c});try{$.send({op:"streamHandle",taskId:u,handleId:a,path:p,id:x,timeoutMs:F},L=>{L&&(clearTimeout(q),r.delete(x),n.delete(x),C(L))})}catch(L){clearTimeout(q),r.delete(x),n.delete(x),C(L)}})}function w(u){try{if(!o||!o.connected)return;o.send({...u,id:`pkg_${++l}`,fire:!0})}catch{}}function h(u){try{let a=b();if(!a.connected)return;a.send({op:"cancelTask",taskId:u,id:`pkg_${++l}`,fire:!0})}catch{}}async function v(u,a){let c=s.get(u);if(!c)throw new Error("Package context is not available");if(a.handleId)return i({op:a.kind==="get"?"handleGet":"handleCall",taskId:u,handleId:a.handleId,path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs});let p=c.get(a.packageName);if(!p)throw new Error(`Package "${a.packageName}" is not available`);return i({op:a.kind==="construct"?"construct":"call",taskId:u,packageName:a.packageName,package:{name:p.name,fileUrl:p.fileUrl},path:a.path||[],argsJson:a.argsJson||"[]",timeoutMs:a.timeoutMs})}function N(u,a){s.set(u,a)}function S(u){s.delete(u),w({op:"releaseTask",taskId:u})}function m(){if(o){try{o.kill()}catch{}o=null}}return{cleanupTaskPackages:S,cancelTask:h,executePackageRuntimeCall:v,setTaskPackages:N,streamPackageHandle:f,shutdownPackageRuntime:m}}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 = {};
@@ -229,8 +229,12 @@ async function __streamResponseFromLocalReadable(stream, options) {
229
229
  const observer = typeof options?.observer === 'function'
230
230
  ? options.observer
231
231
  : null;
232
+ const transform = typeof options?.transform === 'function'
233
+ ? options.transform
234
+ : null;
232
235
  const relayOptions = { ...(options || {}) };
233
236
  delete relayOptions.observer;
237
+ delete relayOptions.transform;
234
238
  const notifyObserver = async (chunk, kind) => {
235
239
  if (!observer) return;
236
240
  let text;
@@ -243,6 +247,26 @@ async function __streamResponseFromLocalReadable(stream, options) {
243
247
  await observer(text, kind);
244
248
  } catch {}
245
249
  };
250
+ const relayChunk = async (chunk, kind) => {
251
+ let output = chunk;
252
+ if (transform) {
253
+ let text;
254
+ try {
255
+ text = new TextDecoder().decode(__streamChunkToBytes(chunk));
256
+ } catch {
257
+ text = '';
258
+ }
259
+ const transformed = await transform(text, kind);
260
+ if (transformed === null) return;
261
+ if (transformed !== undefined) output = String(transformed);
262
+ }
263
+ const bytes = __streamChunkToBytes(output);
264
+ if (bytes.byteLength === 0) return;
265
+ await __call('resCall', JSON.stringify({
266
+ method: 'streamChunk',
267
+ chunk: __bytesToBase64(bytes),
268
+ }));
269
+ };
246
270
  await __call('resCall', JSON.stringify({
247
271
  method: 'streamStart',
248
272
  argsJson: JSON.stringify([null, relayOptions]),
@@ -250,13 +274,11 @@ async function __streamResponseFromLocalReadable(stream, options) {
250
274
  try {
251
275
  for await (const chunk of stream) {
252
276
  await notifyObserver(chunk, 'chunk');
253
- await __call('resCall', JSON.stringify({
254
- method: 'streamChunk',
255
- chunk: __bytesToBase64(__streamChunkToBytes(chunk)),
256
- }));
277
+ await relayChunk(chunk, 'chunk');
257
278
  }
258
- await __call('resCall', JSON.stringify({ method: 'streamEnd' }));
259
279
  await notifyObserver('', 'end');
280
+ await relayChunk('', 'end');
281
+ await __call('resCall', JSON.stringify({ method: 'streamEnd' }));
260
282
  } catch (error) {
261
283
  try {
262
284
  await __call('resCall', JSON.stringify({
@@ -916,48 +938,48 @@ function __cleanupTask() {
916
938
  __pendingRuntimeTasks = [];
917
939
  return true;
918
940
  }
919
- `;function ge(t){return _e.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,I={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,c=a.used_heap_size/o;c>e&&(e=c)}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{...I,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;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}M.on("message",async t=>{if(t.type==="execute")Ie(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 c=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(!c)return;let w=O.get(t);if(!w)return;let l;try{l=Buffer.from(d).toString("utf8")}catch{l=""}try{await w.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(c)}, ${JSON.stringify(JSON.stringify([l,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,c=>{throw new Error(`Unresolved import in package ${s.safeName}: ${c}`)}),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 c=0;c<a.length;c++)o^=a.charCodeAt(c),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||"")}`,c=r.has(a.name)?"isolate":"proxy";return`${a.name}:${a.version||""}:${o}:${c}`}).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,c=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,y=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let f of[o,c])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 c=[],y=[],f=new Map;for(let l of s){f.set(l.name,l);let g=r.has(l.name)?await Me(t,a,l):null;g!==null?(await o.set(`__pkg_${l.safeName}`,g),c.push(l)):y.push(l)}J.setTaskPackages(e,f),await o.set("__callRef",new U.Reference(async(l,g,P)=>{let m=JSON.parse(P);return g==="pkgCall"?JSON.stringify(await J.executePackageRuntimeCall(l,m)):g==="resCall"?$e(l,m):N(l,g,m)})),await o.set("__fireRef",new U.Reference((l,g,P)=>{let m=JSON.parse(P);Ce(l,g,m)}));let d=c.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __pkg_${l.safeName};`).concat(y.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __createPkgProxy(${JSON.stringify(l.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,c){let y=t.isolate,f=ie(s,a),d=null;for(let l=t.idleContexts.length-1;l>=0;l--){let g=t.idleContexts[l];if(t.idleContexts.splice(l,1),ae.get(g)===f){d=g,I.reused++;break}try{g.release()}catch{}}d||(d=await Ne(y,e,s,a),I.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",c),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{I.scrubFailed++;try{e.release()}catch{}return}if(t.idleContexts.length>=we){try{e.release()}catch{}I.evicted++;return}t.idleContexts.push(e),I.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 c=parseInt(r[2])-Ae;if(!(c<=0))return{line:c,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),c=String(o).length,y=[];for(let f=a;f<=o;f++){let d=f===e?">":" ";y.push(`${d} ${String(f).padStart(c," ")}. ${r[f-1]??""}`),f===e&&s&&s>0&&y.push(` ${" ".repeat(c)} ${" ".repeat(Math.max(0,s-1))}^`)}return y.join(`
922
- `)}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=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,c=je(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 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 Ie(t){let{id:e,code:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:c}=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),l=oe(o,c),g=l.isolate,P;try{P=await le(l,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=`
941
+ `;function ge(t){return _e.replace("%%PKG_SETUP%%",t)}X.exports={buildSetupCode:ge}});var{parentPort:T}=require("worker_threads"),Q=require("fs"),{fileURLToPath:ye}=require("url"),{createPackageRuntimeBridge:he}=G(),{buildSetupCode:me}=Z(),U;try{U=require("isolated-vm")}catch(t){T.postMessage({type:"error",message:"isolated-vm not available: "+t.message}),process.exit(1)}var D=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 R=null,Pe=0,ee=0,te=0;async function be(){let t=Date.now();if(t-ee<we)return te;if(ee=t,!R)return 0;let e=0;for(let s of R){let r=s?.isolate;if(!(!r||r.isDisposed))try{let n=await r.getHeapStatistics(),o=n.heap_size_limit||1,l=n.used_heap_size/o;l>e&&(e=l)}catch{}}return te=e,e}async function J(t){t.heapRatio=await be(),t.contextStats=xe(),T.postMessage(t)}function xe(){let t=0;if(R)for(let e of R)t+=e?.idleContexts?.length||0;return{...I,idle:t}}function oe(t,e){if(!R){let n=Math.max(1,Math.trunc(Number(e)||8));R=new Array(n).fill(null)}let s=Pe++%R.length,r=R[s];return(!r||!r.isolate||r.isolate.isDisposed)&&(r={isolate:new U.Isolate({memoryLimit:t}),idleContexts:[]},R[s]=r),r}async function M(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(l){throw l&&typeof l=="object"&&(l.executionStage="compile"),l}if(r.set(e,o),r.size>ke){let l=r.keys().next().value;r.delete(l)}return o}T.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=>{T.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=E.get(t.id);if(!e){T.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);T.postMessage({type:"runtimeCallbackResult",callId:t.callId,...r})}function A(t,e,s){return new Promise((r,n)=>{let o=`cb_${++ne}`;D.set(o,{resolve:r,reject:n}),T.postMessage({type:e,id:t,callId:o,...s})})}function Ce(t,e,s){T.postMessage({type:e,id:t,callId:`f_${++ne}`,...s})}async function $e(t,e){if(e?.method!=="stream")return A(t,"resCall",e);let s=JSON.parse(e.argsJson||"[]"),r=s[0],n=s[1]||{},o=r?.__pkgHandleArg;if(!o)return A(t,"resCall",e);let l=n.observer&&typeof n.observer=="object"?n.observer.__fnRef:null,y=n.transform&&typeof n.transform=="object"?n.transform.__fnRef:null;delete n.observer,delete n.transform;let d={...n};await A(t,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,d])});let g=async(i,f,w)=>{if(!i)return;let h=E.get(t);if(!h)return;let v;try{v=Buffer.from(f).toString("utf8")}catch{v=""}let N=await h.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(i)}, ${JSON.stringify(JSON.stringify([v,w]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),S=JSON.parse(N);if(S?.error)throw new Error(S.error);if(S?.value?.__e!=="u")return S?.value},k=async(i,f)=>{if(l)try{await g(l,i,f)}catch{}},b=async(i,f)=>{let w=i;if(y){let v=await g(y,i,f);if(v===null)return;v!==void 0&&(w=Buffer.from(String(v)))}let h=Buffer.from(w);h.length!==0&&await A(t,"resCall",{method:"streamChunk",chunk:h.toString("base64")})};try{await j.streamPackageHandle(t,o,async i=>{await k(i,"chunk"),await b(i,"chunk")},[],H(t)),await k("","end"),await b("","end"),await A(t,"resCall",{method:"streamEnd"})}catch(i){try{await A(t,"resCall",{method:"streamError",error:{message:i.message,stack:i.stack}})}catch{}throw await k("","error"),i}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,l=>{throw new Error(`Unresolved import in package ${s.safeName}: ${l}`)}),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 l=0;l<n.length;l++)o^=n.charCodeAt(l),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||"")}`,l=r.has(n.name)?"isolate":"proxy";return`${n.name}:${n.version||""}:${o}:${l}`}).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,l=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,y=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let d of[o,l])for(let g of n.matchAll(d)){let k=g[2];s.has(k)&&r.add(k)}for(let d of n.matchAll(y)){let g=d[1];s.has(g)&&r.add(g)}return r}async function Ne(t,e,s,r){let n=await t.createContext(),o=n.global;await o.set("global",o.derefInto());let l=[],y=[],d=new Map;for(let i of s){d.set(i.name,i);let f=r.has(i.name)?await Me(t,n,i):null;f!==null?(await o.set(`__pkg_${i.safeName}`,f),l.push(i)):y.push(i)}j.setTaskPackages(e,d),await o.set("__callRef",new U.Reference(async(i,f,w)=>{let h=JSON.parse(w);return f==="pkgCall"?JSON.stringify(await j.executePackageRuntimeCall(i,h)):f==="resCall"?$e(i,h):A(i,f,h)})),await o.set("__fireRef",new U.Reference((i,f,w)=>{let h=JSON.parse(w);Ce(i,f,h)}));let g=l.map(i=>`$pkgs[${JSON.stringify(i.name)}] = __pkg_${i.safeName};`).concat(y.map(i=>`$pkgs[${JSON.stringify(i.name)}] = __createPkgProxy(${JSON.stringify(i.name)}, []);`)).join(`
942
+ `),k=me(g);return await(await M(t,k,"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,l){let y=t.isolate,d=ie(s,n),g=null;for(let i=t.idleContexts.length-1;i>=0;i--){let f=t.idleContexts[i];if(t.idleContexts.splice(i,1),ae.get(f)===d){g=f,I.reused++;break}try{f.release()}catch{}}g||(g=await Ne(y,e,s,n),I.created++),j.setTaskPackages(e,se.get(g)||new Map);let k=g.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 M(y,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(g,{timeout:H(e)}),g}async function ue(t,e){if(!(!e||t.isolate.isDisposed)){try{await(await M(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 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(`
943
+ `);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 l=parseInt(r[2])-Ae;if(!(l<=0))return{line:l,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),l=String(o).length,y=[];for(let d=n;d<=o;d++){let g=d===e?">":" ";y.push(`${g} ${String(d).padStart(l," ")}. ${r[d-1]??""}`),d===e&&s&&s>0&&y.push(` ${" ".repeat(l)} ${" ".repeat(Math.max(0,s-1))}^`)}return y.join(`
944
+ `)}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=Te(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,l=je(r,e),y=r?Ee(l,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 Ie(t){let{id:e,code:s,pkgSources:r,snapshot:n,memoryLimitMb:o,isolatePoolSize:l}=t,y={handler:t.sourceCode||s||""},d=r||[],g=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),k=Date.now()+g;O.set(e,k);let b=ce(s,d),i=oe(o,l),f=i.isolate,w;try{w=await le(i,e,d,n,b,g,k)}catch(h){O.delete(e),K(e),await B(e,h,y);return}E.set(e,w);try{let h=`
923
945
  (async () => {
924
946
  "use strict";
925
947
  ${s}
926
948
  })().then((__result) => __extractResult(__result, __result === undefined));
927
- `,E=await(await R(g,m,"handler.js")).run(P,{timeout:H(e),promise:!0}),j=JSON.parse(E);await A({type:"result",id:e,success:!0,...j})}catch(m){await K(e,m,y)}finally{O.delete(e),T.delete(e),await ue(l,P),B(e)}}async function He(t){let{id:e,codeBlocks:s,pkgSources:r,snapshot:a,memoryLimitMb:o,isolatePoolSize:c}=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,c),l=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,j=0;for(let h of s){let u=h.type||"handler",n=h.sourceCode||h.code||"";u==="postHook"?(j++,S[`postHook #${j}`]=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],p=i.type||"handler",_=p==="handler"?"handler":`${p} #${n+1}`,v;p==="preHook"?v=`
949
+ `,N=await(await M(f,h,"handler.js")).run(w,{timeout:H(e),promise:!0}),S=JSON.parse(N);await J({type:"result",id:e,success:!0,...S})}catch(h){await B(e,h,y)}finally{E.delete(e),O.delete(e),await ue(i,w),K(e)}}async function He(t){let{id:e,codeBlocks:s,pkgSources:r,snapshot:n,memoryLimitMb:o,isolatePoolSize:l}=t,y=r||[],d=Math.max(1,Math.trunc(Number(t.timeoutMs)||3e4)),g=Date.now()+d;O.set(e,g);let k=ce((s||[]).map(m=>m.code||"").join(`
950
+ `),y),b=oe(o,l),i=b.isolate,f;try{f=await le(b,e,y,n,k,d,g)}catch(m){O.delete(e),K(e),await B(e,m);return}E.set(e,f);let w=[],h=[],v={},N=0,S=0;for(let m of s){let u=m.type||"handler",a=m.sourceCode||m.code||"";u==="postHook"?(S++,v[`postHook #${S}`]=a,v.postHook=a,h.push(m)):(u==="handler"?v.handler=a:(N++,v[`${u} #${N}`]=a,v.preHook=a),w.push(m))}try{let m=null;for(let a=0;a<w.length;a++){let c=w[a],p=c.type||"handler",_=p==="handler"?"handler":`${p} #${a+1}`,P;p==="preHook"?P=`
929
951
  (async () => {
930
952
  "use strict";
931
- ${i.code}
953
+ ${c.code}
932
954
  })().then((__r) => {
933
955
  if (__r !== undefined) return JSON.stringify({ __shortCircuit: true, value: __r });
934
956
  return JSON.stringify({ __shortCircuit: false });
935
- });`:v=`
957
+ });`:P=`
936
958
  (async () => {
937
959
  "use strict";
938
- ${i.code}
960
+ ${c.code}
939
961
  })().then((__r) => {
940
962
  $ctx.$data = __r;
941
963
  return "__handler_done__";
942
- });`;try{let C=await(await R(l,v,`${_}.js`)).run(g,{timeout:H(e),promise:!0});if(p==="preHook"&&typeof C=="string"){let b=JSON.parse(C);if(b.__shortCircuit){let F=await re(l,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(l,'$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()},p=`
943
- $ctx.$error = ${JSON.stringify(i)};
964
+ });`;try{let $=await(await M(i,P,`${_}.js`)).run(f,{timeout:H(e),promise:!0});if(p==="preHook"&&typeof $=="string"){let x=JSON.parse($);if(x.__shortCircuit){let F=await re(i,f,x.value);await J({type:"result",id:e,success:!0,...F,shortCircuit:!0});return}}}catch(C){m=C;break}}if(!m&&h.length>0&&await(await M(i,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(f,{timeout:5e3}),m&&h.length>0){let a=V(m,v),c={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=`
965
+ $ctx.$error = ${JSON.stringify(c)};
944
966
  $ctx.$data = null;
945
- $ctx.$statusCode = ${i.statusCode};
967
+ $ctx.$statusCode = ${c.statusCode};
946
968
  if ($ctx.$api) {
947
- $ctx.$api.error = ${JSON.stringify(i)};
969
+ $ctx.$api.error = ${JSON.stringify(c)};
948
970
  $ctx.$api.response = {
949
- statusCode: ${i.statusCode},
971
+ statusCode: ${c.statusCode},
950
972
  responseTime: $ctx.$api.request && $ctx.$api.request.timestamp
951
973
  ? Date.now() - new Date($ctx.$api.request.timestamp).getTime()
952
974
  : 0,
953
- timestamp: ${JSON.stringify(i.timestamp)},
975
+ timestamp: ${JSON.stringify(c.timestamp)},
954
976
  };
955
977
  }
956
- "__error_populated__";`;await(await l.compileScript(p,{filename:"populate-error.js"})).run(g,{timeout:5e3})}for(let n=0;n<m.length;n++){let i=m[n],p=`postHook #${n+1}`,_=`
978
+ "__error_populated__";`;await(await i.compileScript(p,{filename:"populate-error.js"})).run(f,{timeout:5e3})}for(let a=0;a<h.length;a++){let c=h[a],p=`postHook #${a+1}`,_=`
957
979
  (async () => {
958
980
  "use strict";
959
- ${i.code}
981
+ ${c.code}
960
982
  })().then((__r) => {
961
983
  if (__r !== undefined) $ctx.$data = __r;
962
984
  return "__posthook_done__";
963
- });`;try{await(await R(l,_,`${p}.js`)).run(g,{timeout:H(e),promise:!0})}catch{}}if(h){let n=V(h,S),i;try{let v=await(await R(l,"(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(l,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 c=`__extractResult(${JSON.stringify(s)}, false)`,f=await(await t.compileScript(c,{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)}
985
+ });`;try{await(await M(i,_,`${p}.js`)).run(f,{timeout:H(e),promise:!0})}catch{}}if(m){let a=V(m,v),c;try{let P=await(await M(i,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(f,{timeout:5e3,promise:!0});c=JSON.parse(P)}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:c});return}let u=await re(i,f);await J({type:"result",id:e,success:!0,...u})}catch(m){await B(e,m)}finally{E.delete(e),O.delete(e),await ue(b,f),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 l=`__extractResult(${JSON.stringify(s)}, false)`,d=await(await t.compileScript(l,{filename:"extract.js"})).run(e,{timeout:5e3,promise:!0});return JSON.parse(d)}let o=await(await M(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.44",
3
+ "version": "1.1.45",
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.44",
3
+ "version": "1.1.45",
4
4
  "description": "Closed-distribution Enfyra kernel runtime",
5
5
  "license": "Elastic-2.0",
6
6
  "packageManager": "yarn@4.17.0",