open-agents-ai 0.187.518 → 0.187.520

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
@@ -525020,23 +525020,30 @@ __export(errorClusterTracker_exports, {
525020
525020
  ErrorClusterTracker: () => ErrorClusterTracker,
525021
525021
  parseErrors: () => parseErrors
525022
525022
  });
525023
+ function stripLogPacketLinePrefix(text) {
525024
+ return text.replace(/^[ \t]*\d+:[ \t]+/gm, "");
525025
+ }
525023
525026
  function parseErrors(output) {
525024
525027
  if (!output || typeof output !== "string")
525025
525028
  return [];
525026
525029
  const seen = /* @__PURE__ */ new Set();
525027
525030
  const out = [];
525028
- for (const { re, build } of ERROR_PATTERNS) {
525029
- re.lastIndex = 0;
525030
- let m2;
525031
- while ((m2 = re.exec(output)) !== null) {
525032
- const err = build(m2);
525033
- if (!err)
525034
- continue;
525035
- const key = `${err.file}|${err.line ?? ""}|${err.col ?? ""}|${err.code}|${err.message.slice(0, 32)}`;
525036
- if (seen.has(key))
525037
- continue;
525038
- seen.add(key);
525039
- out.push(err);
525031
+ const stripped = stripLogPacketLinePrefix(output);
525032
+ const inputs = stripped === output ? [output] : [output, stripped];
525033
+ for (const input of inputs) {
525034
+ for (const { re, build } of ERROR_PATTERNS) {
525035
+ re.lastIndex = 0;
525036
+ let m2;
525037
+ while ((m2 = re.exec(input)) !== null) {
525038
+ const err = build(m2);
525039
+ if (!err)
525040
+ continue;
525041
+ const key = `${err.file}|${err.line ?? ""}|${err.col ?? ""}|${err.code}|${err.message.slice(0, 32)}`;
525042
+ if (seen.has(key))
525043
+ continue;
525044
+ seen.add(key);
525045
+ out.push(err);
525046
+ }
525040
525047
  }
525041
525048
  }
525042
525049
  return out;
@@ -525134,6 +525141,40 @@ If your import expects a runtime value but the suggested name is a type, ADD a r
525134
525141
  code: m2[2],
525135
525142
  message: (m2[3] ?? "").trim().slice(0, 240)
525136
525143
  })
525144
+ },
525145
+ // Style E: Manifest invariant violated — the npm-install-thrash signature.
525146
+ // Generated by postActionVerifier when an install command claimed success
525147
+ // but the manifest's declared deps did not actually land in node_modules
525148
+ // (or equivalent install root). This is a SEMANTIC error not surfaced
525149
+ // by any compiler/linter — without a pattern here the cluster tracker
525150
+ // never sees it, REG-58/59/60 fire with rca3_preamble=none, and the agent
525151
+ // gets no targeted hint. Real-world impact: midi/seed-midi hit this 20×
525152
+ // in batch520 and never received guidance on the actual blocker.
525153
+ //
525154
+ // Tolerates an optional "Error: " prefix because the shell tool wraps
525155
+ // synthetic verifier errors in that shape before returning to the runner.
525156
+ {
525157
+ re: /^(?:Error:\s*)?Manifest invariant violated:\s+(\S+?(?:package\.json|requirements\.txt|Cargo\.toml|go\.mod|Gemfile|pyproject\.toml|composer\.json))\s+declares\s+\d+\s+deps,\s+but\s+\d+\s+are\s+not\s+present\s+in\s+(\S+?)\.\s*Missing:\s*([^.\n]+)/gm,
525158
+ build: (m2) => {
525159
+ const file = m2[1];
525160
+ const installRoot = m2[2];
525161
+ const missing = (m2[3] ?? "").trim().slice(0, 240);
525162
+ const hint = `Your last install command claimed success, but the declared dependencies are NOT actually present in '${installRoot}'. That means the install was a no-op — common causes:
525163
+ (1) ran install in the wrong cwd (verify with 'pwd' before installing)
525164
+ (2) used a flag that diverts target dir (--global, --prefix=/elsewhere, OS package mgr)
525165
+ (3) lockfile / registry mismatch silently failed
525166
+ (4) running pip/python and node side-by-side and confusing the two
525167
+ RECOVERY: cd to the directory containing '${file}', run a plain install with no flags, then VERIFY by listing '${installRoot}' AFTER install — do not trust the install's exit code alone. Missing deps for reference: ${missing.slice(0, 120)}`;
525168
+ const out = {
525169
+ file,
525170
+ severity: "error",
525171
+ code: "MANIFEST_INVARIANT",
525172
+ message: `Missing: ${missing}`.slice(0, 240)
525173
+ };
525174
+ if (process.env["OA_DISABLE_MANIFEST_HINT"] !== "1")
525175
+ out.hint = hint;
525176
+ return out;
525177
+ }
525137
525178
  }
525138
525179
  ];
525139
525180
  DEFAULTS = {
@@ -526210,6 +526251,33 @@ Your hypotheses MUST address this specific error, not generic causes.
526210
526251
  return "";
526211
526252
  }
526212
526253
  }
526254
+ /**
526255
+ * RCA-3-VISIBILITY: returns a compact telemetry record about the top cluster
526256
+ * the preamble would inject. Used by REG-58/59/60 emit() sites to attach
526257
+ * "rca3_preamble=applied|none" + cluster code + has-hint flag to the status
526258
+ * event, so log analysis can verify the hint pipeline actually fired in
526259
+ * production runs (not just that the trip-wire fired). Returns null when
526260
+ * no tracker is live or no clusters exist (matches preamble's empty-string
526261
+ * no-op behavior).
526262
+ */
526263
+ _describeTopClusterTelemetry() {
526264
+ try {
526265
+ const ec = this._errorClusterTracker;
526266
+ if (!ec || typeof ec.topClusters !== "function")
526267
+ return null;
526268
+ const top = ec.topClusters(1);
526269
+ if (!Array.isArray(top) || top.length === 0)
526270
+ return null;
526271
+ const t2 = top[0];
526272
+ return {
526273
+ code: (t2.code || "").toString(),
526274
+ observations: typeof t2.observations === "number" ? t2.observations : 0,
526275
+ hasHint: typeof t2.hint === "string" && t2.hint.length > 0
526276
+ };
526277
+ } catch {
526278
+ return null;
526279
+ }
526280
+ }
526213
526281
  readSessionTodos() {
526214
526282
  try {
526215
526283
  const sid = process.env["OA_SESSION_ID"] || this._sessionId || "default";
@@ -528466,9 +528534,11 @@ Respond with EXACTLY this structure before your next tool call:
528466
528534
  If the hypothesis cannot be tested by a creative edit, ask the human via task_complete with summary 'BLOCKED: <reason>'.`;
528467
528535
  messages2.push({ role: "system", content: replan });
528468
528536
  stagnationCooldownUntilTurn = turn + 8;
528537
+ const _tel58 = this._describeTopClusterTelemetry();
528538
+ const _telSuffix58 = _tel58 ? `; rca3_preamble=applied; top_cluster=${_tel58.code} (${_tel58.observations}×); has_hint=${_tel58.hasHint}` : `; rca3_preamble=none`;
528469
528539
  this.emit({
528470
528540
  type: "status",
528471
- content: `REG-58 NO-WRITE STAGNATION — ${gap} turns since last creative edit (turn ${this._lastFileWriteTurn})`,
528541
+ content: `REG-58 NO-WRITE STAGNATION — ${gap} turns since last creative edit (turn ${this._lastFileWriteTurn})${_telSuffix58}`,
528472
528542
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
528473
528543
  });
528474
528544
  this._lastFileWriteTurn = turn;
@@ -528496,9 +528566,11 @@ Respond with EXACTLY this structure before your next tool call:
528496
528566
  NEXT ACTION: <a single creative edit — file_write / file_edit / batch_edit>`;
528497
528567
  messages2.push({ role: "system", content: _replan60 });
528498
528568
  stagnationCooldownUntilTurn = turn + REG60_COOLDOWN_TURNS;
528569
+ const _tel60 = this._describeTopClusterTelemetry();
528570
+ const _telSuffix60 = _tel60 ? `; rca3_preamble=applied; top_cluster=${_tel60.code} (${_tel60.observations}×); has_hint=${_tel60.hasHint}` : `; rca3_preamble=none`;
528499
528571
  this.emit({
528500
528572
  type: "status",
528501
- content: `REG-60 LOW-WRITE-RATE — ${recentWrites} creative edits in last 60 min (threshold ${REG60_MIN_WRITES})`,
528573
+ content: `REG-60 LOW-WRITE-RATE — ${recentWrites} creative edits in last 60 min (threshold ${REG60_MIN_WRITES})${_telSuffix60}`,
528502
528574
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
528503
528575
  });
528504
528576
  }
@@ -530438,9 +530510,11 @@ Respond with EXACTLY this structure before your next tool call:
530438
530510
  NEXT ACTION: <single tool call that tests the picked hypothesis — preferably a creative edit, not a read>`
530439
530511
  });
530440
530512
  stagnationCooldownUntilTurn = turn + 8;
530513
+ const _tel59 = this._describeTopClusterTelemetry();
530514
+ const _telSuffix59 = _tel59 ? `; rca3_preamble=applied; top_cluster=${_tel59.code} (${_tel59.observations}×); has_hint=${_tel59.hasHint}` : `; rca3_preamble=none`;
530441
530515
  this.emit({
530442
530516
  type: "status",
530443
- content: `REG-59 SAME-ERROR ESCALATION — forcing structured re-plan after 5+ identical cluster hits`,
530517
+ content: `REG-59 SAME-ERROR ESCALATION — forcing structured re-plan after 5+ identical cluster hits${_telSuffix59}`,
530444
530518
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
530445
530519
  });
530446
530520
  }
@@ -604156,6 +604230,7 @@ ${entry.fullContent}`
604156
604230
  if (onCompaction) onCompaction();
604157
604231
  break;
604158
604232
  case "status":
604233
+ if (_apiCallbacks?.onStatus) _apiCallbacks.onStatus(event.content ?? "");
604159
604234
  if (isNeovimActive()) {
604160
604235
  writeToNeovimOutput(`\x1B[2m${event.content ?? ""}\x1B[0m\r
604161
604236
  `);
@@ -609065,6 +609140,9 @@ async function runJson(task, config, repoPath) {
609065
609140
  onToolResult: (tool, output, success) => {
609066
609141
  const capped = output && output.length > 4e3 ? output.slice(0, 3900) + `… [+${output.length - 3900} chars]` : output;
609067
609142
  origWrite(JSON.stringify({ type: "tool_result", tool, output: capped, success }) + "\n");
609143
+ },
609144
+ onStatus: (content) => {
609145
+ origWrite(JSON.stringify({ type: "status", content }) + "\n");
609068
609146
  }
609069
609147
  });
609070
609148
  result = {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.518",
3
+ "version": "0.187.520",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-agents-ai",
9
- "version": "0.187.518",
9
+ "version": "0.187.520",
10
10
  "hasInstallScript": true,
11
11
  "license": "CC-BY-NC-4.0",
12
12
  "dependencies": {
@@ -1433,127 +1433,127 @@
1433
1433
  }
1434
1434
  },
1435
1435
  "node_modules/@peculiar/asn1-cms": {
1436
- "version": "2.6.1",
1437
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz",
1438
- "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==",
1436
+ "version": "2.7.0",
1437
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.7.0.tgz",
1438
+ "integrity": "sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==",
1439
1439
  "license": "MIT",
1440
1440
  "dependencies": {
1441
- "@peculiar/asn1-schema": "^2.6.0",
1442
- "@peculiar/asn1-x509": "^2.6.1",
1443
- "@peculiar/asn1-x509-attr": "^2.6.1",
1441
+ "@peculiar/asn1-schema": "^2.7.0",
1442
+ "@peculiar/asn1-x509": "^2.7.0",
1443
+ "@peculiar/asn1-x509-attr": "^2.7.0",
1444
1444
  "asn1js": "^3.0.6",
1445
1445
  "tslib": "^2.8.1"
1446
1446
  }
1447
1447
  },
1448
1448
  "node_modules/@peculiar/asn1-csr": {
1449
- "version": "2.6.1",
1450
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz",
1451
- "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==",
1449
+ "version": "2.7.0",
1450
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.7.0.tgz",
1451
+ "integrity": "sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==",
1452
1452
  "license": "MIT",
1453
1453
  "dependencies": {
1454
- "@peculiar/asn1-schema": "^2.6.0",
1455
- "@peculiar/asn1-x509": "^2.6.1",
1454
+ "@peculiar/asn1-schema": "^2.7.0",
1455
+ "@peculiar/asn1-x509": "^2.7.0",
1456
1456
  "asn1js": "^3.0.6",
1457
1457
  "tslib": "^2.8.1"
1458
1458
  }
1459
1459
  },
1460
1460
  "node_modules/@peculiar/asn1-ecc": {
1461
- "version": "2.6.1",
1462
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz",
1463
- "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==",
1461
+ "version": "2.7.0",
1462
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.7.0.tgz",
1463
+ "integrity": "sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==",
1464
1464
  "license": "MIT",
1465
1465
  "dependencies": {
1466
- "@peculiar/asn1-schema": "^2.6.0",
1467
- "@peculiar/asn1-x509": "^2.6.1",
1466
+ "@peculiar/asn1-schema": "^2.7.0",
1467
+ "@peculiar/asn1-x509": "^2.7.0",
1468
1468
  "asn1js": "^3.0.6",
1469
1469
  "tslib": "^2.8.1"
1470
1470
  }
1471
1471
  },
1472
1472
  "node_modules/@peculiar/asn1-pfx": {
1473
- "version": "2.6.1",
1474
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz",
1475
- "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==",
1473
+ "version": "2.7.0",
1474
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.7.0.tgz",
1475
+ "integrity": "sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==",
1476
1476
  "license": "MIT",
1477
1477
  "dependencies": {
1478
- "@peculiar/asn1-cms": "^2.6.1",
1479
- "@peculiar/asn1-pkcs8": "^2.6.1",
1480
- "@peculiar/asn1-rsa": "^2.6.1",
1481
- "@peculiar/asn1-schema": "^2.6.0",
1478
+ "@peculiar/asn1-cms": "^2.7.0",
1479
+ "@peculiar/asn1-pkcs8": "^2.7.0",
1480
+ "@peculiar/asn1-rsa": "^2.7.0",
1481
+ "@peculiar/asn1-schema": "^2.7.0",
1482
1482
  "asn1js": "^3.0.6",
1483
1483
  "tslib": "^2.8.1"
1484
1484
  }
1485
1485
  },
1486
1486
  "node_modules/@peculiar/asn1-pkcs8": {
1487
- "version": "2.6.1",
1488
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz",
1489
- "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==",
1487
+ "version": "2.7.0",
1488
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.7.0.tgz",
1489
+ "integrity": "sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==",
1490
1490
  "license": "MIT",
1491
1491
  "dependencies": {
1492
- "@peculiar/asn1-schema": "^2.6.0",
1493
- "@peculiar/asn1-x509": "^2.6.1",
1492
+ "@peculiar/asn1-schema": "^2.7.0",
1493
+ "@peculiar/asn1-x509": "^2.7.0",
1494
1494
  "asn1js": "^3.0.6",
1495
1495
  "tslib": "^2.8.1"
1496
1496
  }
1497
1497
  },
1498
1498
  "node_modules/@peculiar/asn1-pkcs9": {
1499
- "version": "2.6.1",
1500
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz",
1501
- "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==",
1499
+ "version": "2.7.0",
1500
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.7.0.tgz",
1501
+ "integrity": "sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==",
1502
1502
  "license": "MIT",
1503
1503
  "dependencies": {
1504
- "@peculiar/asn1-cms": "^2.6.1",
1505
- "@peculiar/asn1-pfx": "^2.6.1",
1506
- "@peculiar/asn1-pkcs8": "^2.6.1",
1507
- "@peculiar/asn1-schema": "^2.6.0",
1508
- "@peculiar/asn1-x509": "^2.6.1",
1509
- "@peculiar/asn1-x509-attr": "^2.6.1",
1504
+ "@peculiar/asn1-cms": "^2.7.0",
1505
+ "@peculiar/asn1-pfx": "^2.7.0",
1506
+ "@peculiar/asn1-pkcs8": "^2.7.0",
1507
+ "@peculiar/asn1-schema": "^2.7.0",
1508
+ "@peculiar/asn1-x509": "^2.7.0",
1509
+ "@peculiar/asn1-x509-attr": "^2.7.0",
1510
1510
  "asn1js": "^3.0.6",
1511
1511
  "tslib": "^2.8.1"
1512
1512
  }
1513
1513
  },
1514
1514
  "node_modules/@peculiar/asn1-rsa": {
1515
- "version": "2.6.1",
1516
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz",
1517
- "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==",
1515
+ "version": "2.7.0",
1516
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.7.0.tgz",
1517
+ "integrity": "sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==",
1518
1518
  "license": "MIT",
1519
1519
  "dependencies": {
1520
- "@peculiar/asn1-schema": "^2.6.0",
1521
- "@peculiar/asn1-x509": "^2.6.1",
1520
+ "@peculiar/asn1-schema": "^2.7.0",
1521
+ "@peculiar/asn1-x509": "^2.7.0",
1522
1522
  "asn1js": "^3.0.6",
1523
1523
  "tslib": "^2.8.1"
1524
1524
  }
1525
1525
  },
1526
1526
  "node_modules/@peculiar/asn1-schema": {
1527
- "version": "2.6.0",
1528
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz",
1529
- "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==",
1527
+ "version": "2.7.0",
1528
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.7.0.tgz",
1529
+ "integrity": "sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==",
1530
1530
  "license": "MIT",
1531
1531
  "dependencies": {
1532
+ "@peculiar/utils": "^2.0.2",
1532
1533
  "asn1js": "^3.0.6",
1533
- "pvtsutils": "^1.3.6",
1534
1534
  "tslib": "^2.8.1"
1535
1535
  }
1536
1536
  },
1537
1537
  "node_modules/@peculiar/asn1-x509": {
1538
- "version": "2.6.1",
1539
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz",
1540
- "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==",
1538
+ "version": "2.7.0",
1539
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.7.0.tgz",
1540
+ "integrity": "sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==",
1541
1541
  "license": "MIT",
1542
1542
  "dependencies": {
1543
- "@peculiar/asn1-schema": "^2.6.0",
1543
+ "@peculiar/asn1-schema": "^2.7.0",
1544
+ "@peculiar/utils": "^2.0.2",
1544
1545
  "asn1js": "^3.0.6",
1545
- "pvtsutils": "^1.3.6",
1546
1546
  "tslib": "^2.8.1"
1547
1547
  }
1548
1548
  },
1549
1549
  "node_modules/@peculiar/asn1-x509-attr": {
1550
- "version": "2.6.1",
1551
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz",
1552
- "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==",
1550
+ "version": "2.7.0",
1551
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.7.0.tgz",
1552
+ "integrity": "sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==",
1553
1553
  "license": "MIT",
1554
1554
  "dependencies": {
1555
- "@peculiar/asn1-schema": "^2.6.0",
1556
- "@peculiar/asn1-x509": "^2.6.1",
1555
+ "@peculiar/asn1-schema": "^2.7.0",
1556
+ "@peculiar/asn1-x509": "^2.7.0",
1557
1557
  "asn1js": "^3.0.6",
1558
1558
  "tslib": "^2.8.1"
1559
1559
  }
@@ -1571,25 +1571,25 @@
1571
1571
  }
1572
1572
  },
1573
1573
  "node_modules/@peculiar/utils": {
1574
- "version": "2.0.2",
1575
- "resolved": "https://registry.npmjs.org/@peculiar/utils/-/utils-2.0.2.tgz",
1576
- "integrity": "sha512-lHhrK/1QAXGn0GUYkme7t4zo0mQ5QIp+/8YED6pzu8AQFdjA9bAXeNURAHk4sw7n9i89MMNQVom0LkuuLUZMog==",
1574
+ "version": "2.0.3",
1575
+ "resolved": "https://registry.npmjs.org/@peculiar/utils/-/utils-2.0.3.tgz",
1576
+ "integrity": "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==",
1577
1577
  "license": "MIT",
1578
1578
  "dependencies": {
1579
1579
  "tslib": "^2.8.1"
1580
1580
  }
1581
1581
  },
1582
1582
  "node_modules/@peculiar/webcrypto": {
1583
- "version": "1.7.0",
1584
- "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.7.0.tgz",
1585
- "integrity": "sha512-04vwLd8VKfvsq3CsW5Xix6Xs9wAMK/xci/TO2T/VFLRGlYa06RGiUS9eClwnAx3z5XIjf0EdmHlmGcNzlBJLmA==",
1583
+ "version": "1.7.1",
1584
+ "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.7.1.tgz",
1585
+ "integrity": "sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==",
1586
1586
  "license": "MIT",
1587
1587
  "dependencies": {
1588
- "@peculiar/asn1-schema": "^2.6.0",
1588
+ "@peculiar/asn1-schema": "^2.7.0",
1589
1589
  "@peculiar/json-schema": "^1.1.12",
1590
- "@peculiar/utils": "^2.0.1",
1590
+ "@peculiar/utils": "^2.0.2",
1591
1591
  "tslib": "^2.8.1",
1592
- "webcrypto-core": "^1.9.0"
1592
+ "webcrypto-core": "^1.9.2"
1593
1593
  },
1594
1594
  "engines": {
1595
1595
  "node": ">=14.18.0"
@@ -2145,9 +2145,9 @@
2145
2145
  }
2146
2146
  },
2147
2147
  "node_modules/bare-os": {
2148
- "version": "3.9.0",
2149
- "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz",
2150
- "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==",
2148
+ "version": "3.9.1",
2149
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.1.tgz",
2150
+ "integrity": "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==",
2151
2151
  "license": "Apache-2.0",
2152
2152
  "optional": true,
2153
2153
  "engines": {
@@ -4930,9 +4930,9 @@
4930
4930
  }
4931
4931
  },
4932
4932
  "node_modules/node-abi": {
4933
- "version": "3.89.0",
4934
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz",
4935
- "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==",
4933
+ "version": "3.90.0",
4934
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.90.0.tgz",
4935
+ "integrity": "sha512-pZNQT7UnYlMwMBy5N1lV5X/YLTbZM5ncytN3xL7CHEzhDN8uVe0u55yaPUJICIJjaCW8NrM5BFdqr7HLweStNA==",
4936
4936
  "license": "MIT",
4937
4937
  "dependencies": {
4938
4938
  "semver": "^7.3.5"
@@ -6827,14 +6827,14 @@
6827
6827
  }
6828
6828
  },
6829
6829
  "node_modules/webcrypto-core": {
6830
- "version": "1.9.0",
6831
- "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.9.0.tgz",
6832
- "integrity": "sha512-ULMJZdRaACcQym3tuBEVcFHRfIbO2sbgBd2eIzo+KYk5eRk9wNxB8td9mX3mmAytLrtE4MRfYSwE1irSw1iGAg==",
6830
+ "version": "1.9.2",
6831
+ "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.9.2.tgz",
6832
+ "integrity": "sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==",
6833
6833
  "license": "MIT",
6834
6834
  "dependencies": {
6835
- "@peculiar/asn1-schema": "^2.6.0",
6835
+ "@peculiar/asn1-schema": "^2.7.0",
6836
6836
  "@peculiar/json-schema": "^1.1.12",
6837
- "@peculiar/utils": "^2.0.1",
6837
+ "@peculiar/utils": "^2.0.2",
6838
6838
  "asn1js": "^3.0.10",
6839
6839
  "tslib": "^2.8.1"
6840
6840
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.518",
3
+ "version": "0.187.520",
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",