omnius 1.0.309 → 1.0.311

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
@@ -12495,12 +12495,12 @@ ${lineNumberedDiff}`,
12495
12495
  });
12496
12496
 
12497
12497
  // packages/memory/dist/db.js
12498
- import { createRequire } from "node:module";
12498
+ import { createRequire as createRequire2 } from "node:module";
12499
12499
  function getDatabase() {
12500
12500
  if (_Database !== null)
12501
12501
  return _Database;
12502
12502
  try {
12503
- const req3 = createRequire(import.meta.url);
12503
+ const req3 = createRequire2(import.meta.url);
12504
12504
  _Database = req3("better-sqlite3");
12505
12505
  } catch {
12506
12506
  throw new Error("better-sqlite3 is not available (native module build may have failed).\nTry: npm rebuild better-sqlite3\nMemory features (SQLite) are disabled until this is resolved.");
@@ -24025,14 +24025,14 @@ var init_memory_search = __esm({
24025
24025
  try {
24026
24026
  const { join: pathJoin } = await import("node:path");
24027
24027
  const { existsSync: pathExists } = await import("node:fs");
24028
- const { createRequire: createRequire10 } = await import("node:module");
24028
+ const { createRequire: createRequire11 } = await import("node:module");
24029
24029
  const omniusDir = pathJoin(this.workingDir, ".omnius");
24030
24030
  const epDbPath = pathJoin(omniusDir, "episodes.db");
24031
24031
  const kgDbPath = pathJoin(omniusDir, "knowledge.db");
24032
24032
  if (!pathExists(epDbPath)) {
24033
24033
  return { success: true, output: `No episode store found. Run tasks to build the knowledge graph.`, durationMs: performance.now() - start2 };
24034
24034
  }
24035
- const req3 = createRequire10(import.meta.url);
24035
+ const req3 = createRequire11(import.meta.url);
24036
24036
  const Database = req3("better-sqlite3");
24037
24037
  if (mode === "episodes") {
24038
24038
  const db = new Database(epDbPath, { readonly: true });
@@ -26937,6 +26937,20 @@ import { createRequire as _createRequire } from 'node:module';
26937
26937
  // individual call site to dynamic import().
26938
26938
  const require = _createRequire(import.meta.url);
26939
26939
 
26940
+ // Shim for Node < 24: worker_threads.markAsUncloneable was added in Node 24.
26941
+ // open-agents-nexus pulls in undici, whose CacheStorage calls
26942
+ // webidl.util.markAsUncloneable at module-load time. On older Node runtimes
26943
+ // that function is undefined, so the dynamic import below crashes the daemon
26944
+ // with "TypeError: webidl.util.markAsUncloneable is not a function". The main
26945
+ // CLI process applies the same shim, but this daemon is a separate process and
26946
+ // must polyfill it itself BEFORE the first open-agents-nexus/undici import.
26947
+ try {
26948
+ const _wt = require('node:worker_threads');
26949
+ if (typeof _wt.markAsUncloneable === 'undefined') {
26950
+ _wt.markAsUncloneable = (value) => value;
26951
+ }
26952
+ } catch {}
26953
+
26940
26954
  // NKN utilities — imported dynamically to avoid crash on older open-agents-nexus versions.
26941
26955
  // Falls back to inline implementations if the package doesn't export them yet.
26942
26956
  var buildNknEnvelope, parseNknEnvelope, deriveNknSeed;
@@ -40013,8 +40027,8 @@ async function loadTranscribeCli() {
40013
40027
  }).trim();
40014
40028
  const tcPath = join39(globalRoot, "transcribe-cli");
40015
40029
  if (existsSync37(join39(tcPath, "dist", "index.js"))) {
40016
- const { createRequire: createRequire10 } = await import("node:module");
40017
- const req3 = createRequire10(import.meta.url);
40030
+ const { createRequire: createRequire11 } = await import("node:module");
40031
+ const req3 = createRequire11(import.meta.url);
40018
40032
  _tcModule = req3(join39(tcPath, "dist", "index.js"));
40019
40033
  return _tcModule;
40020
40034
  }
@@ -40027,8 +40041,8 @@ async function loadTranscribeCli() {
40027
40041
  for (const ver of readdirSync57(nvmBase)) {
40028
40042
  const tcPath = join39(nvmBase, ver, "lib", "node_modules", "transcribe-cli");
40029
40043
  if (existsSync37(join39(tcPath, "dist", "index.js"))) {
40030
- const { createRequire: createRequire10 } = await import("node:module");
40031
- const req3 = createRequire10(import.meta.url);
40044
+ const { createRequire: createRequire11 } = await import("node:module");
40045
+ const req3 = createRequire11(import.meta.url);
40032
40046
  _tcModule = req3(join39(tcPath, "dist", "index.js"));
40033
40047
  return _tcModule;
40034
40048
  }
@@ -250951,7 +250965,7 @@ var init_send_ssdp_message = __esm({
250951
250965
 
250952
250966
  // ../node_modules/@achingbrain/ssdp/dist/src/ssdp.js
250953
250967
  import { EventEmitter as EventEmitter3, on } from "node:events";
250954
- import { createRequire as createRequire2 } from "node:module";
250968
+ import { createRequire as createRequire3 } from "node:module";
250955
250969
  var req2, name8, version2, DEFAULT_SSDP_SIGNATURE, SSDP;
250956
250970
  var init_ssdp = __esm({
250957
250971
  "../node_modules/@achingbrain/ssdp/dist/src/ssdp.js"() {
@@ -250965,7 +250979,7 @@ var init_ssdp = __esm({
250965
250979
  init_search_response();
250966
250980
  init_parse_ssdp_message();
250967
250981
  init_send_ssdp_message();
250968
- req2 = createRequire2(import.meta.url);
250982
+ req2 = createRequire3(import.meta.url);
250969
250983
  ({ name: name8, version: version2 } = req2("../../package.json"));
250970
250984
  DEFAULT_SSDP_SIGNATURE = `node.js/${process.version.substring(1)} UPnP/1.1 ${name8}/${version2}`;
250971
250985
  SSDP = class extends EventEmitter3 {
@@ -538351,7 +538365,7 @@ var init_ts_morph_parser = __esm({
538351
538365
  });
538352
538366
 
538353
538367
  // packages/indexer/dist/code-graph-db.js
538354
- import { createRequire as createRequire3 } from "node:module";
538368
+ import { createRequire as createRequire4 } from "node:module";
538355
538369
  import { createHash as createHash22 } from "node:crypto";
538356
538370
  import { mkdirSync as mkdirSync29, readFileSync as readFileSync39 } from "node:fs";
538357
538371
  import { join as join69, dirname as dirname18, extname as extname10 } from "node:path";
@@ -538359,7 +538373,7 @@ function loadDatabaseCtor() {
538359
538373
  if (_DatabaseCtor)
538360
538374
  return _DatabaseCtor;
538361
538375
  try {
538362
- const req3 = createRequire3(import.meta.url);
538376
+ const req3 = createRequire4(import.meta.url);
538363
538377
  _DatabaseCtor = req3("better-sqlite3");
538364
538378
  return _DatabaseCtor;
538365
538379
  } catch (err) {
@@ -589029,8 +589043,8 @@ var init_listen = __esm({
589029
589043
  /** Load transcribe-cli — bundled as a dependency of omnius. */
589030
589044
  async loadTranscribeCli() {
589031
589045
  try {
589032
- const { createRequire: createRequire10 } = await import("node:module");
589033
- const req3 = createRequire10(import.meta.url);
589046
+ const { createRequire: createRequire11 } = await import("node:module");
589047
+ const req3 = createRequire11(import.meta.url);
589034
589048
  return req3("transcribe-cli");
589035
589049
  } catch {
589036
589050
  }
@@ -589042,8 +589056,8 @@ var init_listen = __esm({
589042
589056
  }).trim();
589043
589057
  const tcPath = join115(globalRoot, "transcribe-cli");
589044
589058
  if (existsSync100(join115(tcPath, "dist", "index.js"))) {
589045
- const { createRequire: createRequire10 } = await import("node:module");
589046
- const req3 = createRequire10(import.meta.url);
589059
+ const { createRequire: createRequire11 } = await import("node:module");
589060
+ const req3 = createRequire11(import.meta.url);
589047
589061
  return req3(join115(tcPath, "dist", "index.js"));
589048
589062
  }
589049
589063
  } catch {
@@ -589061,8 +589075,8 @@ var init_listen = __esm({
589061
589075
  "transcribe-cli"
589062
589076
  );
589063
589077
  if (existsSync100(join115(tcPath, "dist", "index.js"))) {
589064
- const { createRequire: createRequire10 } = await import("node:module");
589065
- const req3 = createRequire10(import.meta.url);
589078
+ const { createRequire: createRequire11 } = await import("node:module");
589079
+ const req3 = createRequire11(import.meta.url);
589066
589080
  return req3(join115(tcPath, "dist", "index.js"));
589067
589081
  }
589068
589082
  }
@@ -595494,8 +595508,8 @@ async function loadHighlighter() {
595494
595508
  return null;
595495
595509
  }
595496
595510
  try {
595497
- const { createRequire: createRequire10 } = await import("node:module");
595498
- const req3 = createRequire10(import.meta.url);
595511
+ const { createRequire: createRequire11 } = await import("node:module");
595512
+ const req3 = createRequire11(import.meta.url);
595499
595513
  let resolved = null;
595500
595514
  try {
595501
595515
  resolved = req3.resolve("cli-highlight");
@@ -608165,7 +608179,7 @@ var init_status_bar = __esm({
608165
608179
  if (view.id === "main" && this._activeViewId === "main") continue;
608166
608180
  const icon = view.status === "running" ? "●" : view.status === "completed" ? "✓" : view.status === "failed" ? "✗" : "○";
608167
608181
  const base3 = ` ${trunc3(view.label)} ${icon} `;
608168
- zones.push({ w: base3.length + 1, id: view.id, render: () => "" });
608182
+ zones.push({ w: base3.length + 2 + 1, id: view.id, render: () => "" });
608169
608183
  }
608170
608184
  } else {
608171
608185
  zones.push({ w: NO_SUB_AGENTS_HEADER_LABEL.length, render: () => "" });
@@ -609232,20 +609246,14 @@ var init_status_bar = __esm({
609232
609246
  return;
609233
609247
  }
609234
609248
  if (cmd === "header-toggle") {
609235
- const wasExpanded = this._headerExpanded;
609236
609249
  this._headerExpanded = !this._headerExpanded;
609237
609250
  this.refreshHeaderAndFooter();
609238
609251
  this.scrollRegionTop += this._headerExpanded ? 2 : -2;
609239
609252
  if (this.active) {
609240
609253
  this.applyScrollRegion();
609254
+ this.repaintContent();
609241
609255
  this.renderFooterAndPositionInput();
609242
609256
  }
609243
- if (!this._headerExpanded && wasExpanded) {
609244
- const base3 = this.scrollRegionTop;
609245
- let buf = `\x1B[${base3};1H\x1B[2K\x1B[${base3 + 1};1H\x1B[2K`;
609246
- buf += `\x1B[${base3};1H\x1BM\x1BM`;
609247
- this.termWrite(buf);
609248
- }
609249
609257
  return;
609250
609258
  }
609251
609259
  setPressedButton(cmd);
@@ -620063,7 +620071,7 @@ var init_memory_menu = __esm({
620063
620071
 
620064
620072
  // packages/cli/src/tui/audio-waveform.ts
620065
620073
  import { readFileSync as readFileSync96 } from "node:fs";
620066
- import { createRequire as createRequire4 } from "node:module";
620074
+ import { createRequire as createRequire5 } from "node:module";
620067
620075
  function readAscii(buffer2, offset, length4) {
620068
620076
  return buffer2.subarray(offset, offset + length4).toString("ascii");
620069
620077
  }
@@ -620174,7 +620182,7 @@ var require3;
620174
620182
  var init_audio_waveform = __esm({
620175
620183
  "packages/cli/src/tui/audio-waveform.ts"() {
620176
620184
  "use strict";
620177
- require3 = createRequire4(import.meta.url);
620185
+ require3 = createRequire5(import.meta.url);
620178
620186
  }
620179
620187
  });
620180
620188
 
@@ -623366,7 +623374,7 @@ __export(image_ascii_preview_exports, {
623366
623374
  formatImageAsciiContext: () => formatImageAsciiContext
623367
623375
  });
623368
623376
  import { execFileSync as execFileSync8 } from "node:child_process";
623369
- import { createRequire as createRequire5 } from "node:module";
623377
+ import { createRequire as createRequire6 } from "node:module";
623370
623378
  import { existsSync as existsSync124, readFileSync as readFileSync101, statSync as statSync45 } from "node:fs";
623371
623379
  import { resolve as resolve56 } from "node:path";
623372
623380
  function clamp7(n2, min, max) {
@@ -623537,7 +623545,7 @@ function previewFailure(message2, width) {
623537
623545
  async function convertWithImageToAscii(imagePath, width, height, timeoutMs) {
623538
623546
  let imageToAscii;
623539
623547
  try {
623540
- const require5 = createRequire5(import.meta.url);
623548
+ const require5 = createRequire6(import.meta.url);
623541
623549
  const mod3 = require5("image-to-ascii");
623542
623550
  imageToAscii = typeof mod3 === "function" ? mod3 : mod3.default;
623543
623551
  if (typeof imageToAscii !== "function") {
@@ -623762,7 +623770,7 @@ import {
623762
623770
  execSync as execSync55,
623763
623771
  spawn as nodeSpawn
623764
623772
  } from "node:child_process";
623765
- import { createRequire as createRequire6 } from "node:module";
623773
+ import { createRequire as createRequire7 } from "node:module";
623766
623774
  function voicePythonEnv(extra = {}) {
623767
623775
  const env2 = { ...process.env, ...extra };
623768
623776
  applyMediaCudaDeviceFilterToEnv(env2, "tts");
@@ -628101,7 +628109,7 @@ if __name__ == "__main__":
628101
628109
  )
628102
628110
  );
628103
628111
  }
628104
- const voiceRequire = createRequire6(join137(voiceDir2(), "index.js"));
628112
+ const voiceRequire = createRequire7(join137(voiceDir2(), "index.js"));
628105
628113
  const probeOnnx = async () => {
628106
628114
  try {
628107
628115
  const output = await this.asyncShell(
@@ -641916,11 +641924,11 @@ async function handleUpdate(subcommand, ctx3) {
641916
641924
  }
641917
641925
  let currentVersion = "0.0.0";
641918
641926
  try {
641919
- const { createRequire: createRequire10 } = await import("node:module");
641927
+ const { createRequire: createRequire11 } = await import("node:module");
641920
641928
  const { fileURLToPath: fileURLToPath22 } = await import("node:url");
641921
641929
  const { dirname: dirname52, join: join172 } = await import("node:path");
641922
641930
  const { existsSync: existsSync156 } = await import("node:fs");
641923
- const req3 = createRequire10(import.meta.url);
641931
+ const req3 = createRequire11(import.meta.url);
641924
641932
  const thisDir = dirname52(fileURLToPath22(import.meta.url));
641925
641933
  const candidates = [
641926
641934
  join172(thisDir, "..", "package.json"),
@@ -643577,10 +643585,10 @@ var init_commands = __esm({
643577
643585
  return "handled";
643578
643586
  }
643579
643587
  try {
643580
- const { createRequire: createRequire10 } = await import("node:module");
643588
+ const { createRequire: createRequire11 } = await import("node:module");
643581
643589
  const { fileURLToPath: fileURLToPath22 } = await import("node:url");
643582
643590
  const { dirname: pathDirname, join: pathJoin } = await import("node:path");
643583
- const localRequire = createRequire10(import.meta.url);
643591
+ const localRequire = createRequire11(import.meta.url);
643584
643592
  const here = pathDirname(fileURLToPath22(import.meta.url));
643585
643593
  let version4 = "?";
643586
643594
  for (const up of ["..", "../..", "../../.."]) {
@@ -667666,6 +667674,33 @@ ${TELEGRAM_PUBLIC_ORCHESTRATOR_CONTRACT}`
667666
667674
  ].map((line) => line.trim()).filter(Boolean);
667667
667675
  return [...new Set(lines)].slice(-6).join("\n");
667668
667676
  }
667677
+ /**
667678
+ * Derive the tool calls that FAILED and were not subsequently recovered, so
667679
+ * the completion report reflects ground truth instead of trusting the
667680
+ * runner's prose. Tool results are recorded as `✓ name: …` / `✗ name: …`
667681
+ * lines; we take the LAST outcome per tool name, so a failure followed by a
667682
+ * later success of the same tool (e.g. a retried upload) is treated as
667683
+ * recovered and omitted. Without this, a run where `telegram_send_file`
667684
+ * failed on a rate limit was still reported as "Not verified / blocked: None
667685
+ * reported by the runner", letting the model claim a delivery that never
667686
+ * happened.
667687
+ */
667688
+ telegramAdminUnrecoveredToolFailures(subAgent) {
667689
+ const state = subAgent.adminLivePanelNonce ? this.telegramAdminLivePanels.get(subAgent.adminLivePanelNonce) : void 0;
667690
+ if (!state) return [];
667691
+ const ordered = [...state.toolLines, ...state.mutationLines].map((line) => line.trim()).filter(Boolean);
667692
+ const lastByTool = /* @__PURE__ */ new Map();
667693
+ for (const line of ordered) {
667694
+ const ok3 = line.startsWith("✓");
667695
+ const failed = line.startsWith("✗");
667696
+ if (!ok3 && !failed) continue;
667697
+ const rest = line.slice(1).trim();
667698
+ const name10 = (rest.split(/[:\s]/)[0] || rest).trim();
667699
+ if (!name10) continue;
667700
+ lastByTool.set(name10, { failed, line });
667701
+ }
667702
+ return [...lastByTool.values()].filter((o2) => o2.failed).map((o2) => o2.line);
667703
+ }
667669
667704
  telegramAdminIncompleteRunText(subAgent, finalText) {
667670
667705
  const stats = [
667671
667706
  typeof subAgent.runnerTurns === "number" ? `${subAgent.runnerTurns} turn(s)` : "",
@@ -667701,18 +667736,22 @@ ${signals || "No final validating tool/status signal was available."}`
667701
667736
  typeof subAgent.runnerToolCalls === "number" ? `${subAgent.runnerToolCalls} tool call(s)` : ""
667702
667737
  ].filter(Boolean).join(", ");
667703
667738
  const done = finalText || summary || "Run completed.";
667739
+ const failures = this.telegramAdminUnrecoveredToolFailures(subAgent);
667704
667740
  const verified = [
667705
667741
  `Backend status: ${subAgent.runnerStatus || (subAgent.runnerCompleted ? "completed" : "unknown")}.`,
667706
667742
  stats ? `Run shape: ${stats}.` : "",
667743
+ failures.length > 0 ? `⚠ ${failures.length} tool call(s) failed without a confirmed retry — treat any success claim above as unverified.` : "",
667707
667744
  summary && summary !== finalText ? `Runner summary: ${summary}` : ""
667708
667745
  ].filter(Boolean).join("\n");
667746
+ const blocked = failures.length > 0 ? `${failures.length} tool call(s) failed and were not confirmed recovered:
667747
+ ${failures.join("\n")}` : "None reported by the runner.";
667709
667748
  return [
667710
667749
  `Done:
667711
667750
  ${done}`,
667712
667751
  `Verified:
667713
667752
  ${verified || "Completion boundary observed."}`,
667714
667753
  `Not verified / blocked:
667715
- None reported by the runner.`,
667754
+ ${blocked}`,
667716
667755
  `Evidence:
667717
667756
  ${signals || summary || "Canonical runner status reported completed."}`
667718
667757
  ].join("\n\n");
@@ -673900,18 +673939,27 @@ Content-Type: ${contentType}\r
673900
673939
  parts.push(Buffer.from(`--${boundary}--\r
673901
673940
  `));
673902
673941
  const body = Buffer.concat(parts);
673903
- const res = await fetch(
673904
- `https://api.telegram.org/bot${this.botToken}/${method}`,
673905
- {
673942
+ const uploadUrl = `https://api.telegram.org/bot${this.botToken}/${method}`;
673943
+ const MAX_UPLOAD_ATTEMPTS = 4;
673944
+ const PER_RETRY_WAIT_CAP_MS = 3e4;
673945
+ let result = {};
673946
+ for (let attempt = 1; attempt <= MAX_UPLOAD_ATTEMPTS; attempt++) {
673947
+ const res = await fetch(uploadUrl, {
673906
673948
  method: "POST",
673907
673949
  headers: {
673908
673950
  "Content-Type": `multipart/form-data; boundary=${boundary}`,
673909
673951
  "Content-Length": String(body.length)
673910
673952
  },
673911
673953
  body
673912
- }
673913
- );
673914
- const result = await res.json();
673954
+ });
673955
+ result = await res.json();
673956
+ if (result.ok) break;
673957
+ const retryAfterSec = result["error_code"] === 429 ? Number(result["parameters"]?.retry_after) : NaN;
673958
+ const canRetry = Number.isFinite(retryAfterSec) && retryAfterSec > 0 && attempt < MAX_UPLOAD_ATTEMPTS && !this.abortController?.signal.aborted;
673959
+ if (!canRetry) break;
673960
+ const waitMs = Math.min(retryAfterSec * 1e3, PER_RETRY_WAIT_CAP_MS);
673961
+ await new Promise((r2) => setTimeout(r2, waitMs));
673962
+ }
673915
673963
  if (result.ok) {
673916
673964
  this.state.messagesSent++;
673917
673965
  const outboundMessageId = result.result?.message_id ?? null;
@@ -692644,7 +692692,7 @@ __export(serve_exports, {
692644
692692
  });
692645
692693
  import * as http5 from "node:http";
692646
692694
  import * as https3 from "node:https";
692647
- import { createRequire as createRequire7 } from "node:module";
692695
+ import { createRequire as createRequire8 } from "node:module";
692648
692696
  import { fileURLToPath as fileURLToPath19 } from "node:url";
692649
692697
  import { dirname as dirname49, join as join165, resolve as resolve65 } from "node:path";
692650
692698
  import { homedir as homedir58 } from "node:os";
@@ -697535,8 +697583,8 @@ async function handleRequest(req3, res, ollamaUrl, verbose, runtimeDefaults = {}
697535
697583
  const entry = fileMap[pathname];
697536
697584
  if (entry) {
697537
697585
  try {
697538
- const { createRequire: createRequire10 } = await import("node:module");
697539
- const req22 = createRequire10(import.meta.url);
697586
+ const { createRequire: createRequire11 } = await import("node:module");
697587
+ const req22 = createRequire11(import.meta.url);
697540
697588
  const cssEntry = req22.resolve("swagger-ui-dist/swagger-ui.css");
697541
697589
  const fs11 = await import("node:fs");
697542
697590
  const path12 = await import("node:path");
@@ -702746,7 +702794,7 @@ var init_serve = __esm({
702746
702794
  init_docker();
702747
702795
  init_typed_node_events();
702748
702796
  init_secret_redactor();
702749
- require4 = createRequire7(import.meta.url);
702797
+ require4 = createRequire8(import.meta.url);
702750
702798
  NEXUS_DIRECTORY_ORIGIN2 = (process.env["OMNIUS_NEXUS_DIRECTORY_ORIGIN"] || process.env["OMNIUS_NEXUS_SIGNALING_SERVER"] || "https://openagents.nexus").replace(/\/+$/, "");
702751
702799
  NEXUS_SPONSORS_URL2 = `${NEXUS_DIRECTORY_ORIGIN2}/api/v1/sponsors`;
702752
702800
  endpointRegistry = [];
@@ -702849,7 +702897,7 @@ var init_clipboard_media = __esm({
702849
702897
  // packages/cli/src/tui/interactive.ts
702850
702898
  import { cwd } from "node:process";
702851
702899
  import { resolve as resolve66, join as join167, dirname as dirname50, extname as extname21, relative as relative17, sep as sep5 } from "node:path";
702852
- import { createRequire as createRequire8 } from "node:module";
702900
+ import { createRequire as createRequire9 } from "node:module";
702853
702901
  import { fileURLToPath as fileURLToPath20 } from "node:url";
702854
702902
  import {
702855
702903
  readFileSync as readFileSync127,
@@ -702875,7 +702923,7 @@ function formatTimeAgo2(date) {
702875
702923
  }
702876
702924
  function getVersion4() {
702877
702925
  try {
702878
- const require5 = createRequire8(import.meta.url);
702926
+ const require5 = createRequire9(import.meta.url);
702879
702927
  const thisDir = dirname50(fileURLToPath20(import.meta.url));
702880
702928
  const candidates = [
702881
702929
  join167(thisDir, "..", "package.json"),
@@ -713773,16 +713821,27 @@ var init_eval = __esm({
713773
713821
  }
713774
713822
  });
713775
713823
 
713824
+ // packages/cli/src/node-compat.ts
713825
+ import { createRequire } from "node:module";
713826
+ var _require = createRequire(import.meta.url);
713827
+ try {
713828
+ const workerThreads = _require("node:worker_threads");
713829
+ if (typeof workerThreads.markAsUncloneable === "undefined") {
713830
+ workerThreads.markAsUncloneable = (value2) => value2;
713831
+ }
713832
+ } catch {
713833
+ }
713834
+
713776
713835
  // packages/cli/src/index.ts
713777
713836
  init_config();
713778
713837
  init_output();
713779
713838
  init_updater();
713780
713839
  init_typed_node_events();
713781
713840
  init_dist5();
713782
- import { createRequire as createRequire9 } from "node:module";
713783
713841
  import { parseArgs as nodeParseArgs2 } from "node:util";
713784
713842
  import { fileURLToPath as fileURLToPath21 } from "node:url";
713785
713843
  import { dirname as dirname51, join as join171 } from "node:path";
713844
+ import { createRequire as createRequire10 } from "node:module";
713786
713845
 
713787
713846
  // packages/cli/src/cli.ts
713788
713847
  init_typed_node_events();
@@ -713926,17 +713985,9 @@ Options:
713926
713985
  init_config();
713927
713986
  init_spinner();
713928
713987
  init_output();
713929
- var _require = createRequire9(import.meta.url);
713930
- try {
713931
- const workerThreads = _require("node:worker_threads");
713932
- if (typeof workerThreads.markAsUncloneable === "undefined") {
713933
- workerThreads.markAsUncloneable = (value2) => value2;
713934
- }
713935
- } catch {
713936
- }
713937
713988
  function getVersion5() {
713938
713989
  try {
713939
- const require5 = createRequire9(import.meta.url);
713990
+ const require5 = createRequire10(import.meta.url);
713940
713991
  const pkgPath = join171(dirname51(fileURLToPath21(import.meta.url)), "..", "package.json");
713941
713992
  const pkg = require5(pkgPath);
713942
713993
  return pkg.version;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.309",
3
+ "version": "1.0.311",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.309",
9
+ "version": "1.0.311",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.309",
3
+ "version": "1.0.311",
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/index.js",