omnius 1.0.900 → 1.0.901

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/index.js
3
- size: 39009687 bytes
4
- sha256: 302546141297aa2655938ecce6fe2f1bfbaeeab14eaebb7bb4ff25fd51a5280f
3
+ size: 39011177 bytes
4
+ sha256: aa20c94ffd6dd5b7c4c05db62ec87494608e39d47960e9a4fdd5b6de4562b427
@@ -57172,7 +57172,7 @@ var require_util = __commonJS({
57172
57172
  return path3;
57173
57173
  }
57174
57174
  exports.normalize = normalize;
57175
- function join21(aRoot, aPath) {
57175
+ function join22(aRoot, aPath) {
57176
57176
  if (aRoot === "") {
57177
57177
  aRoot = ".";
57178
57178
  }
@@ -57204,7 +57204,7 @@ var require_util = __commonJS({
57204
57204
  }
57205
57205
  return joined;
57206
57206
  }
57207
- exports.join = join21;
57207
+ exports.join = join22;
57208
57208
  exports.isAbsolute = function(aPath) {
57209
57209
  return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
57210
57210
  };
@@ -57377,7 +57377,7 @@ var require_util = __commonJS({
57377
57377
  parsed.path = parsed.path.substring(0, index + 1);
57378
57378
  }
57379
57379
  }
57380
- sourceURL = join21(urlGenerate(parsed), sourceURL);
57380
+ sourceURL = join22(urlGenerate(parsed), sourceURL);
57381
57381
  }
57382
57382
  return normalize(sourceURL);
57383
57383
  }
@@ -67864,7 +67864,7 @@ ${lanes.join("\n")}
67864
67864
  writeOutputIsTTY() {
67865
67865
  return process.stdout.isTTY;
67866
67866
  },
67867
- readFile,
67867
+ readFile: readFile2,
67868
67868
  writeFile: writeFile2,
67869
67869
  watchFile: watchFile2,
67870
67870
  watchDirectory,
@@ -68070,7 +68070,7 @@ ${lanes.join("\n")}
68070
68070
  callback
68071
68071
  );
68072
68072
  }
68073
- function readFile(fileName, _encoding) {
68073
+ function readFile2(fileName, _encoding) {
68074
68074
  let buffer;
68075
68075
  try {
68076
68076
  buffer = _fs.readFileSync(fileName);
@@ -104753,7 +104753,7 @@ ${lanes.join("\n")}
104753
104753
  const possibleOption = getSpellingSuggestion(unknownOption, diagnostics.optionDeclarations, getOptionName);
104754
104754
  return possibleOption ? createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(sourceFile, node, diagnostics.unknownDidYouMeanDiagnostic, unknownOptionErrorText || unknownOption, possibleOption.name) : createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(sourceFile, node, diagnostics.unknownOptionDiagnostic, unknownOptionErrorText || unknownOption);
104755
104755
  }
104756
- function parseCommandLineWorker(diagnostics, commandLine, readFile) {
104756
+ function parseCommandLineWorker(diagnostics, commandLine, readFile2) {
104757
104757
  const options = {};
104758
104758
  let watchOptions;
104759
104759
  const fileNames = [];
@@ -104801,7 +104801,7 @@ ${lanes.join("\n")}
104801
104801
  }
104802
104802
  }
104803
104803
  function parseResponseFile(fileName) {
104804
- const text2 = tryReadFile(fileName, readFile || ((fileName2) => sys.readFile(fileName2)));
104804
+ const text2 = tryReadFile(fileName, readFile2 || ((fileName2) => sys.readFile(fileName2)));
104805
104805
  if (!isString(text2)) {
104806
104806
  errors.push(text2);
104807
104807
  return;
@@ -104904,8 +104904,8 @@ ${lanes.join("\n")}
104904
104904
  unknownDidYouMeanDiagnostic: Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,
104905
104905
  optionTypeMismatchDiagnostic: Diagnostics.Compiler_option_0_expects_an_argument
104906
104906
  };
104907
- function parseCommandLine(commandLine, readFile) {
104908
- return parseCommandLineWorker(compilerOptionsDidYouMeanDiagnostics, commandLine, readFile);
104907
+ function parseCommandLine(commandLine, readFile2) {
104908
+ return parseCommandLineWorker(compilerOptionsDidYouMeanDiagnostics, commandLine, readFile2);
104909
104909
  }
104910
104910
  function getOptionFromName(optionName, allowShort) {
104911
104911
  return getOptionDeclarationFromName(getOptionsNameMap, optionName, allowShort);
@@ -104987,8 +104987,8 @@ ${lanes.join("\n")}
104987
104987
  watchOptionsToExtend
104988
104988
  );
104989
104989
  }
104990
- function readConfigFile(fileName, readFile) {
104991
- const textOrDiagnostic = tryReadFile(fileName, readFile);
104990
+ function readConfigFile(fileName, readFile2) {
104991
+ const textOrDiagnostic = tryReadFile(fileName, readFile2);
104992
104992
  return isString(textOrDiagnostic) ? parseConfigFileTextToJson(fileName, textOrDiagnostic) : { config: {}, error: textOrDiagnostic };
104993
104993
  }
104994
104994
  function parseConfigFileTextToJson(fileName, jsonText) {
@@ -105003,14 +105003,14 @@ ${lanes.join("\n")}
105003
105003
  error: jsonSourceFile.parseDiagnostics.length ? jsonSourceFile.parseDiagnostics[0] : void 0
105004
105004
  };
105005
105005
  }
105006
- function readJsonConfigFile(fileName, readFile) {
105007
- const textOrDiagnostic = tryReadFile(fileName, readFile);
105006
+ function readJsonConfigFile(fileName, readFile2) {
105007
+ const textOrDiagnostic = tryReadFile(fileName, readFile2);
105008
105008
  return isString(textOrDiagnostic) ? parseJsonText(fileName, textOrDiagnostic) : { fileName, parseDiagnostics: [textOrDiagnostic] };
105009
105009
  }
105010
- function tryReadFile(fileName, readFile) {
105010
+ function tryReadFile(fileName, readFile2) {
105011
105011
  let text2;
105012
105012
  try {
105013
- text2 = readFile(fileName);
105013
+ text2 = readFile2(fileName);
105014
105014
  } catch (e) {
105015
105015
  return createCompilerDiagnostic(Diagnostics.Cannot_read_file_0_Colon_1, fileName, e.message);
105016
105016
  }
@@ -195112,12 +195112,12 @@ ${lanes.join("\n")}
195112
195112
  function createCompilerHost(options, setParentNodes) {
195113
195113
  return createCompilerHostWorker(options, setParentNodes);
195114
195114
  }
195115
- function createGetSourceFile(readFile, setParentNodes) {
195115
+ function createGetSourceFile(readFile2, setParentNodes) {
195116
195116
  return (fileName, languageVersionOrOptions, onError) => {
195117
195117
  let text2;
195118
195118
  try {
195119
195119
  mark("beforeIORead");
195120
- text2 = readFile(fileName);
195120
+ text2 = readFile2(fileName);
195121
195121
  mark("afterIORead");
195122
195122
  measure("I/O Read", "beforeIORead", "afterIORead");
195123
195123
  } catch (e) {
@@ -196021,7 +196021,7 @@ ${lanes.join("\n")}
196021
196021
  getRedirectFromOutput,
196022
196022
  forEachResolvedProjectReference: forEachResolvedProjectReference2
196023
196023
  });
196024
- const readFile = host.readFile.bind(host);
196024
+ const readFile2 = host.readFile.bind(host);
196025
196025
  (_e = tracing) == null ? void 0 : _e.push(tracing.Phase.Program, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!oldProgram });
196026
196026
  const shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options);
196027
196027
  (_f = tracing) == null ? void 0 : _f.pop();
@@ -196242,7 +196242,7 @@ ${lanes.join("\n")}
196242
196242
  shouldTransformImportCall,
196243
196243
  emitBuildInfo,
196244
196244
  fileExists,
196245
- readFile,
196245
+ readFile: readFile2,
196246
196246
  directoryExists,
196247
196247
  getSymlinkCache,
196248
196248
  realpath: (_o = host.realpath) == null ? void 0 : _o.bind(host),
@@ -272790,7 +272790,7 @@ var require_path_browserify = __commonJS({
272790
272790
  assertPath(path3);
272791
272791
  return path3.length > 0 && path3.charCodeAt(0) === 47;
272792
272792
  },
272793
- join: function join21() {
272793
+ join: function join22() {
272794
272794
  if (arguments.length === 0)
272795
272795
  return ".";
272796
272796
  var joined;
@@ -303239,7 +303239,7 @@ import {
303239
303239
  writeSync as writeSync2
303240
303240
  } from "node:fs";
303241
303241
  import { homedir as homedir16 } from "node:os";
303242
- import { dirname as dirname10, isAbsolute as isAbsolute8, join as join17, relative as relative2, resolve as resolve12 } from "node:path";
303242
+ import { dirname as dirname10, isAbsolute as isAbsolute8, join as join18, relative as relative2, resolve as resolve12 } from "node:path";
303243
303243
 
303244
303244
  // packages/cli/src/service-version.ts
303245
303245
  var OmniusVersionError = class extends Error {
@@ -303294,11 +303294,41 @@ function compareOmniusVersions(left, right) {
303294
303294
  return 0;
303295
303295
  }
303296
303296
 
303297
+ // packages/cli/src/npm-recovery-retention.ts
303298
+ import { lstat, readdir, readFile, rm } from "node:fs/promises";
303299
+ import { join as join16 } from "node:path";
303300
+ var RECOVERY_NAME = /^\.omnius-update-recovery-[a-f0-9-]{36}$/;
303301
+ async function pruneStaleUpdateRecoveries(modulesRoot, options = {}) {
303302
+ const keep = Math.max(0, options.keep ?? 1);
303303
+ const minAgeMs = options.minAgeMs ?? 60 * 60 * 1e3;
303304
+ const now = options.now ?? Date.now();
303305
+ const uid = process.getuid?.();
303306
+ const candidates = [];
303307
+ for (const name of await readdir(modulesRoot)) {
303308
+ if (!RECOVERY_NAME.test(name)) continue;
303309
+ const path3 = join16(modulesRoot, name);
303310
+ if (options.exclude?.has(path3)) continue;
303311
+ const metadata = await lstat(path3).catch(() => void 0);
303312
+ if (!metadata?.isDirectory() || metadata.isSymbolicLink() || uid !== void 0 && metadata.uid !== uid) continue;
303313
+ if (now - metadata.mtimeMs < minAgeMs) continue;
303314
+ const manifest = await readFile(join16(path3, "package.json"), "utf8").then((text2) => JSON.parse(text2), () => null);
303315
+ candidates.push({ path: path3, mtimeMs: metadata.mtimeMs, restorable: manifest?.name === "omnius" && typeof manifest.version === "string" });
303316
+ }
303317
+ const kept = new Set(candidates.filter((item) => item.restorable).sort((a, b) => b.mtimeMs - a.mtimeMs).slice(0, keep).map((item) => item.path));
303318
+ const removed = [];
303319
+ for (const item of candidates) {
303320
+ if (kept.has(item.path)) continue;
303321
+ await rm(item.path, { recursive: true, force: true });
303322
+ removed.push(item.path);
303323
+ }
303324
+ return removed;
303325
+ }
303326
+
303297
303327
  // packages/cli/src/npm-install-recovery.ts
303298
303328
  import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
303299
303329
  import { closeSync as closeSync3, constants, fstatSync, fsyncSync, ftruncateSync, lstatSync, openSync as openSync3, readFileSync as readFileSync7, readdirSync, readSync as readSync2, unlinkSync as unlinkSync3, writeFileSync as writeFileSync5 } from "node:fs";
303300
- import { chmod, cp, lstat, mkdir, readdir, realpath, rename, rm } from "node:fs/promises";
303301
- import { basename as basename8, dirname as dirname9, isAbsolute as isAbsolute7, join as join16, resolve as resolve11 } from "node:path";
303330
+ import { chmod, cp, lstat as lstat2, mkdir, readdir as readdir2, realpath, rename, rm as rm2 } from "node:fs/promises";
303331
+ import { basename as basename8, dirname as dirname9, isAbsolute as isAbsolute7, join as join17, resolve as resolve11 } from "node:path";
303302
303332
  var NpmInstallBusyError = class extends Error {
303303
303333
  code = "NPM_INSTALL_BUSY";
303304
303334
  constructor(message = "Another installer owns this npm modules directory. Wait for it to settle before retrying.") {
@@ -303324,7 +303354,7 @@ function parseNpmRenameCollision(diagnostic) {
303324
303354
  }
303325
303355
  function retiredNpmPackagePath(packagePath) {
303326
303356
  const suffix = createHash2("sha1").update(packagePath).digest("base64").replace(/[^a-zA-Z0-9]/g, "").slice(0, 8);
303327
- return join16(dirname9(packagePath), `.${basename8(packagePath)}-${suffix}`);
303357
+ return join17(dirname9(packagePath), `.${basename8(packagePath)}-${suffix}`);
303328
303358
  }
303329
303359
  function assertNotCancelled(signal) {
303330
303360
  signal?.throwIfAborted();
@@ -303340,7 +303370,7 @@ function assertOwnedDirectory(metadata, label) {
303340
303370
  async function recoverNpmRetirementCollision(collision, modulesRoot, options = {}) {
303341
303371
  assertNotCancelled(options.signal);
303342
303372
  if (collision.code !== "ENOTEMPTY" && collision.code !== "EEXIST" || collision.syscall !== "rename" || !isAbsolute7(modulesRoot) || /[\x00-\x1f\x7f]/.test(modulesRoot + collision.path + collision.dest)) return null;
303343
- const root = resolve11(modulesRoot), source = join16(root, "omnius"), retired = retiredNpmPackagePath(source);
303373
+ const root = resolve11(modulesRoot), source = join17(root, "omnius"), retired = retiredNpmPackagePath(source);
303344
303374
  if (collision.path !== source || collision.dest !== retired || dirname9(retired) !== root) return null;
303345
303375
  return prepareNpmRetirementSlot(root, options);
303346
303376
  }
@@ -303352,30 +303382,30 @@ async function prepareNpmRetirementSlot(modulesRoot, options = {}) {
303352
303382
  };
303353
303383
  current();
303354
303384
  if (!isAbsolute7(modulesRoot) || /[\x00-\x1f\x7f]/.test(modulesRoot)) throw new Error("npm modules root must be an absolute directory path.");
303355
- const root = resolve11(modulesRoot), retired = retiredNpmPackagePath(join16(root, "omnius"));
303356
- const rootBefore = await lstat(root);
303385
+ const root = resolve11(modulesRoot), retired = retiredNpmPackagePath(join17(root, "omnius"));
303386
+ const rootBefore = await lstat2(root);
303357
303387
  assertOwnedDirectory(rootBefore, "global modules root");
303358
303388
  const canonicalRoot = await realpath(root);
303359
303389
  let before;
303360
303390
  try {
303361
- before = await lstat(retired);
303391
+ before = await lstat2(retired);
303362
303392
  } catch (error) {
303363
303393
  if (error.code === "ENOENT") return null;
303364
303394
  throw error;
303365
303395
  }
303366
303396
  assertOwnedDirectory(before, "retired package");
303367
- const backup = join16(root, `.omnius-update-recovery-${randomUUID2()}`);
303397
+ const backup = join17(root, `.omnius-update-recovery-${randomUUID2()}`);
303368
303398
  const receipt = { modulesRoot: root, retiredPath: retired, backupPath: backup, device: before.dev, inode: before.ino };
303369
303399
  current();
303370
303400
  await options.onPrepare?.({ ...receipt });
303371
303401
  current();
303372
303402
  try {
303373
- await lstat(backup);
303403
+ await lstat2(backup);
303374
303404
  throw new Error("The planned npm retirement backup is already occupied; no directory was moved.");
303375
303405
  } catch (error) {
303376
303406
  if (error.code !== "ENOENT") throw error;
303377
303407
  }
303378
- const [rootNow, candidateNow] = await Promise.all([lstat(root), lstat(retired)]);
303408
+ const [rootNow, candidateNow] = await Promise.all([lstat2(root), lstat2(retired)]);
303379
303409
  if (!sameIdentity(rootBefore, rootNow) || !sameIdentity(before, candidateNow) || await realpath(root) !== canonicalRoot) throw new Error("npm retirement directory changed before recovery; no cleanup was attempted.");
303380
303410
  assertOwnedDirectory(rootNow, "global modules root");
303381
303411
  assertOwnedDirectory(candidateNow, "retired package");
@@ -303481,12 +303511,12 @@ function provedAbsent(owner) {
303481
303511
  async function acquireNpmInstallLease(modulesRoot, options = {}) {
303482
303512
  assertNotCancelled(options.signal);
303483
303513
  if (!isAbsolute7(modulesRoot) || /[\x00-\x1f\x7f]/.test(modulesRoot) || options.operationId !== void 0 && !/^[a-zA-Z0-9_-]{1,128}$/.test(options.operationId)) throw new Error("Invalid npm install scope.");
303484
- const logical = resolve11(modulesRoot), logicalMetadata = await lstat(logical);
303514
+ const logical = resolve11(modulesRoot), logicalMetadata = await lstat2(logical);
303485
303515
  assertOwnedDirectory(logicalMetadata, "global modules root");
303486
- const root = await realpath(logical), rootMetadata = await lstat(root);
303516
+ const root = await realpath(logical), rootMetadata = await lstat2(root);
303487
303517
  assertOwnedDirectory(rootMetadata, "global modules root");
303488
303518
  if (!sameIdentity(logicalMetadata, rootMetadata)) throw new Error("npm modules root changed before installer admission.");
303489
- const lockPath = join16(root, ".omnius-install.lock"), guardPath = lockPath + ".guard", nonce = randomUUID2();
303519
+ const lockPath = join17(root, ".omnius-install.lock"), guardPath = lockPath + ".guard", nonce = randomUUID2();
303490
303520
  const assertRoot = () => {
303491
303521
  const current = lstatSync(root);
303492
303522
  assertOwnedDirectory(current, "global modules root");
@@ -303628,21 +303658,21 @@ function inspectRuntimeDirectory(canonical, root) {
303628
303658
  const before = lstatSync(canonical);
303629
303659
  assertOwnedDirectory(lstatSync(root), "global modules root");
303630
303660
  assertOwnedDirectory(before, "Omnius package");
303631
- assertOwnedDirectory(lstatSync(join16(canonical, "dist")), "Omnius runtime");
303661
+ assertOwnedDirectory(lstatSync(join17(canonical, "dist")), "Omnius runtime");
303632
303662
  const files = {};
303633
- for (const file of REQUIRED_OMNIUS_RUNTIME_FILES) files[file] = hashOwnedFile(join16(canonical, file));
303634
- const manifest = JSON.parse(readFileSync7(join16(canonical, "package.json"), "utf8"));
303663
+ for (const file of REQUIRED_OMNIUS_RUNTIME_FILES) files[file] = hashOwnedFile(join17(canonical, file));
303664
+ const manifest = JSON.parse(readFileSync7(join17(canonical, "package.json"), "utf8"));
303635
303665
  if (manifest.name !== "omnius" || typeof manifest.version !== "string" || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(manifest.version))
303636
303666
  throw new Error("Omnius runtime manifest is invalid.");
303637
303667
  const binTarget = typeof manifest.bin === "string" ? manifest.bin : manifest.bin?.omnius;
303638
303668
  if (typeof binTarget !== "string" || !/^[A-Za-z0-9_./-]+$/.test(binTarget) || isAbsolute7(binTarget) || binTarget.split("/").some((part) => !part || part === ".." || part === "."))
303639
303669
  throw new Error("Omnius runtime manifest has no safe declared omnius executable.");
303640
- for (const directory of binTarget.split("/").slice(0, -1).reduce((paths, part) => [...paths, join16(paths.at(-1) ?? canonical, part)], []))
303670
+ for (const directory of binTarget.split("/").slice(0, -1).reduce((paths, part) => [...paths, join17(paths.at(-1) ?? canonical, part)], []))
303641
303671
  assertOwnedDirectory(lstatSync(directory), "Omnius executable directory");
303642
- files[binTarget] ??= hashOwnedFile(join16(canonical, binTarget));
303643
- if (!readFileSync7(join16(canonical, "dist/update-worker.js"), "utf8").includes("omnius.update-worker-bootstrap.v2"))
303672
+ files[binTarget] ??= hashOwnedFile(join17(canonical, binTarget));
303673
+ if (!readFileSync7(join17(canonical, "dist/update-worker.js"), "utf8").includes("omnius.update-worker-bootstrap.v2"))
303644
303674
  throw new Error("Omnius runtime has no compatible update worker bootstrap.");
303645
- if (hashOwnedFile(join16(canonical, "package.json")) !== files["package.json"] || !sameIdentity(before, lstatSync(canonical)))
303675
+ if (hashOwnedFile(join17(canonical, "package.json")) !== files["package.json"] || !sameIdentity(before, lstatSync(canonical)))
303646
303676
  throw new Error("Omnius package changed during runtime verification.");
303647
303677
  return {
303648
303678
  modulesRoot: root,
@@ -303656,7 +303686,7 @@ function inspectRuntimeDirectory(canonical, root) {
303656
303686
  };
303657
303687
  }
303658
303688
  async function preserveVerifiedNpmInstallation(snapshot, options) {
303659
- const root = resolve11(snapshot.modulesRoot), source = join16(root, "omnius");
303689
+ const root = resolve11(snapshot.modulesRoot), source = join17(root, "omnius");
303660
303690
  const current = () => {
303661
303691
  options.lease.assertOwnedForRecovery();
303662
303692
  options.assertOwned();
@@ -303666,18 +303696,18 @@ async function preserveVerifiedNpmInstallation(snapshot, options) {
303666
303696
  if (root !== options.lease.modulesRoot) throw new Error("Package preservation belongs to a different npm lease.");
303667
303697
  const before = inspectNpmRuntimeInstallation(source);
303668
303698
  if (before.device !== snapshot.device || before.inode !== snapshot.inode || before.packageHash !== snapshot.packageHash || JSON.stringify(before.files) !== JSON.stringify(snapshot.files)) throw new Error("Prior runtime changed before preservation.");
303669
- const backupPath = join16(root, `.omnius-update-recovery-${randomUUID2()}`);
303699
+ const backupPath = join17(root, `.omnius-update-recovery-${randomUUID2()}`);
303670
303700
  await mkdir(backupPath, { mode: 448 });
303671
- const metadata = await lstat(backupPath);
303701
+ const metadata = await lstat2(backupPath);
303672
303702
  const backup = { modulesRoot: root, retiredPath: retiredNpmPackagePath(source), backupPath, device: metadata.dev, inode: metadata.ino };
303673
303703
  await options.onPrepare?.({ ...backup });
303674
303704
  assertNotCancelled(options.signal);
303675
303705
  current();
303676
- for (const name of await readdir(source)) {
303706
+ for (const name of await readdir2(source)) {
303677
303707
  assertNotCancelled(options.signal);
303678
303708
  current();
303679
- if (!sameIdentity(metadata, await lstat(backupPath))) throw new Error("Package preservation directory changed during copying.");
303680
- await cp(join16(source, name), join16(backupPath, name), {
303709
+ if (!sameIdentity(metadata, await lstat2(backupPath))) throw new Error("Package preservation directory changed during copying.");
303710
+ await cp(join17(source, name), join17(backupPath, name), {
303681
303711
  recursive: true,
303682
303712
  errorOnExist: true,
303683
303713
  force: false,
@@ -303703,14 +303733,14 @@ async function preserveVerifiedNpmInstallation(snapshot, options) {
303703
303733
  return { backup, installation };
303704
303734
  }
303705
303735
  async function restoreVerifiedNpmInstallation(snapshot, options) {
303706
- const root = resolve11(snapshot.modulesRoot), canonical = join16(root, "omnius");
303736
+ const root = resolve11(snapshot.modulesRoot), canonical = join17(root, "omnius");
303707
303737
  const current = () => {
303708
303738
  options.lease.assertOwnedForRecovery();
303709
303739
  options.assertOwned();
303710
303740
  };
303711
303741
  current();
303712
303742
  if (root !== options.lease.modulesRoot || !isAbsolute7(snapshot.modulesRoot)) throw new Error("Package recovery belongs to a different npm lease.");
303713
- const rootBefore = await lstat(root);
303743
+ const rootBefore = await lstat2(root);
303714
303744
  assertOwnedDirectory(rootBefore, "global modules root");
303715
303745
  const validPath = (path3) => path3 === canonical || path3 === retiredNpmPackagePath(canonical) || options.backups?.some((backup) => backup.modulesRoot === root && backup.backupPath === path3 && dirname9(path3) === root && /^\.omnius-update-recovery-[a-f0-9-]{36}$/.test(basename8(path3)));
303716
303746
  const matches = (path3) => {
@@ -303724,11 +303754,11 @@ async function restoreVerifiedNpmInstallation(snapshot, options) {
303724
303754
  }
303725
303755
  if (metadata.dev !== snapshot.device || metadata.ino !== snapshot.inode) return false;
303726
303756
  assertOwnedDirectory(metadata, "prior Omnius package");
303727
- assertOwnedDirectory(lstatSync(join16(path3, "dist")), "prior Omnius runtime");
303757
+ assertOwnedDirectory(lstatSync(join17(path3, "dist")), "prior Omnius runtime");
303728
303758
  for (const [file, digest] of Object.entries(snapshot.files)) {
303729
- if (!/^[A-Za-z0-9_./-]+$/.test(file) || isAbsolute7(file) || file.split("/").some((part) => !part || part === "." || part === "..") || hashOwnedFile(join16(path3, file)) !== digest) throw new Error("Prior Omnius runtime changed; restoration was held.");
303759
+ if (!/^[A-Za-z0-9_./-]+$/.test(file) || isAbsolute7(file) || file.split("/").some((part) => !part || part === "." || part === "..") || hashOwnedFile(join17(path3, file)) !== digest) throw new Error("Prior Omnius runtime changed; restoration was held.");
303730
303760
  }
303731
- for (const directory of snapshot.binTarget.split("/").slice(0, -1).reduce((paths, part) => [...paths, join16(paths.at(-1) ?? path3, part)], []))
303761
+ for (const directory of snapshot.binTarget.split("/").slice(0, -1).reduce((paths, part) => [...paths, join17(paths.at(-1) ?? path3, part)], []))
303732
303762
  assertOwnedDirectory(lstatSync(directory), "prior Omnius executable directory");
303733
303763
  return true;
303734
303764
  };
@@ -303744,20 +303774,20 @@ async function restoreVerifiedNpmInstallation(snapshot, options) {
303744
303774
  if (source === canonical) return recovery;
303745
303775
  let partial;
303746
303776
  try {
303747
- partial = await lstat(canonical);
303777
+ partial = await lstat2(canonical);
303748
303778
  assertOwnedDirectory(partial, "failed Omnius replacement");
303749
303779
  } catch (error) {
303750
303780
  if (error.code !== "ENOENT") throw error;
303751
303781
  }
303752
- if (partial) recovery.partialPath = join16(root, `.omnius-update-recovery-${randomUUID2()}`);
303782
+ if (partial) recovery.partialPath = join17(root, `.omnius-update-recovery-${randomUUID2()}`);
303753
303783
  await options.onPrepare?.({ ...recovery });
303754
303784
  current();
303755
- if (!sameIdentity(rootBefore, await lstat(root)) || !matches(source)) throw new Error("npm recovery identity changed before restoration.");
303785
+ if (!sameIdentity(rootBefore, await lstat2(root)) || !matches(source)) throw new Error("npm recovery identity changed before restoration.");
303756
303786
  if (partial) {
303757
- const now = await lstat(canonical);
303787
+ const now = await lstat2(canonical);
303758
303788
  if (!sameIdentity(partial, now)) throw new Error("Failed Omnius replacement changed before preservation.");
303759
303789
  try {
303760
- await lstat(recovery.partialPath);
303790
+ await lstat2(recovery.partialPath);
303761
303791
  throw new Error("Failed-package preservation path is already occupied.");
303762
303792
  } catch (error) {
303763
303793
  if (error.code !== "ENOENT") throw error;
@@ -303767,7 +303797,7 @@ async function restoreVerifiedNpmInstallation(snapshot, options) {
303767
303797
  }
303768
303798
  current();
303769
303799
  try {
303770
- await lstat(canonical);
303800
+ await lstat2(canonical);
303771
303801
  throw new Error("Canonical Omnius path changed before restoration.");
303772
303802
  } catch (error) {
303773
303803
  if (error.code !== "ENOENT") throw error;
@@ -303790,17 +303820,17 @@ async function restoreVerifiedNpmInstallation(snapshot, options) {
303790
303820
  }
303791
303821
  async function removeVerifiedNpmRetirementBackup(backup) {
303792
303822
  const root = resolve11(backup.modulesRoot);
303793
- if (!isAbsolute7(backup.modulesRoot) || dirname9(backup.backupPath) !== root || !/^\.omnius-update-recovery-[a-f0-9-]{36}$/.test(basename8(backup.backupPath)) || backup.retiredPath !== retiredNpmPackagePath(join16(root, "omnius"))) {
303823
+ if (!isAbsolute7(backup.modulesRoot) || dirname9(backup.backupPath) !== root || !/^\.omnius-update-recovery-[a-f0-9-]{36}$/.test(basename8(backup.backupPath)) || backup.retiredPath !== retiredNpmPackagePath(join17(root, "omnius"))) {
303794
303824
  throw new Error("Refusing cleanup outside the preserved npm retirement directory.");
303795
303825
  }
303796
- const rootMetadata = await lstat(root);
303826
+ const rootMetadata = await lstat2(root);
303797
303827
  assertOwnedDirectory(rootMetadata, "global modules root");
303798
- const metadata = await lstat(backup.backupPath);
303828
+ const metadata = await lstat2(backup.backupPath);
303799
303829
  assertOwnedDirectory(metadata, "preserved retirement directory");
303800
303830
  if (metadata.dev !== backup.device || metadata.ino !== backup.inode) {
303801
303831
  throw new Error("Preserved npm retirement directory identity changed; its contents were retained.");
303802
303832
  }
303803
- await rm(backup.backupPath, { recursive: true });
303833
+ await rm2(backup.backupPath, { recursive: true });
303804
303834
  }
303805
303835
 
303806
303836
  // packages/cli/src/update-service.ts
@@ -303814,7 +303844,7 @@ var UpdateOwnershipBusyError = class extends Error {
303814
303844
  };
303815
303845
  function cancellationPath(operationId, paths) {
303816
303846
  if (!/^[a-zA-Z0-9_-]{1,128}$/.test(operationId)) throw new Error("Invalid update operation identity");
303817
- return join17(paths.stateDir, `cancel-${operationId}.json`);
303847
+ return join18(paths.stateDir, `cancel-${operationId}.json`);
303818
303848
  }
303819
303849
  function watchUpdateCancellation(operationId, paths = resolveUpdatePaths()) {
303820
303850
  const controller = new AbortController();
@@ -303842,16 +303872,16 @@ function watchUpdateCancellation(operationId, paths = resolveUpdatePaths()) {
303842
303872
  } };
303843
303873
  }
303844
303874
  function resolveUpdatePaths(env = process.env, platform2 = process.platform, home = homedir16()) {
303845
- const stateBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join17(home, "AppData", "Local") : platform2 === "darwin" ? join17(home, "Library", "Application Support") : env["XDG_STATE_HOME"] || join17(home, ".local", "state");
303846
- const cacheBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join17(home, "AppData", "Local") : platform2 === "darwin" ? join17(home, "Library", "Caches") : env["XDG_CACHE_HOME"] || join17(home, ".cache");
303847
- const stateDir = join17(stateBase, platform2 === "win32" ? "Omnius" : "omnius", "update");
303848
- const cacheDir = join17(cacheBase, platform2 === "win32" ? "Omnius" : "omnius", "npm-update");
303875
+ const stateBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join18(home, "AppData", "Local") : platform2 === "darwin" ? join18(home, "Library", "Application Support") : env["XDG_STATE_HOME"] || join18(home, ".local", "state");
303876
+ const cacheBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join18(home, "AppData", "Local") : platform2 === "darwin" ? join18(home, "Library", "Caches") : env["XDG_CACHE_HOME"] || join18(home, ".cache");
303877
+ const stateDir = join18(stateBase, platform2 === "win32" ? "Omnius" : "omnius", "update");
303878
+ const cacheDir = join18(cacheBase, platform2 === "win32" ? "Omnius" : "omnius", "npm-update");
303849
303879
  return {
303850
303880
  stateDir,
303851
303881
  cacheDir,
303852
- stateFile: join17(stateDir, "state.json"),
303853
- lockFile: join17(stateDir, "update.lock"),
303854
- logFile: join17(stateDir, "update.log")
303882
+ stateFile: join18(stateDir, "state.json"),
303883
+ lockFile: join18(stateDir, "update.lock"),
303884
+ logFile: join18(stateDir, "update.log")
303855
303885
  };
303856
303886
  }
303857
303887
  function ensurePrivateDirectories(paths) {
@@ -304032,7 +304062,7 @@ function assertExactUpdateTarget(targetVersion, fromVersion) {
304032
304062
  }
304033
304063
  function npmCandidates(execPath = process.execPath) {
304034
304064
  const nodeDir = dirname10(execPath);
304035
- return process.platform === "win32" ? [join17(nodeDir, "npm.cmd"), join17(nodeDir, "npm.exe"), "npm.cmd", "npm"] : [join17(nodeDir, "npm"), "/usr/local/bin/npm", "/usr/bin/npm", "npm"];
304065
+ return process.platform === "win32" ? [join18(nodeDir, "npm.cmd"), join18(nodeDir, "npm.exe"), "npm.cmd", "npm"] : [join18(nodeDir, "npm"), "/usr/local/bin/npm", "/usr/bin/npm", "npm"];
304036
304066
  }
304037
304067
  function runnableCommand(candidate) {
304038
304068
  return candidate.includes("/") || candidate.includes("\\") ? existsSync7(candidate) : true;
@@ -304160,10 +304190,10 @@ async function runUpdateCommand(command, args, options = {}) {
304160
304190
  }
304161
304191
  var runCommand = runUpdateCommand;
304162
304192
  function globalPackageCandidates(prefix) {
304163
- return process.platform === "win32" ? [join17(prefix, "node_modules", "omnius", "package.json"), join17(prefix, "omnius", "package.json")] : [join17(prefix, "lib", "node_modules", "omnius", "package.json"), join17(prefix, "node_modules", "omnius", "package.json")];
304193
+ return process.platform === "win32" ? [join18(prefix, "node_modules", "omnius", "package.json"), join18(prefix, "omnius", "package.json")] : [join18(prefix, "lib", "node_modules", "omnius", "package.json"), join18(prefix, "node_modules", "omnius", "package.json")];
304164
304194
  }
304165
304195
  function globalExecutableCandidates(prefix) {
304166
- return process.platform === "win32" ? [join17(prefix, "omnius.cmd"), join17(prefix, "omnius.exe"), join17(prefix, "bin", "omnius.cmd")] : [join17(prefix, "bin", "omnius")];
304196
+ return process.platform === "win32" ? [join18(prefix, "omnius.cmd"), join18(prefix, "omnius.exe"), join18(prefix, "bin", "omnius.cmd")] : [join18(prefix, "bin", "omnius")];
304167
304197
  }
304168
304198
  async function inspectGlobalOmniusInstall(expectedVersion, options = {}) {
304169
304199
  const npmPath = options.npmPath ?? resolveNpmPath();
@@ -304255,7 +304285,7 @@ async function installGlobalPackageStreaming(input) {
304255
304285
  }
304256
304286
  function restoreOmniusExecutableLink(prefix, installation) {
304257
304287
  const executable = globalExecutableCandidates(prefix)[0];
304258
- const target = join17(installation.modulesRoot, "omnius", installation.binTarget);
304288
+ const target = join18(installation.modulesRoot, "omnius", installation.binTarget);
304259
304289
  if (process.platform === "win32") {
304260
304290
  if (!existsSync7(executable)) throw new Error("The restored Omnius Windows executable shim is missing.");
304261
304291
  return;
@@ -304362,14 +304392,19 @@ async function runVerifiedUpdateTransaction(initial, dependencies, paths = resol
304362
304392
  const rootProbe = await runCommand(npmPath, ["root", "-g"], { env, cwd, timeout: 1e4, signal: dependencies.signal });
304363
304393
  throwIfCancelled();
304364
304394
  const npmRoot = rootProbe.stdout.trim();
304365
- const expectedRoot = process.platform === "win32" ? join17(npmPrefix, "node_modules") : join17(npmPrefix, "lib", "node_modules");
304395
+ const expectedRoot = process.platform === "win32" ? join18(npmPrefix, "node_modules") : join18(npmPrefix, "lib", "node_modules");
304366
304396
  if (rootProbe.status !== 0 || !isAbsolute8(npmRoot) || resolve12(npmRoot) !== resolve12(expectedRoot)) throw new Error("Could not verify the selected npm global modules directory; no package was changed.");
304367
304397
  state = await transition(state, { npm_path: npmPath, npm_prefix: npmPrefix, npm_modules_root: npmRoot }, paths);
304368
304398
  installLease = await acquireNpmInstallLease(npmRoot, { signal: dependencies.signal, operationId: state.operation_id });
304369
304399
  state = await transition(state, { npm_modules_root: installLease.modulesRoot }, paths);
304370
304400
  assertOwned();
304371
304401
  try {
304372
- previousInstallation = inspectNpmRuntimeInstallation(join17(installLease.modulesRoot, "omnius"));
304402
+ await pruneStaleUpdateRecoveries(installLease.modulesRoot);
304403
+ } catch (error) {
304404
+ state = await transition(state, { npm_cleanup_warning: error instanceof Error ? error.message : String(error) }, paths);
304405
+ }
304406
+ try {
304407
+ previousInstallation = inspectNpmRuntimeInstallation(join18(installLease.modulesRoot, "omnius"));
304373
304408
  } catch {
304374
304409
  }
304375
304410
  await preserveRetirement("before_install");
@@ -304698,13 +304733,13 @@ import {
304698
304733
  writeSync as writeSync3
304699
304734
  } from "node:fs";
304700
304735
  import { homedir as homedir18, tmpdir as tmpdir6 } from "node:os";
304701
- import { basename as basename9, delimiter, dirname as dirname11, join as join20 } from "node:path";
304736
+ import { basename as basename9, delimiter, dirname as dirname11, join as join21 } from "node:path";
304702
304737
 
304703
304738
  // packages/cli/src/config-home.ts
304704
304739
  import { homedir as homedir17 } from "node:os";
304705
- import { join as join18 } from "node:path";
304740
+ import { join as join19 } from "node:path";
304706
304741
  function omniusConfigDir(...parts) {
304707
- return join18(
304742
+ return join19(
304708
304743
  process.env["OMNIUS_CONFIG_HOME"] ?? homedir17(),
304709
304744
  ".omnius",
304710
304745
  ...parts
@@ -304736,10 +304771,10 @@ var run = promisify4(execFile4);
304736
304771
  init_daemon();
304737
304772
 
304738
304773
  // packages/cli/src/updater.ts
304739
- import { join as join19 } from "node:path";
304774
+ import { join as join20 } from "node:path";
304740
304775
  var UPDATE_CHECK_INTERVAL_MS = 60 * 1e3;
304741
304776
  var CACHE_DIR = resolveUpdatePaths().stateDir;
304742
- var CACHE_FILE = join19(CACHE_DIR, "registry-check.json");
304777
+ var CACHE_FILE = join20(CACHE_DIR, "registry-check.json");
304743
304778
 
304744
304779
  // packages/backend-vllm/dist/providerRegistry.js
304745
304780
  var CHAT_CAPABILITIES = [
@@ -305403,19 +305438,19 @@ function uidSuffix() {
305403
305438
  return typeof process.getuid === "function" ? String(process.getuid()) : "user";
305404
305439
  }
305405
305440
  function resolveTrayPaths(env = process.env, platform2 = process.platform, home = homedir18()) {
305406
- const runtimeBase = env["XDG_RUNTIME_DIR"] || join20(tmpdir6(), `omnius-${uidSuffix()}`);
305407
- const stateBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join20(home, "AppData", "Local") : env["XDG_STATE_HOME"] || join20(home, ".local", "state");
305408
- const configBase = platform2 === "win32" ? env["APPDATA"] || join20(home, "AppData", "Roaming") : env["XDG_CONFIG_HOME"] || join20(home, ".config");
305409
- const runtimeDir = join20(runtimeBase, "omnius");
305410
- const stateDir = platform2 === "win32" ? join20(stateBase, "Omnius") : join20(stateBase, "omnius");
305411
- const autostartFile = platform2 === "darwin" ? join20(home, "Library", "LaunchAgents", "ai.omnius.tray.plist") : platform2 === "win32" ? join20(configBase, "Microsoft", "Windows", "Start Menu", "Programs", "Startup", "omnius-tray.cmd") : join20(configBase, "autostart", "omnius-tray.desktop");
305441
+ const runtimeBase = env["XDG_RUNTIME_DIR"] || join21(tmpdir6(), `omnius-${uidSuffix()}`);
305442
+ const stateBase = platform2 === "win32" ? env["LOCALAPPDATA"] || join21(home, "AppData", "Local") : env["XDG_STATE_HOME"] || join21(home, ".local", "state");
305443
+ const configBase = platform2 === "win32" ? env["APPDATA"] || join21(home, "AppData", "Roaming") : env["XDG_CONFIG_HOME"] || join21(home, ".config");
305444
+ const runtimeDir = join21(runtimeBase, "omnius");
305445
+ const stateDir = platform2 === "win32" ? join21(stateBase, "Omnius") : join21(stateBase, "omnius");
305446
+ const autostartFile = platform2 === "darwin" ? join21(home, "Library", "LaunchAgents", "ai.omnius.tray.plist") : platform2 === "win32" ? join21(configBase, "Microsoft", "Windows", "Start Menu", "Programs", "Startup", "omnius-tray.cmd") : join21(configBase, "autostart", "omnius-tray.desktop");
305412
305447
  return {
305413
305448
  runtimeDir,
305414
305449
  stateDir,
305415
- pidFile: join20(runtimeDir, "tray.pid"),
305416
- stateFile: join20(runtimeDir, "tray-state.json"),
305417
- stdoutLog: join20(stateDir, "tray.log"),
305418
- stderrLog: join20(stateDir, "tray.err.log"),
305450
+ pidFile: join21(runtimeDir, "tray.pid"),
305451
+ stateFile: join21(runtimeDir, "tray-state.json"),
305452
+ stdoutLog: join21(stateDir, "tray.log"),
305453
+ stderrLog: join21(stateDir, "tray.err.log"),
305419
305454
  autostartFile
305420
305455
  };
305421
305456
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.900",
3
+ "version": "1.0.901",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.900",
9
+ "version": "1.0.901",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
@@ -4025,9 +4025,9 @@
4025
4025
  }
4026
4026
  },
4027
4027
  "node_modules/@node-datachannel/android-arm64": {
4028
- "version": "0.33.4",
4029
- "resolved": "https://registry.npmjs.org/@node-datachannel/android-arm64/-/android-arm64-0.33.4.tgz",
4030
- "integrity": "sha512-Kd1K+drJlxdGmZYBlzh5HHX2E7les99eTWlt7WldZgvJmcGf2z9L/bnUVn4zbhNm2q/MtNZ2tPX2bd+fGlDDpQ==",
4028
+ "version": "0.33.5",
4029
+ "resolved": "https://registry.npmjs.org/@node-datachannel/android-arm64/-/android-arm64-0.33.5.tgz",
4030
+ "integrity": "sha512-OXD8JRmOUaxvfxJNN8skGrKudZefOishYGvf7hCxhw3kGVqHAE38U6js4dzngscz5WV7+Thk7u5a1EnimvB56g==",
4031
4031
  "cpu": [
4032
4032
  "arm64"
4033
4033
  ],
@@ -4038,9 +4038,9 @@
4038
4038
  ]
4039
4039
  },
4040
4040
  "node_modules/@node-datachannel/darwin-arm64": {
4041
- "version": "0.33.4",
4042
- "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-arm64/-/darwin-arm64-0.33.4.tgz",
4043
- "integrity": "sha512-bkIA+IbModz/NUmbVYTSWj8dZvkiab+cU4zOa6rhfKsNcW3EkdD2/DDoJjUrRrw+LbEZ40V7NuAKUlMNFDXFsw==",
4041
+ "version": "0.33.5",
4042
+ "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-arm64/-/darwin-arm64-0.33.5.tgz",
4043
+ "integrity": "sha512-ACIT9BEQtVwa54iwnDkGjbckW/q/gkwBitbwut4O6RC4LgQYxKApfJDvnnNypn1UP3xWbgrKo488hINvCfX5qw==",
4044
4044
  "cpu": [
4045
4045
  "arm64"
4046
4046
  ],
@@ -4051,9 +4051,9 @@
4051
4051
  ]
4052
4052
  },
4053
4053
  "node_modules/@node-datachannel/darwin-x64": {
4054
- "version": "0.33.4",
4055
- "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-x64/-/darwin-x64-0.33.4.tgz",
4056
- "integrity": "sha512-+dLnwiwC3GdWqW0OQShZcSFYrx3hRx0+7U85swoiP3iiRqtDUARME6AIAmW3glpP0vmus1jv5KhPCy/Q+jAvqw==",
4054
+ "version": "0.33.5",
4055
+ "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-x64/-/darwin-x64-0.33.5.tgz",
4056
+ "integrity": "sha512-UjxKpp64KA7Bh5A4eEunAtxz7MaFcn2vMlFyVACOcnGC0uJB+g6GAVXOLNtt9OwmGbgjoLJgP0PBclqaokK/qg==",
4057
4057
  "cpu": [
4058
4058
  "x64"
4059
4059
  ],
@@ -4064,9 +4064,9 @@
4064
4064
  ]
4065
4065
  },
4066
4066
  "node_modules/@node-datachannel/linux-arm64-gnu": {
4067
- "version": "0.33.4",
4068
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-gnu/-/linux-arm64-gnu-0.33.4.tgz",
4069
- "integrity": "sha512-rR4yjwxpI1miLSrruLGcfR9yfw0Qebw+Twt+u+lKsL9SwmXxTm5pJhUAa9RU+c35oZ98IyAxGFjRwwq85BTbog==",
4067
+ "version": "0.33.5",
4068
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-gnu/-/linux-arm64-gnu-0.33.5.tgz",
4069
+ "integrity": "sha512-YLZfsKHJ1JzYKXptkPE+QCSO/xQoyGGQy/cthmkMWtNJ5ozjoP0x0Pch2Hw3tZZFbv3b/HdDKTNnvkmNhowZ7g==",
4070
4070
  "cpu": [
4071
4071
  "arm64"
4072
4072
  ],
@@ -4077,9 +4077,9 @@
4077
4077
  ]
4078
4078
  },
4079
4079
  "node_modules/@node-datachannel/linux-arm64-musl": {
4080
- "version": "0.33.4",
4081
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-musl/-/linux-arm64-musl-0.33.4.tgz",
4082
- "integrity": "sha512-MR4o1F0aREj/AtbNlXL20YiNx8/pDI8L/5B4Vr9ldiEDottD0IOdCd0khB8fpr5Np2CW7WwU9QG+uto00QGVdw==",
4080
+ "version": "0.33.5",
4081
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-musl/-/linux-arm64-musl-0.33.5.tgz",
4082
+ "integrity": "sha512-8wQ6EZJIfiKafCeAqOyMEmKS2CL3xTrM6F7wlIr74XdUsIqOhtVGL+QwCd1RpeyaiIyTADQU0NUjMluHWZDutg==",
4083
4083
  "cpu": [
4084
4084
  "arm64"
4085
4085
  ],
@@ -4090,9 +4090,9 @@
4090
4090
  ]
4091
4091
  },
4092
4092
  "node_modules/@node-datachannel/linux-x64-gnu": {
4093
- "version": "0.33.4",
4094
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-gnu/-/linux-x64-gnu-0.33.4.tgz",
4095
- "integrity": "sha512-xN0x3lcQ87qwOAmf1dBLVWrYY40LQ7pM4Y9wuNjP+EtN4IwiXqrhPdgupzGAElxna+n2NgBG0gT60dZpgoYU2Q==",
4093
+ "version": "0.33.5",
4094
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-gnu/-/linux-x64-gnu-0.33.5.tgz",
4095
+ "integrity": "sha512-CMoHDhirrXZkQzozvbJB2NQRWoPHuYHxJgVj0zkjZISAQVXhypAZBvtDv6DUNRaJJpPzYEL4B4aqjdCT6WtVtQ==",
4096
4096
  "cpu": [
4097
4097
  "x64"
4098
4098
  ],
@@ -4103,9 +4103,9 @@
4103
4103
  ]
4104
4104
  },
4105
4105
  "node_modules/@node-datachannel/linux-x64-musl": {
4106
- "version": "0.33.4",
4107
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-musl/-/linux-x64-musl-0.33.4.tgz",
4108
- "integrity": "sha512-FWqJEjL7TqOPmsqdfwmG/BUwOXQN7MfpEU8kzw6ePbglUbwgdc3976Ls9BCBUXyPgEJyLo8YE1LJyWAlbXWyvA==",
4106
+ "version": "0.33.5",
4107
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-musl/-/linux-x64-musl-0.33.5.tgz",
4108
+ "integrity": "sha512-45BRlZqPS6P87RdZJnVfc3YpXw8BfNfpsb8/3yaKLZcpmFn6/mwGR+0vbfHuPeHrplpf3axnBS+DYxWEWJeuLQ==",
4109
4109
  "cpu": [
4110
4110
  "x64"
4111
4111
  ],
@@ -4116,9 +4116,9 @@
4116
4116
  ]
4117
4117
  },
4118
4118
  "node_modules/@node-datachannel/win32-arm64-msvc": {
4119
- "version": "0.33.4",
4120
- "resolved": "https://registry.npmjs.org/@node-datachannel/win32-arm64-msvc/-/win32-arm64-msvc-0.33.4.tgz",
4121
- "integrity": "sha512-TeDV2tSPm+qAnF6MIPlLFTIlobSYLwOVe3/wQl+8hD/q3cEPTQi7vByFaQQ5lRULKKdnjKRR5iDMsxMilqbtXA==",
4119
+ "version": "0.33.5",
4120
+ "resolved": "https://registry.npmjs.org/@node-datachannel/win32-arm64-msvc/-/win32-arm64-msvc-0.33.5.tgz",
4121
+ "integrity": "sha512-oYy4XDNwL0adn7K8m8r4PUwBJ7VmpdzuTe8RLSzhEJY7leF/Ni2wJ2FibZUQs+nbo/8R6oxvelpuGr+T030LVA==",
4122
4122
  "cpu": [
4123
4123
  "arm64"
4124
4124
  ],
@@ -4129,9 +4129,9 @@
4129
4129
  ]
4130
4130
  },
4131
4131
  "node_modules/@node-datachannel/win32-x64-msvc": {
4132
- "version": "0.33.4",
4133
- "resolved": "https://registry.npmjs.org/@node-datachannel/win32-x64-msvc/-/win32-x64-msvc-0.33.4.tgz",
4134
- "integrity": "sha512-eU0w/9ykrNaA5vWs5gjVs3Qxa45jbQ8mYoMyh5OWnRCE5GzXKxHCpfhFUnO+jGqi0KxkyP0hSA6fiwXXkirk6g==",
4132
+ "version": "0.33.5",
4133
+ "resolved": "https://registry.npmjs.org/@node-datachannel/win32-x64-msvc/-/win32-x64-msvc-0.33.5.tgz",
4134
+ "integrity": "sha512-XrfB3MWuzsEeqzaQh4BXhxl2JKPZ4qkXUZs4vhaM6P/fkaxhbp4Ubbwyvd0zDBHerVm/Zw7wZrTHGiYsfop4BA==",
4135
4135
  "cpu": [
4136
4136
  "x64"
4137
4137
  ],
@@ -8344,9 +8344,9 @@
8344
8344
  }
8345
8345
  },
8346
8346
  "node_modules/node-datachannel": {
8347
- "version": "0.33.4",
8348
- "resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.4.tgz",
8349
- "integrity": "sha512-qiUrdh8vY9XhglEnx91HK0N2JEAAu8qTZl0fcR3yQd0fFrdO39NwDeJD/KpG+WKUb9/o4p2UwnP+/HftA/xMbQ==",
8347
+ "version": "0.33.5",
8348
+ "resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.5.tgz",
8349
+ "integrity": "sha512-EbQEgpEalODneaK4AU78g4k4iXUvkSEI9htwP0wzgrawOIK/0MYT61xq5v/r+eRScmMZw4PVYC7RfyIW54NjZw==",
8350
8350
  "license": "MPL 2.0",
8351
8351
  "dependencies": {
8352
8352
  "detect-libc": "^2.0.4"
@@ -8355,15 +8355,15 @@
8355
8355
  "node": ">=18.20.0"
8356
8356
  },
8357
8357
  "optionalDependencies": {
8358
- "@node-datachannel/android-arm64": "0.33.4",
8359
- "@node-datachannel/darwin-arm64": "0.33.4",
8360
- "@node-datachannel/darwin-x64": "0.33.4",
8361
- "@node-datachannel/linux-arm64-gnu": "0.33.4",
8362
- "@node-datachannel/linux-arm64-musl": "0.33.4",
8363
- "@node-datachannel/linux-x64-gnu": "0.33.4",
8364
- "@node-datachannel/linux-x64-musl": "0.33.4",
8365
- "@node-datachannel/win32-arm64-msvc": "0.33.4",
8366
- "@node-datachannel/win32-x64-msvc": "0.33.4"
8358
+ "@node-datachannel/android-arm64": "0.33.5",
8359
+ "@node-datachannel/darwin-arm64": "0.33.5",
8360
+ "@node-datachannel/darwin-x64": "0.33.5",
8361
+ "@node-datachannel/linux-arm64-gnu": "0.33.5",
8362
+ "@node-datachannel/linux-arm64-musl": "0.33.5",
8363
+ "@node-datachannel/linux-x64-gnu": "0.33.5",
8364
+ "@node-datachannel/linux-x64-musl": "0.33.5",
8365
+ "@node-datachannel/win32-arm64-msvc": "0.33.5",
8366
+ "@node-datachannel/win32-x64-msvc": "0.33.5"
8367
8367
  }
8368
8368
  },
8369
8369
  "node_modules/node-fetch": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.900",
3
+ "version": "1.0.901",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/library.js",