@ai-ecoverse/slicc-kernel 1.162.1 → 1.163.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/node.js CHANGED
@@ -3677,7 +3677,7 @@ function satisfies(version, range2) {
3677
3677
  }
3678
3678
 
3679
3679
  // src/version.ts
3680
- var KERNEL_VERSION = true ? "1.162.1" : "0.0.0-dev";
3680
+ var KERNEL_VERSION = true ? "1.163.0" : "0.0.0-dev";
3681
3681
  var OS_RELEASE = "6.0.0-slicc";
3682
3682
  function procVersion() {
3683
3683
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -35249,8 +35249,35 @@ function sparesOf(options) {
35249
35249
  }
35250
35250
  return n;
35251
35251
  }
35252
- function processWorker(file, workerData) {
35253
- return new Worker(file, { env: workerEnv(), ...workerData ? { workerData } : {} });
35252
+ var INTERNALS = "--expose-internals";
35253
+ var internalArgv;
35254
+ function narrowArgv(argv, message3) {
35255
+ const at = message3.indexOf(": ");
35256
+ if (at < 0) return null;
35257
+ const bad = new Set(message3.slice(at + 2).split(", "));
35258
+ const kept = argv.filter((arg) => !bad.has(arg));
35259
+ return kept.length < argv.length ? kept : null;
35260
+ }
35261
+ function internalsWorker(make, argv = process.execArgv) {
35262
+ internalArgv ??= [...argv, INTERNALS];
35263
+ for (let tries = 0; internalArgv !== null && tries < 2; tries++) {
35264
+ try {
35265
+ return make(internalArgv);
35266
+ } catch (err) {
35267
+ const { code, message: message3 } = err;
35268
+ if (code !== "ERR_WORKER_INVALID_EXEC_ARGV" || typeof message3 !== "string") throw err;
35269
+ internalArgv = narrowArgv(internalArgv, message3);
35270
+ }
35271
+ }
35272
+ internalArgv = null;
35273
+ return make();
35274
+ }
35275
+ function resetInternalArgv() {
35276
+ internalArgv = void 0;
35277
+ }
35278
+ function processWorker(file, workerData, internals = false) {
35279
+ const make = (execArgv) => new Worker(file, { env: workerEnv(), ...workerData ? { workerData } : {}, execArgv });
35280
+ return internals ? internalsWorker(make) : make();
35254
35281
  }
35255
35282
  function sourceModule(source) {
35256
35283
  const url = `slicc-module:${createHash("sha256").update(source).digest("hex")}`;
@@ -35260,9 +35287,9 @@ function sourceModule(source) {
35260
35287
  function warmPoolOf(options, file, workerData, live) {
35261
35288
  const size = sparesOf(options);
35262
35289
  if (size === 0) return void 0;
35263
- return warmPool(() => processWorker(file, workerData), live, WARM_IDLE_MS, size);
35290
+ return warmPool(() => processWorker(file, workerData, true), live, WARM_IDLE_MS, size);
35264
35291
  }
35265
- function nodeWorker(file, live, closed, workerData, take) {
35292
+ function nodeWorker(file, live, closed, workerData, take, internals = false) {
35266
35293
  const errors = /* @__PURE__ */ new Set();
35267
35294
  const messages = /* @__PURE__ */ new Map();
35268
35295
  const fail3 = (message3) => {
@@ -35271,7 +35298,7 @@ function nodeWorker(file, live, closed, workerData, take) {
35271
35298
  } });
35272
35299
  }
35273
35300
  };
35274
- const worker = closed ? void 0 : take?.() ?? processWorker(file, workerData);
35301
+ const worker = closed ? void 0 : take?.() ?? processWorker(file, workerData, internals);
35275
35302
  let ending = false;
35276
35303
  if (worker) {
35277
35304
  const kill = () => {
@@ -35449,7 +35476,7 @@ async function createNodeKernel(options = {}) {
35449
35476
  fs,
35450
35477
  moduleUrl: sourceModule,
35451
35478
  unlinkOwner: pidOwner(process),
35452
- createWorker: () => nodeWorker(file, live, terminated, workerData, warm ? () => warm.take() : void 0),
35479
+ createWorker: () => nodeWorker(file, live, terminated, workerData, warm ? () => warm.take() : void 0, true),
35453
35480
  createDriverWorker: () => nodeWorker(
35454
35481
  options.driverWorker ?? new URL("./node-driver-worker.js", import.meta.url),
35455
35482
  live,
@@ -35592,10 +35619,13 @@ export {
35592
35619
  attachKernel,
35593
35620
  createNodeKernel,
35594
35621
  fetchTransport,
35622
+ internalsWorker,
35595
35623
  memoryRoot,
35624
+ narrowArgv,
35596
35625
  nodeTransport,
35597
35626
  ownCacheDir,
35598
35627
  privateCacheDir,
35628
+ resetInternalArgv,
35599
35629
  serveHostfsPort,
35600
35630
  sourceModule,
35601
35631
  sparesOf,