omnius 1.0.626 → 1.0.627

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
@@ -2843,21 +2843,54 @@ function classifyNvidiaArmEnvironmentSync(preferredPython = "python3", env2 = pr
2843
2843
  const l4tRelease = l4tMatch ? `${l4tMatch[1]}.${l4tMatch[2]}` : void 0;
2844
2844
  const l4tMajor = Number(l4tMatch?.[1] ?? 0);
2845
2845
  const l4tRevision = Number(l4tMatch?.[2] ?? 0);
2846
- const jetPackFamily = l4tMajor >= 36 ? l4tRevision >= 4 ? "6.2+" : "6.0/6.1" : l4tMajor === 35 ? "5.x" : void 0;
2846
+ const jetPackMajor = l4tMajor >= 38 ? 7 : l4tMajor >= 36 ? 6 : l4tMajor >= 34 ? 5 : l4tMajor === 32 ? 4 : void 0;
2847
+ const jetPackPackage = run("dpkg-query", ["-W", "-f=${Version}", "nvidia-jetpack"], 15e3, env2);
2848
+ const jetPackVersion = jetPackPackage.ok ? jetPackPackage.output.match(/\d+\.\d+(?:\.\d+)?/)?.[0] : void 0;
2849
+ const jetPackFamily = l4tMajor >= 38 ? "7.x" : l4tMajor >= 36 ? l4tRevision >= 4 ? "6.2+" : "6.0/6.1" : l4tMajor === 35 ? "5.x" : l4tMajor === 32 ? "4.x" : void 0;
2847
2850
  const cudaToolkitVersion = detectCudaToolkitVersion(env2);
2848
2851
  const vendor = resolveVendorCudaPythonSync(preferredPython, env2);
2849
2852
  const pythonInfo = run(vendor.python || preferredPython, ["-c", "import sys;print(f'{sys.version_info.major}.{sys.version_info.minor} cp{sys.version_info.major}{sys.version_info.minor}')"], 3e4, env2);
2850
2853
  const pythonTokens = pythonInfo.ok ? pythonInfo.output.trim().split(/\s+/).slice(-2) : [];
2851
2854
  const pythonVersion = pythonTokens[0];
2852
2855
  const pythonAbi = pythonTokens[1];
2853
- const yuyiCompatible = nvidiaArm && family === "orin" && l4tMajor === 36 && l4tRevision >= 4 && cudaToolkitVersion?.startsWith("12.6") === true && pythonVersion === "3.10" && vendor.computeCapability === 8.7;
2856
+ const managedTorchProviders = [];
2857
+ const cudaIndexMatch = cudaToolkitVersion?.match(/^(\d+)\.(\d+)/);
2858
+ if (nvidiaArm && jetPackMajor && cudaIndexMatch) {
2859
+ const cudaIndexTag = `cu${cudaIndexMatch[1]}${cudaIndexMatch[2]}`;
2860
+ if (jetPackMajor >= 6) {
2861
+ managedTorchProviders.push({
2862
+ id: "jetson-ai-lab-index",
2863
+ mode: "index",
2864
+ location: `https://pypi.jetson-ai-lab.io/jp${jetPackMajor}/${cudaIndexTag}`
2865
+ });
2866
+ }
2867
+ if (jetPackVersion) {
2868
+ managedTorchProviders.push({
2869
+ id: "nvidia-jetpack-index",
2870
+ mode: "find-links",
2871
+ location: `https://developer.download.nvidia.com/compute/redist/jp/v${jetPackVersion.replace(/\D/g, "")}/pytorch/`
2872
+ });
2873
+ }
2874
+ }
2875
+ const yuyiCompatible = nvidiaArm && !vendor.ok && family === "orin" && l4tMajor === 36 && l4tRevision >= 4 && cudaToolkitVersion?.startsWith("12.6") === true && pythonVersion === "3.10" && (vendor.computeCapability === 8.7 || !vendor.ok && family === "orin");
2854
2876
  if (yuyiCompatible) {
2877
+ managedTorchProviders.unshift({
2878
+ id: "yuyirobotlab-orin-cu126-vllm-0.19.0",
2879
+ mode: "wheel",
2880
+ location: "https://github.com/YuyiRobotLab/vllm-orin-release/releases/download/v0.19.0-orin/torch-2.10.0-cp310-cp310-linux_aarch64.whl"
2881
+ });
2855
2882
  reasons.push("Exact Orin SM 8.7 / L4T 36.4+ / CUDA 12.6 / CPython 3.10 provider match");
2883
+ }
2884
+ if (vendor.ok) {
2885
+ reasons.push("No exact binary provider matches every hardware/runtime dimension");
2886
+ reasons.push("CUDA-enabled vendor Torch is available for a source build");
2856
2887
  return {
2857
2888
  nvidiaArm,
2858
2889
  family,
2859
2890
  boardModel,
2860
2891
  l4tRelease,
2892
+ jetPackMajor,
2893
+ jetPackVersion,
2861
2894
  jetPackFamily,
2862
2895
  cudaToolkitVersion,
2863
2896
  pythonVersion,
@@ -2866,28 +2899,30 @@ function classifyNvidiaArmEnvironmentSync(preferredPython = "python3", env2 = pr
2866
2899
  vendorPython: vendor.python,
2867
2900
  vendorTorchVersion: vendor.torchVersion,
2868
2901
  vendorTorchCudaVersion: vendor.torchCudaVersion,
2869
- recommendedStrategy: "matched-binary",
2870
- matchedProvider: "yuyirobotlab-orin-cu126-vllm-0.19.0",
2902
+ recommendedStrategy: "source-existing-torch",
2903
+ managedTorchProviders,
2871
2904
  reasons
2872
2905
  };
2873
2906
  }
2874
- if (vendor.ok) {
2875
- reasons.push("No exact binary provider matches every hardware/runtime dimension");
2876
- reasons.push("CUDA-enabled vendor Torch is available for a source build");
2907
+ if (managedTorchProviders.length > 0) {
2908
+ reasons.push("No CUDA-enabled vendor Torch interpreter was found");
2909
+ reasons.push(`Managed CUDA Torch providers: ${managedTorchProviders.map((provider) => provider.id).join(", ")}`);
2877
2910
  return {
2878
2911
  nvidiaArm,
2879
2912
  family,
2880
2913
  boardModel,
2881
2914
  l4tRelease,
2915
+ jetPackMajor,
2916
+ jetPackVersion,
2882
2917
  jetPackFamily,
2883
2918
  cudaToolkitVersion,
2884
2919
  pythonVersion,
2885
2920
  pythonAbi,
2886
- computeCapability: vendor.computeCapability,
2921
+ computeCapability: family === "orin" ? 8.7 : vendor.computeCapability,
2887
2922
  vendorPython: vendor.python,
2888
- vendorTorchVersion: vendor.torchVersion,
2889
- vendorTorchCudaVersion: vendor.torchCudaVersion,
2890
- recommendedStrategy: "source-existing-torch",
2923
+ recommendedStrategy: "managed-torch",
2924
+ matchedProvider: managedTorchProviders[0]?.id,
2925
+ managedTorchProviders,
2891
2926
  reasons
2892
2927
  };
2893
2928
  }
@@ -2897,6 +2932,8 @@ function classifyNvidiaArmEnvironmentSync(preferredPython = "python3", env2 = pr
2897
2932
  family,
2898
2933
  boardModel,
2899
2934
  l4tRelease,
2935
+ jetPackMajor,
2936
+ jetPackVersion,
2900
2937
  jetPackFamily,
2901
2938
  cudaToolkitVersion,
2902
2939
  pythonVersion,
@@ -2913,9 +2950,11 @@ function ensureCudaPythonVenvSync(options2) {
2913
2950
  const requireHost = options2.requireHostCudaTorch ?? nvidiaArm;
2914
2951
  const label = options2.label?.trim() || "managed CUDA Python runtime";
2915
2952
  const host2 = nvidiaArm ? resolveVendorCudaPythonSync(preferredPython, env2) : probeCudaTorchSync(preferredPython, env2);
2953
+ const classification = nvidiaArm ? classifyNvidiaArmEnvironmentSync(preferredPython, env2) : void 0;
2954
+ const managedProviders = classification?.managedTorchProviders ?? [];
2916
2955
  const bootstrapPython2 = host2.ok ? host2.python : preferredPython;
2917
- if (requireHost && !host2.ok) {
2918
- throw new Error(`${label} requires the host's vendor CUDA Torch; Omnius will not install generic PyPI Torch: ${host2.output}`);
2956
+ if (requireHost && !host2.ok && managedProviders.length === 0) {
2957
+ throw new Error(`${label} requires compatible CUDA Torch, but no vendor installation or environment-matched provider was found: ${host2.output}`);
2919
2958
  }
2920
2959
  let repaired = false;
2921
2960
  if (existsSync6(managedPython)) {
@@ -2947,14 +2986,62 @@ function ensureCudaPythonVenvSync(options2) {
2947
2986
  } catch {
2948
2987
  }
2949
2988
  }
2989
+ let torchProvider;
2990
+ if (!managed.ok && managedProviders.length > 0) {
2991
+ const providerEnv = { ...env2 };
2992
+ delete providerEnv["PIP_CONSTRAINT"];
2993
+ const failures = [];
2994
+ for (const provider of managedProviders) {
2995
+ const providerArgs = provider.mode === "wheel" ? ["-m", "pip", "install", "--disable-pip-version-check", "--no-deps", "--force-reinstall", provider.location] : provider.mode === "index" ? ["-m", "pip", "install", "--disable-pip-version-check", "--upgrade", "--force-reinstall", "--index-url", provider.location, "torch"] : ["-m", "pip", "install", "--disable-pip-version-check", "--upgrade", "--force-reinstall", "--no-index", "--find-links", provider.location, "--no-deps", "torch"];
2996
+ const installed = run(managedPython, providerArgs, 12e5, providerEnv);
2997
+ if (!installed.ok) {
2998
+ failures.push(`${provider.id}: ${installed.output}`);
2999
+ continue;
3000
+ }
3001
+ const candidate = probeCudaTorchSync(managedPython, providerEnv);
3002
+ if (!candidate.ok) {
3003
+ failures.push(`${provider.id}: installed Torch failed CUDA validation: ${candidate.output}`);
3004
+ continue;
3005
+ }
3006
+ managed = candidate;
3007
+ torchProvider = provider.id;
3008
+ break;
3009
+ }
3010
+ if (!managed.ok && requireHost) {
3011
+ throw new Error(`${label} could not install CUDA Torch for ${classification?.jetPackFamily ?? "detected JetPack"} / CUDA ${classification?.cudaToolkitVersion ?? "unknown"} / ${classification?.pythonAbi ?? "unknown ABI"}: ${failures.join("; ")}`);
3012
+ }
3013
+ }
3014
+ const companions = [...new Set(options2.cudaCompanionPackages ?? [])].filter((name10) => name10.trim() && name10.trim().toLowerCase() !== "torch");
3015
+ if (managed.ok && nvidiaArm && companions.length > 0) {
3016
+ const companionImports = companions.map((name10) => name10.replace(/-/g, "_"));
3017
+ const importProbe = () => run(managedPython, ["-c", `import ${companionImports.join(",")}`], 6e4, env2);
3018
+ if (!importProbe().ok) {
3019
+ const failures = [];
3020
+ for (const provider of managedProviders.filter((candidate) => candidate.mode !== "wheel")) {
3021
+ const providerArgs = provider.mode === "index" ? ["-m", "pip", "install", "--disable-pip-version-check", "--no-deps", "--upgrade", "--index-url", provider.location, ...companions] : ["-m", "pip", "install", "--disable-pip-version-check", "--no-deps", "--upgrade", "--no-index", "--find-links", provider.location, ...companions];
3022
+ const installed = run(managedPython, providerArgs, 12e5, env2);
3023
+ if (installed.ok && importProbe().ok)
3024
+ break;
3025
+ failures.push(`${provider.id}: ${installed.output}`);
3026
+ }
3027
+ const verified = importProbe();
3028
+ if (!verified.ok && requireHost) {
3029
+ throw new Error(`${label} could not resolve CUDA companion packages (${companions.join(", ")}) for ${classification?.jetPackFamily ?? "detected JetPack"}: ${failures.join("; ") || verified.output}`);
3030
+ }
3031
+ }
3032
+ }
2950
3033
  if (requireHost && !managed.ok) {
2951
3034
  throw new Error(`${label} cannot inherit CUDA Torch from ${bootstrapPython2}: ${managed.output}`);
2952
3035
  }
2953
3036
  const pipEnv = { ...env2 };
2954
- if (host2.ok && host2.torchVersion) {
3037
+ const protectedTorch = managed.ok ? managed : host2;
3038
+ if (protectedTorch.ok && protectedTorch.torchVersion) {
2955
3039
  const constraintPath = join6(options2.venvDir, "omnius-cuda-constraints.txt");
2956
- writeFileSync5(constraintPath, `torch===${host2.torchVersion}
2957
- # Omnius protects vendor CUDA Torch from pip replacement.
3040
+ writeFileSync5(constraintPath, `torch===${protectedTorch.torchVersion}
3041
+ # Omnius protects environment-matched CUDA Torch from pip replacement.
3042
+ `, "utf8");
3043
+ writeFileSync5(join6(options2.venvDir, process.platform === "win32" ? "pip.ini" : "pip.conf"), `[global]
3044
+ constraint = ${constraintPath}
2958
3045
  `, "utf8");
2959
3046
  pipEnv["PIP_CONSTRAINT"] = constraintPath;
2960
3047
  }
@@ -2966,7 +3053,8 @@ function ensureCudaPythonVenvSync(options2) {
2966
3053
  repaired,
2967
3054
  host: host2,
2968
3055
  managed,
2969
- pipEnv
3056
+ pipEnv,
3057
+ torchProvider
2970
3058
  };
2971
3059
  }
2972
3060
  function packageName(spec) {
@@ -92845,6 +92933,7 @@ var init_transcribe_tool = __esm({
92845
92933
  init_cuda_device_filter();
92846
92934
  init_process_async();
92847
92935
  init_venv_paths();
92936
+ init_python_cuda_runtime();
92848
92937
  init_transcribe_python_runtime();
92849
92938
  AUDIO_EXTS = /* @__PURE__ */ new Set([
92850
92939
  ".mp3",
@@ -93138,20 +93227,19 @@ var init_transcribe_tool = __esm({
93138
93227
  }
93139
93228
  }
93140
93229
  async ensureManagedWhisperRuntime() {
93141
- const python2 = venvPython(MANAGED_ASR_VENV);
93142
- if (!existsSync43(python2)) {
93143
- mkdirSync25(join44(homedir11(), ".omnius", "runtimes", "asr"), { recursive: true });
93144
- await execFileText2("python3", ["-m", "venv", MANAGED_ASR_VENV], {
93145
- timeout: 6e4,
93146
- env: transcriptionPythonEnv()
93147
- });
93148
- }
93230
+ const runtime2 = ensureCudaPythonVenvSync({
93231
+ venvDir: MANAGED_ASR_VENV,
93232
+ bootstrapPython: process.env["OMNIUS_ASR_PYTHON"]?.trim() || "python3",
93233
+ env: transcriptionPythonEnv(),
93234
+ label: "managed Whisper ASR runtime"
93235
+ });
93236
+ const python2 = runtime2.python;
93149
93237
  if (_managedAsrReady)
93150
93238
  return python2;
93151
93239
  try {
93152
93240
  await execFileText2(python2, ["-c", "import whisper, numpy"], {
93153
93241
  timeout: 1e4,
93154
- env: transcriptionPythonEnv()
93242
+ env: runtime2.pipEnv
93155
93243
  });
93156
93244
  _managedAsrReady = true;
93157
93245
  return python2;
@@ -93168,7 +93256,7 @@ var init_transcribe_tool = __esm({
93168
93256
  "openai-whisper"
93169
93257
  ], {
93170
93258
  timeout: 9e5,
93171
- env: transcriptionPythonEnv()
93259
+ env: runtime2.pipEnv
93172
93260
  });
93173
93261
  _managedAsrReady = true;
93174
93262
  return python2;
@@ -602966,7 +603054,8 @@ async function ensureVibeVoiceAsrSetup() {
602966
603054
  bootstrapPython: bootstrapPython2,
602967
603055
  env: managedEnv(),
602968
603056
  label: "VibeVoice ASR runtime",
602969
- requireHostCudaTorch: true
603057
+ requireHostCudaTorch: true,
603058
+ cudaCompanionPackages: ["torchaudio"]
602970
603059
  });
602971
603060
  protectedPipEnv = cudaRuntime.pipEnv;
602972
603061
  protectedBootstrapPython = cudaRuntime.bootstrapPython;
@@ -730127,12 +730216,14 @@ function markerCurrent() {
730127
730216
  }
730128
730217
  async function ensurePythonRuntime() {
730129
730218
  const python2 = bootstrapPython();
730130
- if (!existsSync153(venvPython2())) {
730131
- const args = ["-m", "venv"];
730132
- if (isJetsonHost()) args.push("--system-site-packages");
730133
- args.push(venvDir());
730134
- await runCommand(python2, args, { timeoutMs: 18e4 });
730135
- }
730219
+ const cudaRuntime = ensureCudaPythonVenvSync({
730220
+ venvDir: venvDir(),
730221
+ bootstrapPython: python2,
730222
+ env: managedEnv2(),
730223
+ label: "Voicebox TTS runtime",
730224
+ requireHostCudaTorch: isNvidiaArmCudaHost(),
730225
+ cudaCompanionPackages: isNvidiaArmCudaHost() ? ["torchaudio"] : []
730226
+ });
730136
730227
  if (markerCurrent()) {
730137
730228
  await runCommand(
730138
730229
  venvPython2(),
@@ -730146,14 +730237,14 @@ async function ensurePythonRuntime() {
730146
730237
  "print('voicebox imports ok')"
730147
730238
  ].join("; ")
730148
730239
  ],
730149
- { cwd: repoDir(), timeoutMs: 12e4 }
730240
+ { cwd: repoDir(), timeoutMs: 12e4, env: cudaRuntime.pipEnv }
730150
730241
  );
730151
730242
  return;
730152
730243
  }
730153
730244
  await runCommand(
730154
730245
  venvPython2(),
730155
730246
  ["-m", "pip", "install", "--quiet", "--upgrade", "pip", "wheel", "setuptools"],
730156
- { timeoutMs: 3e5 }
730247
+ { timeoutMs: 3e5, env: cudaRuntime.pipEnv }
730157
730248
  );
730158
730249
  if (isJetsonHost()) {
730159
730250
  await runCommand(
@@ -730162,7 +730253,7 @@ async function ensurePythonRuntime() {
730162
730253
  "-c",
730163
730254
  "import torch; assert torch.cuda.is_available(), 'JetPack CUDA PyTorch is required'; print(torch.__version__)"
730164
730255
  ],
730165
- { timeoutMs: 12e4 }
730256
+ { timeoutMs: 12e4, env: cudaRuntime.pipEnv }
730166
730257
  );
730167
730258
  } else {
730168
730259
  const torchArgs = ["-m", "pip", "install", "--quiet"];
@@ -730187,13 +730278,13 @@ async function ensurePythonRuntime() {
730187
730278
  await runCommand(
730188
730279
  venvPython2(),
730189
730280
  ["-m", "pip", "install", "--quiet", "-r", requirementsPath],
730190
- { cwd: repoDir(), timeoutMs: 12e5 }
730281
+ { cwd: repoDir(), timeoutMs: 12e5, env: cudaRuntime.pipEnv }
730191
730282
  );
730192
730283
  for (const dependency of ["chatterbox-tts", "hume-tada"]) {
730193
730284
  await runCommand(
730194
730285
  venvPython2(),
730195
730286
  ["-m", "pip", "install", "--quiet", "--no-deps", dependency],
730196
- { cwd: repoDir(), timeoutMs: 6e5 }
730287
+ { cwd: repoDir(), timeoutMs: 6e5, env: cudaRuntime.pipEnv }
730197
730288
  );
730198
730289
  }
730199
730290
  await runCommand(
@@ -730206,7 +730297,7 @@ async function ensurePythonRuntime() {
730206
730297
  "--no-deps",
730207
730298
  "git+https://github.com/QwenLM/Qwen3-TTS.git"
730208
730299
  ],
730209
- { cwd: repoDir(), timeoutMs: 6e5 }
730300
+ { cwd: repoDir(), timeoutMs: 6e5, env: cudaRuntime.pipEnv }
730210
730301
  );
730211
730302
  await runCommand(
730212
730303
  venvPython2(),
@@ -730220,7 +730311,7 @@ async function ensurePythonRuntime() {
730220
730311
  "print('voicebox imports ok')"
730221
730312
  ].join("; ")
730222
730313
  ],
730223
- { cwd: repoDir(), timeoutMs: 12e4 }
730314
+ { cwd: repoDir(), timeoutMs: 12e4, env: cudaRuntime.pipEnv }
730224
730315
  );
730225
730316
  const patch = packageAssetPath(
730226
730317
  "voicebox",
@@ -802282,22 +802373,25 @@ function tryInstallOrinRelease(hostTorch) {
802282
802373
  }
802283
802374
  const providerEnv = { ...process.env };
802284
802375
  delete providerEnv["PIP_CONSTRAINT"];
802285
- const torchInstall = run3(
802286
- python,
802287
- [
802288
- "-m",
802289
- "pip",
802290
- "install",
802291
- "--disable-pip-version-check",
802292
- "--no-deps",
802293
- "--force-reinstall",
802294
- ORIN_TORCH_WHEEL
802295
- ],
802296
- 9e5,
802297
- { env: providerEnv }
802298
- );
802299
- if (!torchInstall.ok) return false;
802300
- const providerTorch = probeCudaTorchSync(python, providerEnv);
802376
+ let providerTorch = probeCudaTorchSync(python, providerEnv);
802377
+ if (!providerTorch.ok || providerTorch.computeCapability !== 8.7 || !String(providerTorch.torchCudaVersion || "").startsWith("12.6")) {
802378
+ const torchInstall = run3(
802379
+ python,
802380
+ [
802381
+ "-m",
802382
+ "pip",
802383
+ "install",
802384
+ "--disable-pip-version-check",
802385
+ "--no-deps",
802386
+ "--force-reinstall",
802387
+ ORIN_TORCH_WHEEL
802388
+ ],
802389
+ 9e5,
802390
+ { env: providerEnv }
802391
+ );
802392
+ if (!torchInstall.ok) return false;
802393
+ providerTorch = probeCudaTorchSync(python, providerEnv);
802394
+ }
802301
802395
  if (!providerTorch.ok || providerTorch.computeCapability !== 8.7 || !String(providerTorch.torchCudaVersion || "").startsWith("12.6")) {
802302
802396
  rmSync20(venv, { recursive: true, force: true });
802303
802397
  protectedPipEnv2 = {};
@@ -802344,9 +802438,9 @@ function ensureArm64Server() {
802344
802438
  const systemPython = managedCudaRuntime?.bootstrapPython || process.env["OMNIUS_PYTHON"]?.trim() || "python3";
802345
802439
  const hostTorch = managedCudaRuntime?.host ?? probeCudaTorchSync(systemPython);
802346
802440
  const managedTorch = probeCudaTorchSync(python, { ...process.env, ...protectedPipEnv2 });
802347
- if (!hostTorch.ok || !managedTorch.ok) {
802441
+ if (!managedTorch.ok) {
802348
802442
  throw new Error(
802349
- `Jetson CUDA Torch preflight failed. Host: ${hostTorch.output}; managed: ${managedTorch.output}`
802443
+ `Jetson CUDA Torch preflight failed after environment-specific provider resolution. Host: ${hostTorch.output}; managed: ${managedTorch.output}`
802350
802444
  );
802351
802445
  }
802352
802446
  if (tryInstallOrinRelease(hostTorch)) return;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.626",
3
+ "version": "1.0.627",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.626",
9
+ "version": "1.0.627",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
@@ -4220,9 +4220,9 @@
4220
4220
  "license": "Apache-2.0 OR MIT"
4221
4221
  },
4222
4222
  "node_modules/ip-address": {
4223
- "version": "10.4.0",
4224
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz",
4225
- "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==",
4223
+ "version": "10.5.0",
4224
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.5.0.tgz",
4225
+ "integrity": "sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==",
4226
4226
  "license": "MIT",
4227
4227
  "engines": {
4228
4228
  "node": ">= 12"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.626",
3
+ "version": "1.0.627",
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",