omnius 1.0.711 → 1.0.713

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.
@@ -88,12 +88,14 @@ var init_process_kill = __esm({
88
88
  });
89
89
 
90
90
  // packages/execution/dist/process-lifecycle.js
91
- var PROCESS_LEASE_STALE_MS;
91
+ var PROCESS_LEASE_STALE_MS, PROCESS_LEASE_LOG_MAX_BYTES, PROCESS_LEASE_TERMINAL_RETENTION_MS;
92
92
  var init_process_lifecycle = __esm({
93
93
  "packages/execution/dist/process-lifecycle.js"() {
94
94
  "use strict";
95
95
  init_process_kill();
96
96
  PROCESS_LEASE_STALE_MS = 10 * 6e4;
97
+ PROCESS_LEASE_LOG_MAX_BYTES = 32 * 1024 * 1024;
98
+ PROCESS_LEASE_TERMINAL_RETENTION_MS = 24 * 60 * 6e4;
97
99
  }
98
100
  });
99
101
 
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: 38023158 bytes
4
- sha256: 31bd20ee378fb4ab8d08622d3631f635c227a1ece7835f7bda787c8eb204c56a
3
+ size: 38023192 bytes
4
+ sha256: 4f1434722eb8c289b352fbcb57f2baa19610b5e26059a9b03d1665f96ecf1710
package/dist/library.js CHANGED
@@ -88,12 +88,14 @@ var init_process_kill = __esm({
88
88
  });
89
89
 
90
90
  // packages/execution/dist/process-lifecycle.js
91
- var PROCESS_LEASE_STALE_MS;
91
+ var PROCESS_LEASE_STALE_MS, PROCESS_LEASE_LOG_MAX_BYTES, PROCESS_LEASE_TERMINAL_RETENTION_MS;
92
92
  var init_process_lifecycle = __esm({
93
93
  "packages/execution/dist/process-lifecycle.js"() {
94
94
  "use strict";
95
95
  init_process_kill();
96
96
  PROCESS_LEASE_STALE_MS = 10 * 6e4;
97
+ PROCESS_LEASE_LOG_MAX_BYTES = 32 * 1024 * 1024;
98
+ PROCESS_LEASE_TERMINAL_RETENTION_MS = 24 * 60 * 6e4;
97
99
  }
98
100
  });
99
101
 
@@ -120,7 +120,7 @@ var init_process_kill = __esm({
120
120
 
121
121
  // packages/execution/dist/process-lifecycle.js
122
122
  import { randomUUID, createHash } from "node:crypto";
123
- import { appendFileSync, existsSync, mkdirSync, readFileSync, readlinkSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
123
+ import { appendFileSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readlinkSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
124
124
  import { homedir as homedir2 } from "node:os";
125
125
  import { dirname, isAbsolute, join, relative, resolve } from "node:path";
126
126
  function nowFrom(system) {
@@ -150,10 +150,81 @@ function safeParseJson(text) {
150
150
  return null;
151
151
  }
152
152
  }
153
+ function truncateForStore(value) {
154
+ if (value === void 0)
155
+ return void 0;
156
+ if (value.length <= PROCESS_LEASE_COMMAND_MAX_CHARS)
157
+ return value;
158
+ const dropped = value.length - PROCESS_LEASE_COMMAND_MAX_CHARS;
159
+ return `${value.slice(0, PROCESS_LEASE_COMMAND_MAX_CHARS)}...[truncated ${dropped} chars]`;
160
+ }
161
+ function sanitizeLeaseForStore(lease) {
162
+ const command = truncateForStore(lease.command);
163
+ const identityCommand = truncateForStore(lease.identity?.command);
164
+ if (command === lease.command && identityCommand === lease.identity?.command)
165
+ return lease;
166
+ const next = { ...lease, command };
167
+ if (lease.identity)
168
+ next.identity = { ...lease.identity, command: identityCommand };
169
+ return next;
170
+ }
171
+ function leaseEndedAt(lease) {
172
+ return lease.endedAt ?? lease.updatedAt ?? 0;
173
+ }
174
+ function pruneLeases(leases, now) {
175
+ const live = [];
176
+ const terminal = [];
177
+ for (const lease of leases) {
178
+ if (TERMINAL_LEASE_STATUSES.has(lease.status))
179
+ terminal.push(lease);
180
+ else
181
+ live.push(lease);
182
+ }
183
+ if (terminal.length === 0)
184
+ return live;
185
+ const retained = terminal.filter((lease) => now - leaseEndedAt(lease) <= PROCESS_LEASE_TERMINAL_RETENTION_MS).sort((a, b) => leaseEndedAt(b) - leaseEndedAt(a)).slice(0, PROCESS_LEASE_TERMINAL_MAX);
186
+ return live.concat(retained);
187
+ }
188
+ function readBoundedTextFile(path2, maxBytes) {
189
+ try {
190
+ if (statSync(path2).size > maxBytes)
191
+ return "";
192
+ return readFileSync(path2, "utf8");
193
+ } catch {
194
+ return "";
195
+ }
196
+ }
197
+ function readTailText(path2, maxBytes) {
198
+ let fd;
199
+ try {
200
+ const size = statSync(path2).size;
201
+ if (size === 0)
202
+ return "";
203
+ const length = Math.min(size, maxBytes);
204
+ const start = size - length;
205
+ const buffer = Buffer.allocUnsafe(length);
206
+ fd = openSync(path2, "r");
207
+ const read = readSync(fd, buffer, 0, length, start);
208
+ const text = buffer.subarray(0, read).toString("utf8");
209
+ if (start === 0)
210
+ return text;
211
+ const firstBreak = text.indexOf("\n");
212
+ return firstBreak === -1 ? "" : text.slice(firstBreak + 1);
213
+ } catch {
214
+ return "";
215
+ } finally {
216
+ if (fd !== void 0) {
217
+ try {
218
+ closeSync(fd);
219
+ } catch {
220
+ }
221
+ }
222
+ }
223
+ }
153
224
  function readActiveStore(options) {
154
225
  const activePath = activeFilePath(options);
155
226
  if (existsSync(activePath)) {
156
- const parsed = safeParseJson(readFileSync(activePath, "utf8"));
227
+ const parsed = safeParseJson(readBoundedTextFile(activePath, PROCESS_LEASE_LOG_MAX_BYTES));
157
228
  if (parsed?.version === 1 && Array.isArray(parsed.leases))
158
229
  return parsed;
159
230
  }
@@ -162,8 +233,8 @@ function readActiveStore(options) {
162
233
  function rebuildActiveStoreFromLog(options) {
163
234
  const logPath = jsonlFilePath(options);
164
235
  const byId = /* @__PURE__ */ new Map();
165
- if (existsSync(logPath)) {
166
- const text = readFileSync(logPath, "utf8");
236
+ const text = existsSync(logPath) ? readTailText(logPath, PROCESS_LEASE_LOG_MAX_BYTES) : "";
237
+ if (text) {
167
238
  for (const line of text.split("\n")) {
168
239
  const trimmed = line.trim();
169
240
  if (!trimmed)
@@ -184,15 +255,43 @@ function rebuildActiveStoreFromLog(options) {
184
255
  }
185
256
  function writeActiveStore(store, options) {
186
257
  const target = activeFilePath(options);
187
- mkdirSync(dirname(target), { recursive: true });
258
+ const now = nowFrom(options?.system);
259
+ const pruned = {
260
+ version: 1,
261
+ updatedAt: store.updatedAt ?? now,
262
+ leases: pruneLeases(store.leases, now).map(sanitizeLeaseForStore)
263
+ };
188
264
  const tmp = `${target}.${process.pid}.${randomUUID()}.tmp`;
189
- writeFileSync(tmp, JSON.stringify(store, null, 2));
190
- renameSync(tmp, target);
265
+ try {
266
+ mkdirSync(dirname(target), { recursive: true });
267
+ writeFileSync(tmp, JSON.stringify(pruned));
268
+ renameSync(tmp, target);
269
+ } catch {
270
+ try {
271
+ rmSync(tmp, { force: true });
272
+ } catch {
273
+ }
274
+ }
275
+ }
276
+ function rotateLeaseLogIfNeeded(logPath) {
277
+ try {
278
+ if (!existsSync(logPath))
279
+ return;
280
+ if (statSync(logPath).size <= PROCESS_LEASE_LOG_MAX_BYTES)
281
+ return;
282
+ renameSync(logPath, `${logPath}.1`);
283
+ } catch {
284
+ }
191
285
  }
192
286
  function appendLeaseEvent(type, lease, options) {
193
- const event = { type, at: nowFrom(options?.system), lease };
194
- appendFileSync(jsonlFilePath(options), `${JSON.stringify(event)}
287
+ const logPath = jsonlFilePath(options);
288
+ rotateLeaseLogIfNeeded(logPath);
289
+ const event = { type, at: nowFrom(options?.system), lease: sanitizeLeaseForStore(lease) };
290
+ try {
291
+ appendFileSync(logPath, `${JSON.stringify(event)}
195
292
  `);
293
+ } catch {
294
+ }
196
295
  }
197
296
  function newProcessLeaseId(prefix = "lease") {
198
297
  return `${prefix}-${randomUUID()}`;
@@ -497,15 +596,25 @@ function inspectRealProcess(pid) {
497
596
  }
498
597
  return identity;
499
598
  }
500
- var PROCESS_LEASE_STALE_MS, PROCESS_LEASE_TERM_GRACE_MS, ACTIVE_FILE, JSONL_FILE;
599
+ var PROCESS_LEASE_STALE_MS, PROCESS_LEASE_TERM_GRACE_MS, PROCESS_LEASE_LOG_MAX_BYTES, PROCESS_LEASE_TERMINAL_RETENTION_MS, PROCESS_LEASE_TERMINAL_MAX, PROCESS_LEASE_COMMAND_MAX_CHARS, ACTIVE_FILE, JSONL_FILE, TERMINAL_LEASE_STATUSES;
501
600
  var init_process_lifecycle = __esm({
502
601
  "packages/execution/dist/process-lifecycle.js"() {
503
602
  "use strict";
504
603
  init_process_kill();
505
604
  PROCESS_LEASE_STALE_MS = 10 * 6e4;
506
605
  PROCESS_LEASE_TERM_GRACE_MS = 1e4;
606
+ PROCESS_LEASE_LOG_MAX_BYTES = 32 * 1024 * 1024;
607
+ PROCESS_LEASE_TERMINAL_RETENTION_MS = 24 * 60 * 6e4;
608
+ PROCESS_LEASE_TERMINAL_MAX = 500;
609
+ PROCESS_LEASE_COMMAND_MAX_CHARS = 2e3;
507
610
  ACTIVE_FILE = "active.json";
508
611
  JSONL_FILE = "leases.jsonl";
612
+ TERMINAL_LEASE_STATUSES = /* @__PURE__ */ new Set([
613
+ "released",
614
+ "completed",
615
+ "dead",
616
+ "killed"
617
+ ]);
509
618
  }
510
619
  });
511
620
 
@@ -245060,7 +245169,7 @@ import { join as join18 } from "node:path";
245060
245169
 
245061
245170
  // packages/cli/src/daemon.ts
245062
245171
  import { spawn } from "node:child_process";
245063
- import { existsSync as existsSync5, readFileSync as readFileSync5, writeFileSync as writeFileSync3, mkdirSync as mkdirSync4, unlinkSync as unlinkSync2, openSync, closeSync, writeSync, statSync as statSync2, renameSync as renameSync3 } from "node:fs";
245172
+ import { existsSync as existsSync5, readFileSync as readFileSync5, writeFileSync as writeFileSync3, mkdirSync as mkdirSync4, unlinkSync as unlinkSync2, openSync as openSync2, closeSync as closeSync2, writeSync, statSync as statSync2, renameSync as renameSync3 } from "node:fs";
245064
245173
  import { join as join14 } from "node:path";
245065
245174
  import { homedir as homedir14 } from "node:os";
245066
245175
  import { createServer as createNetServer } from "node:net";
@@ -295743,14 +295852,14 @@ function claimDaemonEndpoint(port = getDaemonPort(), inheritedToken) {
295743
295852
  };
295744
295853
  let fd = null;
295745
295854
  try {
295746
- fd = openSync(lockFile, "wx", 384);
295855
+ fd = openSync2(lockFile, "wx", 384);
295747
295856
  writeSync(fd, JSON.stringify(record));
295748
- closeSync(fd);
295857
+ closeSync2(fd);
295749
295858
  return { endpoint, lockFile, pid: process.pid, port, token };
295750
295859
  } catch (error) {
295751
295860
  if (fd !== null) {
295752
295861
  try {
295753
- closeSync(fd);
295862
+ closeSync2(fd);
295754
295863
  } catch {
295755
295864
  }
295756
295865
  try {
@@ -296217,8 +296326,8 @@ async function startDaemon(port = getDaemonPort(), preferredEntrypoint) {
296217
296326
  let outFd = null;
296218
296327
  let errFd = null;
296219
296328
  try {
296220
- outFd = openSync(join14(OMNIUS_DIR, "daemon.log"), "a");
296221
- errFd = openSync(join14(OMNIUS_DIR, "daemon.err.log"), "a");
296329
+ outFd = openSync2(join14(OMNIUS_DIR, "daemon.log"), "a");
296330
+ errFd = openSync2(join14(OMNIUS_DIR, "daemon.err.log"), "a");
296222
296331
  const leaseId = newProcessLeaseId("daemon");
296223
296332
  const ownerId = `daemon:${daemonPort}`;
296224
296333
  const child = spawn(daemonCommand.command, daemonCommand.args, {
@@ -296261,11 +296370,11 @@ async function startDaemon(port = getDaemonPort(), preferredEntrypoint) {
296261
296370
  return null;
296262
296371
  } finally {
296263
296372
  if (outFd !== null) try {
296264
- closeSync(outFd);
296373
+ closeSync2(outFd);
296265
296374
  } catch {
296266
296375
  }
296267
296376
  if (errFd !== null) try {
296268
- closeSync(errFd);
296377
+ closeSync2(errFd);
296269
296378
  } catch {
296270
296379
  }
296271
296380
  }
@@ -296297,10 +296406,10 @@ import { spawn as spawn2, spawnSync } from "node:child_process";
296297
296406
  import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
296298
296407
  import {
296299
296408
  chmodSync,
296300
- closeSync as closeSync2,
296409
+ closeSync as closeSync3,
296301
296410
  existsSync as existsSync6,
296302
296411
  mkdirSync as mkdirSync5,
296303
- openSync as openSync2,
296412
+ openSync as openSync3,
296304
296413
  readFileSync as readFileSync6,
296305
296414
  renameSync as renameSync4,
296306
296415
  statSync as statSync3,
@@ -296709,11 +296818,11 @@ async function runVerifiedUpdateTransaction(initial, dependencies, paths = resol
296709
296818
  // packages/cli/src/tray.ts
296710
296819
  import { spawn as spawn3, spawnSync as spawnSync2 } from "node:child_process";
296711
296820
  import {
296712
- closeSync as closeSync3,
296821
+ closeSync as closeSync4,
296713
296822
  chmodSync as chmodSync2,
296714
296823
  existsSync as existsSync7,
296715
296824
  mkdirSync as mkdirSync6,
296716
- openSync as openSync3,
296825
+ openSync as openSync4,
296717
296826
  readFileSync as readFileSync7,
296718
296827
  realpathSync,
296719
296828
  renameSync as renameSync5,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.711",
3
+ "version": "1.0.713",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.711",
9
+ "version": "1.0.713",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
@@ -1081,9 +1081,9 @@
1081
1081
  "license": "Apache-2.0 OR MIT"
1082
1082
  },
1083
1083
  "node_modules/@libp2p/noise/node_modules/protons-runtime": {
1084
- "version": "7.1.0",
1085
- "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.0.tgz",
1086
- "integrity": "sha512-TAL8CpKEUK+k0KKZIQrDTBgyH86zZAjz3ZULcCjxrb9zvkTVEGJyVbATmTV4KpZmFFEH7ERWDNWxfiE+N3bOUQ==",
1084
+ "version": "7.1.1",
1085
+ "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.1.tgz",
1086
+ "integrity": "sha512-c/PYyiENwXzz+JQDISCDfBFAxmASuDJfoUovBUa81WJ0F6RdEy/u6wHvLIgmrzyl+q3ulvVLTHNCErHs4X3cjA==",
1087
1087
  "license": "Apache-2.0 OR MIT",
1088
1088
  "dependencies": {
1089
1089
  "uint8-varint": "^3.0.0",
@@ -1167,9 +1167,9 @@
1167
1167
  "license": "Apache-2.0 OR MIT"
1168
1168
  },
1169
1169
  "node_modules/@libp2p/peer-record/node_modules/protons-runtime": {
1170
- "version": "7.1.0",
1171
- "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.0.tgz",
1172
- "integrity": "sha512-TAL8CpKEUK+k0KKZIQrDTBgyH86zZAjz3ZULcCjxrb9zvkTVEGJyVbATmTV4KpZmFFEH7ERWDNWxfiE+N3bOUQ==",
1170
+ "version": "7.1.1",
1171
+ "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.1.tgz",
1172
+ "integrity": "sha512-c/PYyiENwXzz+JQDISCDfBFAxmASuDJfoUovBUa81WJ0F6RdEy/u6wHvLIgmrzyl+q3ulvVLTHNCErHs4X3cjA==",
1173
1173
  "license": "Apache-2.0 OR MIT",
1174
1174
  "dependencies": {
1175
1175
  "uint8-varint": "^3.0.0",
@@ -1277,9 +1277,9 @@
1277
1277
  "license": "Apache-2.0 OR MIT"
1278
1278
  },
1279
1279
  "node_modules/@libp2p/record/node_modules/protons-runtime": {
1280
- "version": "7.1.0",
1281
- "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.0.tgz",
1282
- "integrity": "sha512-TAL8CpKEUK+k0KKZIQrDTBgyH86zZAjz3ZULcCjxrb9zvkTVEGJyVbATmTV4KpZmFFEH7ERWDNWxfiE+N3bOUQ==",
1280
+ "version": "7.1.1",
1281
+ "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.1.tgz",
1282
+ "integrity": "sha512-c/PYyiENwXzz+JQDISCDfBFAxmASuDJfoUovBUa81WJ0F6RdEy/u6wHvLIgmrzyl+q3ulvVLTHNCErHs4X3cjA==",
1283
1283
  "license": "Apache-2.0 OR MIT",
1284
1284
  "dependencies": {
1285
1285
  "uint8-varint": "^3.0.0",
@@ -1515,9 +1515,9 @@
1515
1515
  "license": "Apache-2.0 OR MIT"
1516
1516
  },
1517
1517
  "node_modules/@libp2p/webrtc/node_modules/node-datachannel": {
1518
- "version": "0.33.3",
1519
- "resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.3.tgz",
1520
- "integrity": "sha512-Tf7bbOjUXh7gPiWKTFpMDZXpippya6pdsEz3tgxsIJiW+BMLWSaX7O6F9kDjHu0GCan4vSmXlfA8l21O4D+K9Q==",
1518
+ "version": "0.33.4",
1519
+ "resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.4.tgz",
1520
+ "integrity": "sha512-qiUrdh8vY9XhglEnx91HK0N2JEAAu8qTZl0fcR3yQd0fFrdO39NwDeJD/KpG+WKUb9/o4p2UwnP+/HftA/xMbQ==",
1521
1521
  "license": "MPL 2.0",
1522
1522
  "dependencies": {
1523
1523
  "detect-libc": "^2.0.4"
@@ -1526,21 +1526,21 @@
1526
1526
  "node": ">=18.20.0"
1527
1527
  },
1528
1528
  "optionalDependencies": {
1529
- "@node-datachannel/android-arm64": "0.33.2",
1530
- "@node-datachannel/darwin-arm64": "0.33.2",
1531
- "@node-datachannel/darwin-x64": "0.33.2",
1532
- "@node-datachannel/linux-arm64-gnu": "0.33.2",
1533
- "@node-datachannel/linux-arm64-musl": "0.33.2",
1534
- "@node-datachannel/linux-x64-gnu": "0.33.2",
1535
- "@node-datachannel/linux-x64-musl": "0.33.2",
1536
- "@node-datachannel/win32-arm64-msvc": "0.33.2",
1537
- "@node-datachannel/win32-x64-msvc": "0.33.2"
1529
+ "@node-datachannel/android-arm64": "0.33.4",
1530
+ "@node-datachannel/darwin-arm64": "0.33.4",
1531
+ "@node-datachannel/darwin-x64": "0.33.4",
1532
+ "@node-datachannel/linux-arm64-gnu": "0.33.4",
1533
+ "@node-datachannel/linux-arm64-musl": "0.33.4",
1534
+ "@node-datachannel/linux-x64-gnu": "0.33.4",
1535
+ "@node-datachannel/linux-x64-musl": "0.33.4",
1536
+ "@node-datachannel/win32-arm64-msvc": "0.33.4",
1537
+ "@node-datachannel/win32-x64-msvc": "0.33.4"
1538
1538
  }
1539
1539
  },
1540
1540
  "node_modules/@libp2p/webrtc/node_modules/protons-runtime": {
1541
- "version": "7.1.0",
1542
- "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.0.tgz",
1543
- "integrity": "sha512-TAL8CpKEUK+k0KKZIQrDTBgyH86zZAjz3ZULcCjxrb9zvkTVEGJyVbATmTV4KpZmFFEH7ERWDNWxfiE+N3bOUQ==",
1541
+ "version": "7.1.1",
1542
+ "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.1.tgz",
1543
+ "integrity": "sha512-c/PYyiENwXzz+JQDISCDfBFAxmASuDJfoUovBUa81WJ0F6RdEy/u6wHvLIgmrzyl+q3ulvVLTHNCErHs4X3cjA==",
1544
1544
  "license": "Apache-2.0 OR MIT",
1545
1545
  "dependencies": {
1546
1546
  "uint8-varint": "^3.0.0",
@@ -1860,9 +1860,9 @@
1860
1860
  }
1861
1861
  },
1862
1862
  "node_modules/@node-datachannel/android-arm64": {
1863
- "version": "0.33.2",
1864
- "resolved": "https://registry.npmjs.org/@node-datachannel/android-arm64/-/android-arm64-0.33.2.tgz",
1865
- "integrity": "sha512-I71a0jICUNYgh4ZI5AcINEMuRtQSVyrpp4FV3kJZMcx31xS0vKKtf06tpsUAtW5uS+uRXbZR+vlMEqS1h710wQ==",
1863
+ "version": "0.33.4",
1864
+ "resolved": "https://registry.npmjs.org/@node-datachannel/android-arm64/-/android-arm64-0.33.4.tgz",
1865
+ "integrity": "sha512-Kd1K+drJlxdGmZYBlzh5HHX2E7les99eTWlt7WldZgvJmcGf2z9L/bnUVn4zbhNm2q/MtNZ2tPX2bd+fGlDDpQ==",
1866
1866
  "cpu": [
1867
1867
  "arm64"
1868
1868
  ],
@@ -1873,9 +1873,9 @@
1873
1873
  ]
1874
1874
  },
1875
1875
  "node_modules/@node-datachannel/darwin-arm64": {
1876
- "version": "0.33.2",
1877
- "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-arm64/-/darwin-arm64-0.33.2.tgz",
1878
- "integrity": "sha512-EwBGiaMh3MX6zjYoZHuK02Q6hmQQIvR39335Kb/ZnP3fXZU0/VWx6ksHLM6K0XFFYRfP+yJeVgU79g++xoeQpw==",
1876
+ "version": "0.33.4",
1877
+ "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-arm64/-/darwin-arm64-0.33.4.tgz",
1878
+ "integrity": "sha512-bkIA+IbModz/NUmbVYTSWj8dZvkiab+cU4zOa6rhfKsNcW3EkdD2/DDoJjUrRrw+LbEZ40V7NuAKUlMNFDXFsw==",
1879
1879
  "cpu": [
1880
1880
  "arm64"
1881
1881
  ],
@@ -1886,9 +1886,9 @@
1886
1886
  ]
1887
1887
  },
1888
1888
  "node_modules/@node-datachannel/darwin-x64": {
1889
- "version": "0.33.2",
1890
- "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-x64/-/darwin-x64-0.33.2.tgz",
1891
- "integrity": "sha512-a1nvL6MiskSjV3TWTNXdVpI/2kHNIOP2AbuBZjR5eC7VSrH/6hCFfHIBW4SFKXGFm8LOGliY9Df10UnJUutjwA==",
1889
+ "version": "0.33.4",
1890
+ "resolved": "https://registry.npmjs.org/@node-datachannel/darwin-x64/-/darwin-x64-0.33.4.tgz",
1891
+ "integrity": "sha512-+dLnwiwC3GdWqW0OQShZcSFYrx3hRx0+7U85swoiP3iiRqtDUARME6AIAmW3glpP0vmus1jv5KhPCy/Q+jAvqw==",
1892
1892
  "cpu": [
1893
1893
  "x64"
1894
1894
  ],
@@ -1899,9 +1899,9 @@
1899
1899
  ]
1900
1900
  },
1901
1901
  "node_modules/@node-datachannel/linux-arm64-gnu": {
1902
- "version": "0.33.2",
1903
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-gnu/-/linux-arm64-gnu-0.33.2.tgz",
1904
- "integrity": "sha512-YWAu3EiMl2HRi/fwWlfFTW30wFTkRVYJWRHQcI1uDSeZYG/tfyBqBy6CRy9Sgrb0xjOYZ6XhLDj8cdX0foPlpg==",
1902
+ "version": "0.33.4",
1903
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-gnu/-/linux-arm64-gnu-0.33.4.tgz",
1904
+ "integrity": "sha512-rR4yjwxpI1miLSrruLGcfR9yfw0Qebw+Twt+u+lKsL9SwmXxTm5pJhUAa9RU+c35oZ98IyAxGFjRwwq85BTbog==",
1905
1905
  "cpu": [
1906
1906
  "arm64"
1907
1907
  ],
@@ -1912,9 +1912,9 @@
1912
1912
  ]
1913
1913
  },
1914
1914
  "node_modules/@node-datachannel/linux-arm64-musl": {
1915
- "version": "0.33.2",
1916
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-musl/-/linux-arm64-musl-0.33.2.tgz",
1917
- "integrity": "sha512-16o3Ny5hbxTTjDmhsZog/t7p2tRP6s/Oa/V9kKzZfiGlCqvxxCE4ACOWw/MWHOhN0xI9/63IIRfrrnQnPxjK8g==",
1915
+ "version": "0.33.4",
1916
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-arm64-musl/-/linux-arm64-musl-0.33.4.tgz",
1917
+ "integrity": "sha512-MR4o1F0aREj/AtbNlXL20YiNx8/pDI8L/5B4Vr9ldiEDottD0IOdCd0khB8fpr5Np2CW7WwU9QG+uto00QGVdw==",
1918
1918
  "cpu": [
1919
1919
  "arm64"
1920
1920
  ],
@@ -1925,9 +1925,9 @@
1925
1925
  ]
1926
1926
  },
1927
1927
  "node_modules/@node-datachannel/linux-x64-gnu": {
1928
- "version": "0.33.2",
1929
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-gnu/-/linux-x64-gnu-0.33.2.tgz",
1930
- "integrity": "sha512-grLRAbZgSIX8nmObciblyCmnevDCst0snhV+z1fvDmUlzXIVXeDmv6lEzAaWs3KRleagqwSsFg5d1td1bwMT9w==",
1928
+ "version": "0.33.4",
1929
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-gnu/-/linux-x64-gnu-0.33.4.tgz",
1930
+ "integrity": "sha512-xN0x3lcQ87qwOAmf1dBLVWrYY40LQ7pM4Y9wuNjP+EtN4IwiXqrhPdgupzGAElxna+n2NgBG0gT60dZpgoYU2Q==",
1931
1931
  "cpu": [
1932
1932
  "x64"
1933
1933
  ],
@@ -1938,9 +1938,9 @@
1938
1938
  ]
1939
1939
  },
1940
1940
  "node_modules/@node-datachannel/linux-x64-musl": {
1941
- "version": "0.33.2",
1942
- "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-musl/-/linux-x64-musl-0.33.2.tgz",
1943
- "integrity": "sha512-PlpgvYjo+gmBhIkRFaZWIhCF335FMTJmCpl+FVa4XliEgyOqD+cvjQPWcbnlrA2Jd+QnLiZt+NxT7nv4QXpoiQ==",
1941
+ "version": "0.33.4",
1942
+ "resolved": "https://registry.npmjs.org/@node-datachannel/linux-x64-musl/-/linux-x64-musl-0.33.4.tgz",
1943
+ "integrity": "sha512-FWqJEjL7TqOPmsqdfwmG/BUwOXQN7MfpEU8kzw6ePbglUbwgdc3976Ls9BCBUXyPgEJyLo8YE1LJyWAlbXWyvA==",
1944
1944
  "cpu": [
1945
1945
  "x64"
1946
1946
  ],
@@ -1951,9 +1951,9 @@
1951
1951
  ]
1952
1952
  },
1953
1953
  "node_modules/@node-datachannel/win32-arm64-msvc": {
1954
- "version": "0.33.2",
1955
- "resolved": "https://registry.npmjs.org/@node-datachannel/win32-arm64-msvc/-/win32-arm64-msvc-0.33.2.tgz",
1956
- "integrity": "sha512-8NpHkm7R8EY0jHGHOXdK7K0wjWY34PJ+PJY++2VDHTAtXGazNm28zcnVE/4IU0N26YGdCDSSWat3OO3W6nwoRw==",
1954
+ "version": "0.33.4",
1955
+ "resolved": "https://registry.npmjs.org/@node-datachannel/win32-arm64-msvc/-/win32-arm64-msvc-0.33.4.tgz",
1956
+ "integrity": "sha512-TeDV2tSPm+qAnF6MIPlLFTIlobSYLwOVe3/wQl+8hD/q3cEPTQi7vByFaQQ5lRULKKdnjKRR5iDMsxMilqbtXA==",
1957
1957
  "cpu": [
1958
1958
  "arm64"
1959
1959
  ],
@@ -1964,9 +1964,9 @@
1964
1964
  ]
1965
1965
  },
1966
1966
  "node_modules/@node-datachannel/win32-x64-msvc": {
1967
- "version": "0.33.2",
1968
- "resolved": "https://registry.npmjs.org/@node-datachannel/win32-x64-msvc/-/win32-x64-msvc-0.33.2.tgz",
1969
- "integrity": "sha512-aLk0O/M1JNVpzxx4RVBXMJTMlpswE04Cz5baayKwuEN+qk9hO6DSJgYMR6Wq9a5zGYAmvLFlOg+LsePyXkWliA==",
1967
+ "version": "0.33.4",
1968
+ "resolved": "https://registry.npmjs.org/@node-datachannel/win32-x64-msvc/-/win32-x64-msvc-0.33.4.tgz",
1969
+ "integrity": "sha512-eU0w/9ykrNaA5vWs5gjVs3Qxa45jbQ8mYoMyh5OWnRCE5GzXKxHCpfhFUnO+jGqi0KxkyP0hSA6fiwXXkirk6g==",
1970
1970
  "cpu": [
1971
1971
  "x64"
1972
1972
  ],
@@ -2426,9 +2426,9 @@
2426
2426
  }
2427
2427
  },
2428
2428
  "node_modules/@types/node": {
2429
- "version": "22.20.2",
2430
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.2.tgz",
2431
- "integrity": "sha512-xlvWf4Vs9n1PEVYwP1n4vvG07M6y8WgvJ2t0vbrWTmijsIHp1cS+uJ2kMIRdY3nHZK0nCYKrPeD171+SzF4/zw==",
2429
+ "version": "22.20.3",
2430
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.3.tgz",
2431
+ "integrity": "sha512-DZmzkmwHzXrLPAXPyKNDzlIwMMUZCVacoD25ywdy5YTKGbOx/2ld+Q38Im2zJ0vBuZP5Prd3VZutKZyXwkOS8A==",
2432
2432
  "license": "MIT",
2433
2433
  "dependencies": {
2434
2434
  "undici-types": "~6.21.0"
@@ -2759,9 +2759,9 @@
2759
2759
  }
2760
2760
  },
2761
2761
  "node_modules/b4a": {
2762
- "version": "1.8.1",
2763
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz",
2764
- "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==",
2762
+ "version": "1.9.0",
2763
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.9.0.tgz",
2764
+ "integrity": "sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ==",
2765
2765
  "license": "Apache-2.0",
2766
2766
  "optional": true,
2767
2767
  "peerDependencies": {
@@ -3027,9 +3027,9 @@
3027
3027
  }
3028
3028
  },
3029
3029
  "node_modules/brace-expansion": {
3030
- "version": "5.0.9",
3031
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
3032
- "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
3030
+ "version": "5.0.12",
3031
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz",
3032
+ "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==",
3033
3033
  "license": "MIT",
3034
3034
  "dependencies": {
3035
3035
  "balanced-match": "^4.0.2"
@@ -3868,9 +3868,9 @@
3868
3868
  }
3869
3869
  },
3870
3870
  "node_modules/fast-uri": {
3871
- "version": "3.1.7",
3872
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
3873
- "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
3871
+ "version": "3.1.8",
3872
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz",
3873
+ "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==",
3874
3874
  "funding": [
3875
3875
  {
3876
3876
  "type": "github",
@@ -4354,9 +4354,9 @@
4354
4354
  }
4355
4355
  },
4356
4356
  "node_modules/hono": {
4357
- "version": "4.13.7",
4358
- "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.7.tgz",
4359
- "integrity": "sha512-c8/gF9ac8Y78/agExVocyLevgR+JlpNB444Py0FSX8pJoPdYUfUzRcXtYEYGwt6l19qIlVZPN5Mfsw9jFShmQQ==",
4357
+ "version": "4.13.8",
4358
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.8.tgz",
4359
+ "integrity": "sha512-/Gng7NfoykZl2pjukW5Z6+8Yxm3BPRf86GTbQnt0SbySkvax4fyL4H3HhY1cCpBGmiW9XDRFzRV+CXK2W8QudQ==",
4360
4360
  "license": "MIT",
4361
4361
  "engines": {
4362
4362
  "node": ">=16.9.0"
@@ -4484,9 +4484,9 @@
4484
4484
  "license": "Apache-2.0 OR MIT"
4485
4485
  },
4486
4486
  "node_modules/ip-address": {
4487
- "version": "10.7.0",
4488
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz",
4489
- "integrity": "sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==",
4487
+ "version": "10.7.2",
4488
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz",
4489
+ "integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==",
4490
4490
  "license": "MIT",
4491
4491
  "engines": {
4492
4492
  "node": ">= 12"
@@ -6235,9 +6235,9 @@
6235
6235
  }
6236
6236
  },
6237
6237
  "node_modules/p-event": {
6238
- "version": "7.1.0",
6239
- "resolved": "https://registry.npmjs.org/p-event/-/p-event-7.1.0.tgz",
6240
- "integrity": "sha512-/lkPs5W1aC3cp6vqZefpdosOn65J571sWodyfOQiF0+tmDCpU+H8Atwpu0vQROCVUlZuToDN5eyTLsMLLc54mg==",
6238
+ "version": "7.1.1",
6239
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-7.1.1.tgz",
6240
+ "integrity": "sha512-T629EpxCTho6yxIZz2dFZwMkyWUM5jh/0h1+u/Xo4+Fllu0DuKQF6ghqIgSWVTluIvHSXL+XBRScH+E+y9TQ0g==",
6241
6241
  "license": "MIT",
6242
6242
  "dependencies": {
6243
6243
  "p-timeout": "^7.0.1"
@@ -6281,9 +6281,9 @@
6281
6281
  }
6282
6282
  },
6283
6283
  "node_modules/p-timeout": {
6284
- "version": "7.0.1",
6285
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz",
6286
- "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==",
6284
+ "version": "7.0.2",
6285
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.2.tgz",
6286
+ "integrity": "sha512-prbX4Z3YszrFNgH+MW5Zoeq3baXrMtP/MQnFeET90UB/GtGcGDQ5Usg9OCy6ETjTTntOw1SL2z9fMPUppN3Guw==",
6287
6287
  "license": "MIT",
6288
6288
  "engines": {
6289
6289
  "node": ">=20"
@@ -6430,9 +6430,9 @@
6430
6430
  }
6431
6431
  },
6432
6432
  "node_modules/proxy-addr": {
6433
- "version": "2.0.7",
6434
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
6435
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
6433
+ "version": "2.0.8",
6434
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.8.tgz",
6435
+ "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==",
6436
6436
  "license": "MIT",
6437
6437
  "dependencies": {
6438
6438
  "forwarded": "0.2.0",
@@ -6440,6 +6440,10 @@
6440
6440
  },
6441
6441
  "engines": {
6442
6442
  "node": ">= 0.10"
6443
+ },
6444
+ "funding": {
6445
+ "type": "opencollective",
6446
+ "url": "https://opencollective.com/express"
6443
6447
  }
6444
6448
  },
6445
6449
  "node_modules/proxy-from-env": {
@@ -8049,9 +8053,9 @@
8049
8053
  }
8050
8054
  },
8051
8055
  "node_modules/zod": {
8052
- "version": "4.6.2",
8053
- "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.2.tgz",
8054
- "integrity": "sha512-lh5RCAGFa1Cm2hjtNwLQhSs/AsqdWnTQaBER9fEwN/88pSh7KOtJavtBx/0VlkN/uFd61SwYmljLMDAsHlvzBQ==",
8056
+ "version": "4.6.5",
8057
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz",
8058
+ "integrity": "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==",
8055
8059
  "license": "MIT",
8056
8060
  "funding": {
8057
8061
  "url": "https://github.com/sponsors/colinhacks"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.711",
3
+ "version": "1.0.713",
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",