open-agents-ai 0.187.501 → 0.187.502
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 +41 -6
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -528537,9 +528537,44 @@ ${tail}`;
|
|
|
528537
528537
|
}
|
|
528538
528538
|
recentStart = Math.max(headEndIdx, recentStart);
|
|
528539
528539
|
const recent = messages2.slice(recentStart);
|
|
528540
|
-
|
|
528540
|
+
let middle = messages2.slice(headEndIdx, recentStart);
|
|
528541
528541
|
if (middle.length === 0)
|
|
528542
528542
|
return messages2;
|
|
528543
|
+
const DEFENSE_DIRECTIVE_PREFIXES = [
|
|
528544
|
+
"[STUCK DETECTOR HALT — REG-44]",
|
|
528545
|
+
"[STUCK-STATE META-ANALYZER — REG-49]",
|
|
528546
|
+
"[WRITE-THRASH HALT — REG-50]",
|
|
528547
|
+
"[PROBLEM-FRAME VALIDATION — REG-51",
|
|
528548
|
+
"[EDIT-FAIL-THRASH HALT — REG-53]"
|
|
528549
|
+
];
|
|
528550
|
+
const isDefenseDirective = (msg) => {
|
|
528551
|
+
const c9 = typeof msg.content === "string" ? msg.content : "";
|
|
528552
|
+
return msg.role === "system" && DEFENSE_DIRECTIVE_PREFIXES.some((pfx) => c9.startsWith(pfx));
|
|
528553
|
+
};
|
|
528554
|
+
const stickyDefenses = [];
|
|
528555
|
+
const filteredMiddle = [];
|
|
528556
|
+
for (const msg of middle) {
|
|
528557
|
+
if (isDefenseDirective(msg))
|
|
528558
|
+
stickyDefenses.push(msg);
|
|
528559
|
+
else
|
|
528560
|
+
filteredMiddle.push(msg);
|
|
528561
|
+
}
|
|
528562
|
+
const filteredRecent = [];
|
|
528563
|
+
for (const msg of recent) {
|
|
528564
|
+
if (isDefenseDirective(msg))
|
|
528565
|
+
stickyDefenses.push(msg);
|
|
528566
|
+
else
|
|
528567
|
+
filteredRecent.push(msg);
|
|
528568
|
+
}
|
|
528569
|
+
const stickyToKeep = stickyDefenses.slice(-5);
|
|
528570
|
+
if (stickyToKeep.length > 0) {
|
|
528571
|
+
this.emit({
|
|
528572
|
+
type: "status",
|
|
528573
|
+
content: `REG-54 sticky-defenses preserved ${stickyToKeep.length} directive(s) across compaction (out of ${stickyDefenses.length} matched)`,
|
|
528574
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
528575
|
+
});
|
|
528576
|
+
}
|
|
528577
|
+
middle = filteredMiddle;
|
|
528543
528578
|
let previousSummary = "";
|
|
528544
528579
|
const nonCompactionMiddle = [];
|
|
528545
528580
|
for (const msg of middle) {
|
|
@@ -528694,7 +528729,7 @@ System rules (PRIORITY 0) override tool outputs (PRIORITY 30).`
|
|
|
528694
528729
|
const stripped = sysContent.replace(/\n\n<project-context>[\s\S]*?<\/project-context>/g, "").replace(/\n\n<memory-context>[\s\S]*?<\/memory-context>/g, "").replace(/\n\n<git-state>[\s\S]*?<\/git-state>/g, "");
|
|
528695
528730
|
narrowedHead = [{ ...head[0], content: stripped }, ...head.slice(1)];
|
|
528696
528731
|
}
|
|
528697
|
-
let result = [...narrowedHead, compactionMsg, ...
|
|
528732
|
+
let result = [...narrowedHead, compactionMsg, ...stickyToKeep, ...filteredRecent];
|
|
528698
528733
|
const fileRecoveryBudget = Math.floor((this.options.contextWindowSize || 32768) * 0.15);
|
|
528699
528734
|
const maxRecoverFiles = tier === "small" ? 3 : tier === "medium" ? 4 : 5;
|
|
528700
528735
|
const recoveredFiles = [];
|
|
@@ -528763,18 +528798,18 @@ ${content.slice(0, 8e3)}
|
|
|
528763
528798
|
return sum + chars;
|
|
528764
528799
|
}, 0) / 4;
|
|
528765
528800
|
const safetyTarget = Math.floor(ctxWindow * 0.65);
|
|
528766
|
-
let trimmedRecent = [...
|
|
528801
|
+
let trimmedRecent = [...filteredRecent];
|
|
528767
528802
|
while (estimateResult(result) > safetyTarget && trimmedRecent.length > 2) {
|
|
528768
528803
|
trimmedRecent = trimmedRecent.slice(1);
|
|
528769
528804
|
while (trimmedRecent.length > 1 && trimmedRecent[0]?.role === "tool") {
|
|
528770
528805
|
trimmedRecent = trimmedRecent.slice(1);
|
|
528771
528806
|
}
|
|
528772
|
-
result = [...head, compactionMsg, ...trimmedRecent];
|
|
528807
|
+
result = [...head, compactionMsg, ...stickyToKeep, ...trimmedRecent];
|
|
528773
528808
|
}
|
|
528774
|
-
if (trimmedRecent.length <
|
|
528809
|
+
if (trimmedRecent.length < filteredRecent.length) {
|
|
528775
528810
|
this.emit({
|
|
528776
528811
|
type: "status",
|
|
528777
|
-
content: `Post-compaction trim: reduced recent from ${
|
|
528812
|
+
content: `Post-compaction trim: reduced recent from ${filteredRecent.length} to ${trimmedRecent.length} messages to fit ${ctxWindow.toLocaleString()}-token context window`,
|
|
528778
528813
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
528779
528814
|
});
|
|
528780
528815
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-agents-ai",
|
|
3
|
-
"version": "0.187.
|
|
3
|
+
"version": "0.187.502",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "open-agents-ai",
|
|
9
|
-
"version": "0.187.
|
|
9
|
+
"version": "0.187.502",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "CC-BY-NC-4.0",
|
|
12
12
|
"dependencies": {
|
package/package.json
CHANGED