open-agents-ai 0.187.443 → 0.187.445
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 +59 -11
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -531832,6 +531832,7 @@ Recent tasks: ${ctx3.entries.slice(-3).map(
|
|
|
531832
531832
|
(e2) => `[${e2.completed ? "done" : "partial"}] ${normalizeSessionText(e2.summary || e2.task, 80)}`
|
|
531833
531833
|
).join(", ")}
|
|
531834
531834
|
</session-recap>` : "";
|
|
531835
|
+
clearTaskHandoff(repoRoot);
|
|
531835
531836
|
return handoffPrompt + baseCtx;
|
|
531836
531837
|
}
|
|
531837
531838
|
if (!ctx3 || ctx3.entries.length === 0) return null;
|
|
@@ -536710,6 +536711,19 @@ ${CONTENT_BG_SEQ}`);
|
|
|
536710
536711
|
const lineContent = `${prefix}${inputWrap.lines[i2]}`;
|
|
536711
536712
|
buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET2}${PANEL_BG_SEQ}${lineContent}${PANEL_BG_SEQ}\x1B[K\x1B[${row};${w}H${BOX_FG}${BOX_V}${RESET2}`;
|
|
536712
536713
|
}
|
|
536714
|
+
if (this._suggestions.length > 0 && pos.suggestStartRow > 0) {
|
|
536715
|
+
for (let si = 0; si < this._suggestions.length; si++) {
|
|
536716
|
+
const row = pos.suggestStartRow + si;
|
|
536717
|
+
const cmd = this._suggestions[si];
|
|
536718
|
+
const isHl = si === this._suggestIndex;
|
|
536719
|
+
const bg = isHl ? `\x1B[48;5;235m` : PANEL_BG_SEQ;
|
|
536720
|
+
const fg2 = isHl ? `\x1B[1;38;5;${TEXT_PRIMARY}m` : `\x1B[38;5;${TEXT_PRIMARY}m`;
|
|
536721
|
+
const marker = isHl ? `\x1B[38;5;${TEXT_PRIMARY}m› ` : " ";
|
|
536722
|
+
buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET2}${PANEL_BG_SEQ}`;
|
|
536723
|
+
buf += `${bg} ${marker}\x1B[38;5;${TEXT_DIM}m/${fg2}${cmd}`;
|
|
536724
|
+
buf += `${PANEL_BG_SEQ}\x1B[K\x1B[${row};${w}H${BOX_FG}${BOX_V}${RESET2}`;
|
|
536725
|
+
}
|
|
536726
|
+
}
|
|
536713
536727
|
const boxInnerS = w - 2;
|
|
536714
536728
|
buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInnerS))}${BOX_BR}${RESET2}`;
|
|
536715
536729
|
buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET2}`;
|
|
@@ -584705,6 +584719,10 @@ ${entry.fullContent}`
|
|
|
584705
584719
|
const filesTouched = /* @__PURE__ */ new Set();
|
|
584706
584720
|
const sessionToolsUsed = /* @__PURE__ */ new Set();
|
|
584707
584721
|
const toolSequence = [];
|
|
584722
|
+
const memoriesRecalled = [];
|
|
584723
|
+
const validationStatus = { testsRan: false, testsPassed: false, buildSucceeded: true };
|
|
584724
|
+
const taskAccomplishments = [];
|
|
584725
|
+
const taskFindings = [];
|
|
584708
584726
|
const editSessionId = `task-${Date.now()}`;
|
|
584709
584727
|
const editHistory = createEditHistoryLogger(repoRoot, editSessionId);
|
|
584710
584728
|
let lastToolCall = null;
|
|
@@ -584766,6 +584784,13 @@ ${entry.fullContent}`
|
|
|
584766
584784
|
tool: event.toolName ?? "unknown",
|
|
584767
584785
|
argKeys: Object.keys(event.toolArgs ?? {})
|
|
584768
584786
|
});
|
|
584787
|
+
if (event.toolName === "memory_read" || event.toolName === "memory_search") {
|
|
584788
|
+
const topic = String(event.toolArgs?.topic ?? event.toolArgs?.query ?? "");
|
|
584789
|
+
const key = String(event.toolArgs?.key ?? "");
|
|
584790
|
+
if (topic) {
|
|
584791
|
+
memoriesRecalled.push({ topic, key, relevance: "accessed during task" });
|
|
584792
|
+
}
|
|
584793
|
+
}
|
|
584769
584794
|
if (event.toolArgs?.path && typeof event.toolArgs.path === "string") {
|
|
584770
584795
|
const name10 = event.toolName ?? "";
|
|
584771
584796
|
if (name10 === "file_write" || name10 === "file_edit" || name10 === "file_patch" || name10 === "batch_edit") {
|
|
@@ -584819,6 +584844,16 @@ ${entry.fullContent}`
|
|
|
584819
584844
|
editHistory.logToolCall(lastToolCall.name, lastToolCall.args, event.success ?? false);
|
|
584820
584845
|
lastToolCall = null;
|
|
584821
584846
|
}
|
|
584847
|
+
if (event.toolName === "shell" && event.content) {
|
|
584848
|
+
const output = String(event.content);
|
|
584849
|
+
if (/npm\s+test|pnpm\s+test|yarn\s+test|vitest|jest|pytest/i.test(output)) {
|
|
584850
|
+
validationStatus.testsRan = true;
|
|
584851
|
+
validationStatus.testsPassed = (event.success ?? false) && !/FAIL|Error|failed/i.test(output);
|
|
584852
|
+
}
|
|
584853
|
+
if (/npm\s+run\s+build|pnpm\s+build|tsc|webpack|rollup/i.test(output)) {
|
|
584854
|
+
validationStatus.buildSucceeded = event.success ?? false;
|
|
584855
|
+
}
|
|
584856
|
+
}
|
|
584822
584857
|
getActivityFeed().push({
|
|
584823
584858
|
ts: Date.now(),
|
|
584824
584859
|
source: "main",
|
|
@@ -585250,6 +585285,24 @@ When done, either call task_complete with your answer, or use FINAL_VAR(variable
|
|
|
585250
585285
|
} catch {
|
|
585251
585286
|
}
|
|
585252
585287
|
try {
|
|
585288
|
+
const accomplishmentPatterns = [
|
|
585289
|
+
/(?:fixed|implemented|added|updated|created|refactored|resolved)\s+[^\n.]+/gi,
|
|
585290
|
+
/(?:✓|✅|✔)\s+[^\n]+/g
|
|
585291
|
+
];
|
|
585292
|
+
const extractedAccomplishments = [];
|
|
585293
|
+
for (const pattern of accomplishmentPatterns) {
|
|
585294
|
+
const matches = result.summary.match(pattern) || [];
|
|
585295
|
+
extractedAccomplishments.push(...matches.slice(0, 5).map((m2) => m2.trim()));
|
|
585296
|
+
}
|
|
585297
|
+
const findingPatterns = [
|
|
585298
|
+
/(?:found|discovered|identified|detected|observed)\s+[^\n.]+/gi,
|
|
585299
|
+
/(?:pattern|issue|bug|regression|gap):\s*[^\n]+/gi
|
|
585300
|
+
];
|
|
585301
|
+
const extractedFindings = [];
|
|
585302
|
+
for (const pattern of findingPatterns) {
|
|
585303
|
+
const matches = result.summary.match(pattern) || [];
|
|
585304
|
+
extractedFindings.push(...matches.slice(0, 3).map((m2) => m2.trim()));
|
|
585305
|
+
}
|
|
585253
585306
|
const handoff = {
|
|
585254
585307
|
base: {
|
|
585255
585308
|
savedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -585262,22 +585315,17 @@ When done, either call task_complete with your answer, or use FINAL_VAR(variable
|
|
|
585262
585315
|
model: config.model,
|
|
585263
585316
|
source: "task_complete"
|
|
585264
585317
|
},
|
|
585265
|
-
accomplishments: [],
|
|
585266
|
-
// Populated by agent if it provides structured output
|
|
585318
|
+
accomplishments: extractedAccomplishments.length > 0 ? extractedAccomplishments : [`Completed task in ${result.turns} turns with ${result.toolCalls} tool calls`],
|
|
585267
585319
|
files: Array.from(filesTouched).slice(0, 20).map((f2) => ({
|
|
585268
585320
|
path: f2,
|
|
585269
585321
|
operation: "modified"
|
|
585270
585322
|
})),
|
|
585271
|
-
memories:
|
|
585272
|
-
|
|
585273
|
-
findings: [],
|
|
585274
|
-
// Populated by agent
|
|
585323
|
+
memories: memoriesRecalled.slice(0, 10),
|
|
585324
|
+
findings: extractedFindings.length > 0 ? extractedFindings : [],
|
|
585275
585325
|
validation: {
|
|
585276
|
-
testsRan:
|
|
585277
|
-
|
|
585278
|
-
|
|
585279
|
-
buildSucceeded: true
|
|
585280
|
-
// Assume success if task completed
|
|
585326
|
+
testsRan: validationStatus.testsRan,
|
|
585327
|
+
testsPassed: validationStatus.testsPassed,
|
|
585328
|
+
buildSucceeded: validationStatus.buildSucceeded
|
|
585281
585329
|
},
|
|
585282
585330
|
eligible: result.completed,
|
|
585283
585331
|
handoffAt: (/* @__PURE__ */ new Date()).toISOString()
|
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.445",
|
|
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.445",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "CC-BY-NC-4.0",
|
|
12
12
|
"dependencies": {
|
package/package.json
CHANGED