open-agents-ai 0.187.444 → 0.187.446
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 +78 -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;
|
|
@@ -534046,6 +534047,8 @@ var init_status_bar = __esm({
|
|
|
534046
534047
|
_suggestions = [];
|
|
534047
534048
|
/** Currently highlighted suggestion index (-1 = none) */
|
|
534048
534049
|
_suggestIndex = -1;
|
|
534050
|
+
/** Sponsor header data for unicode box injection */
|
|
534051
|
+
_sponsorHeader = null;
|
|
534049
534052
|
/** Whether suggestions were triggered by direct typing (instant) vs history navigation (delayed) */
|
|
534050
534053
|
_suggestFromHistory = false;
|
|
534051
534054
|
/** Timer for delayed suggestion trigger on history navigation */
|
|
@@ -534165,6 +534168,14 @@ var init_status_bar = __esm({
|
|
|
534165
534168
|
const transport = this.summarizeHeaderTransport();
|
|
534166
534169
|
if (model) parts.push(` ${model} `);
|
|
534167
534170
|
if (transport) parts.push(` ${transport} `);
|
|
534171
|
+
if (this._sponsorHeader) {
|
|
534172
|
+
if (this._sponsorHeader.message) {
|
|
534173
|
+
parts.push(` ${this._sponsorHeader.message} `);
|
|
534174
|
+
}
|
|
534175
|
+
if (this._sponsorHeader.linkUrl && this._sponsorHeader.linkText) {
|
|
534176
|
+
parts.push(` ${this._sponsorHeader.linkText} `);
|
|
534177
|
+
}
|
|
534178
|
+
}
|
|
534168
534179
|
if (this._updateLatest) {
|
|
534169
534180
|
if (parts.length === 0) parts.push(" ↑ ");
|
|
534170
534181
|
else parts[parts.length - 1] += "↑ ";
|
|
@@ -534199,6 +534210,11 @@ var init_status_bar = __esm({
|
|
|
534199
534210
|
this._headerBackendUrl = backendUrl;
|
|
534200
534211
|
this.refreshHeaderAndFooter();
|
|
534201
534212
|
}
|
|
534213
|
+
/** Set sponsor header data for unicode box injection */
|
|
534214
|
+
setSponsorHeader(header) {
|
|
534215
|
+
this._sponsorHeader = header;
|
|
534216
|
+
this.refreshHeaderAndFooter();
|
|
534217
|
+
}
|
|
534202
534218
|
// ── Header Panel System ──────────────────────────────────────────────
|
|
534203
534219
|
// Extensible dual-state (N-state) header: the content row inside the
|
|
534204
534220
|
// ╭│╰ box cycles between registered panels via arrow buttons.
|
|
@@ -551706,6 +551722,12 @@ sleep 1
|
|
|
551706
551722
|
message: config.header.message || sponsorName,
|
|
551707
551723
|
linkUrl: config.header.linkUrl,
|
|
551708
551724
|
linkText: config.header.linkText,
|
|
551725
|
+
header: {
|
|
551726
|
+
message: config.header.message || sponsorName,
|
|
551727
|
+
linkUrl: config.header.linkUrl,
|
|
551728
|
+
linkText: config.header.linkText,
|
|
551729
|
+
primaryColor: config.header.primaryColor || 214
|
|
551730
|
+
},
|
|
551709
551731
|
status: sponsorUrl || libp2pPeerId ? "active" : "inactive"
|
|
551710
551732
|
};
|
|
551711
551733
|
try {
|
|
@@ -554189,6 +554211,14 @@ async function handleSponsoredEndpoint(ctx3, local) {
|
|
|
554189
554211
|
ctx3.setBanner(bannerDesign);
|
|
554190
554212
|
renderInfo2("Banner updated with sponsor branding.");
|
|
554191
554213
|
}
|
|
554214
|
+
if (selected.header && ctx3.setSponsorHeader) {
|
|
554215
|
+
ctx3.setSponsorHeader({
|
|
554216
|
+
message: selected.header.message || "",
|
|
554217
|
+
linkUrl: selected.header.linkUrl || "",
|
|
554218
|
+
linkText: selected.header.linkText || "",
|
|
554219
|
+
primaryColor: selected.header.primaryColor || 214
|
|
554220
|
+
});
|
|
554221
|
+
}
|
|
554192
554222
|
const saveKey = selected.url || selected.peerId || selected.name;
|
|
554193
554223
|
try {
|
|
554194
554224
|
mkdirSync40(sponsorDir2, { recursive: true });
|
|
@@ -584718,6 +584748,10 @@ ${entry.fullContent}`
|
|
|
584718
584748
|
const filesTouched = /* @__PURE__ */ new Set();
|
|
584719
584749
|
const sessionToolsUsed = /* @__PURE__ */ new Set();
|
|
584720
584750
|
const toolSequence = [];
|
|
584751
|
+
const memoriesRecalled = [];
|
|
584752
|
+
const validationStatus = { testsRan: false, testsPassed: false, buildSucceeded: true };
|
|
584753
|
+
const taskAccomplishments = [];
|
|
584754
|
+
const taskFindings = [];
|
|
584721
584755
|
const editSessionId = `task-${Date.now()}`;
|
|
584722
584756
|
const editHistory = createEditHistoryLogger(repoRoot, editSessionId);
|
|
584723
584757
|
let lastToolCall = null;
|
|
@@ -584779,6 +584813,13 @@ ${entry.fullContent}`
|
|
|
584779
584813
|
tool: event.toolName ?? "unknown",
|
|
584780
584814
|
argKeys: Object.keys(event.toolArgs ?? {})
|
|
584781
584815
|
});
|
|
584816
|
+
if (event.toolName === "memory_read" || event.toolName === "memory_search") {
|
|
584817
|
+
const topic = String(event.toolArgs?.topic ?? event.toolArgs?.query ?? "");
|
|
584818
|
+
const key = String(event.toolArgs?.key ?? "");
|
|
584819
|
+
if (topic) {
|
|
584820
|
+
memoriesRecalled.push({ topic, key, relevance: "accessed during task" });
|
|
584821
|
+
}
|
|
584822
|
+
}
|
|
584782
584823
|
if (event.toolArgs?.path && typeof event.toolArgs.path === "string") {
|
|
584783
584824
|
const name10 = event.toolName ?? "";
|
|
584784
584825
|
if (name10 === "file_write" || name10 === "file_edit" || name10 === "file_patch" || name10 === "batch_edit") {
|
|
@@ -584832,6 +584873,16 @@ ${entry.fullContent}`
|
|
|
584832
584873
|
editHistory.logToolCall(lastToolCall.name, lastToolCall.args, event.success ?? false);
|
|
584833
584874
|
lastToolCall = null;
|
|
584834
584875
|
}
|
|
584876
|
+
if (event.toolName === "shell" && event.content) {
|
|
584877
|
+
const output = String(event.content);
|
|
584878
|
+
if (/npm\s+test|pnpm\s+test|yarn\s+test|vitest|jest|pytest/i.test(output)) {
|
|
584879
|
+
validationStatus.testsRan = true;
|
|
584880
|
+
validationStatus.testsPassed = (event.success ?? false) && !/FAIL|Error|failed/i.test(output);
|
|
584881
|
+
}
|
|
584882
|
+
if (/npm\s+run\s+build|pnpm\s+build|tsc|webpack|rollup/i.test(output)) {
|
|
584883
|
+
validationStatus.buildSucceeded = event.success ?? false;
|
|
584884
|
+
}
|
|
584885
|
+
}
|
|
584835
584886
|
getActivityFeed().push({
|
|
584836
584887
|
ts: Date.now(),
|
|
584837
584888
|
source: "main",
|
|
@@ -585263,6 +585314,24 @@ When done, either call task_complete with your answer, or use FINAL_VAR(variable
|
|
|
585263
585314
|
} catch {
|
|
585264
585315
|
}
|
|
585265
585316
|
try {
|
|
585317
|
+
const accomplishmentPatterns = [
|
|
585318
|
+
/(?:fixed|implemented|added|updated|created|refactored|resolved)\s+[^\n.]+/gi,
|
|
585319
|
+
/(?:✓|✅|✔)\s+[^\n]+/g
|
|
585320
|
+
];
|
|
585321
|
+
const extractedAccomplishments = [];
|
|
585322
|
+
for (const pattern of accomplishmentPatterns) {
|
|
585323
|
+
const matches = result.summary.match(pattern) || [];
|
|
585324
|
+
extractedAccomplishments.push(...matches.slice(0, 5).map((m2) => m2.trim()));
|
|
585325
|
+
}
|
|
585326
|
+
const findingPatterns = [
|
|
585327
|
+
/(?:found|discovered|identified|detected|observed)\s+[^\n.]+/gi,
|
|
585328
|
+
/(?:pattern|issue|bug|regression|gap):\s*[^\n]+/gi
|
|
585329
|
+
];
|
|
585330
|
+
const extractedFindings = [];
|
|
585331
|
+
for (const pattern of findingPatterns) {
|
|
585332
|
+
const matches = result.summary.match(pattern) || [];
|
|
585333
|
+
extractedFindings.push(...matches.slice(0, 3).map((m2) => m2.trim()));
|
|
585334
|
+
}
|
|
585266
585335
|
const handoff = {
|
|
585267
585336
|
base: {
|
|
585268
585337
|
savedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -585275,22 +585344,17 @@ When done, either call task_complete with your answer, or use FINAL_VAR(variable
|
|
|
585275
585344
|
model: config.model,
|
|
585276
585345
|
source: "task_complete"
|
|
585277
585346
|
},
|
|
585278
|
-
accomplishments: [],
|
|
585279
|
-
// Populated by agent if it provides structured output
|
|
585347
|
+
accomplishments: extractedAccomplishments.length > 0 ? extractedAccomplishments : [`Completed task in ${result.turns} turns with ${result.toolCalls} tool calls`],
|
|
585280
585348
|
files: Array.from(filesTouched).slice(0, 20).map((f2) => ({
|
|
585281
585349
|
path: f2,
|
|
585282
585350
|
operation: "modified"
|
|
585283
585351
|
})),
|
|
585284
|
-
memories:
|
|
585285
|
-
|
|
585286
|
-
findings: [],
|
|
585287
|
-
// Populated by agent
|
|
585352
|
+
memories: memoriesRecalled.slice(0, 10),
|
|
585353
|
+
findings: extractedFindings.length > 0 ? extractedFindings : [],
|
|
585288
585354
|
validation: {
|
|
585289
|
-
testsRan:
|
|
585290
|
-
|
|
585291
|
-
|
|
585292
|
-
buildSucceeded: true
|
|
585293
|
-
// Assume success if task completed
|
|
585355
|
+
testsRan: validationStatus.testsRan,
|
|
585356
|
+
testsPassed: validationStatus.testsPassed,
|
|
585357
|
+
buildSucceeded: validationStatus.buildSucceeded
|
|
585294
585358
|
},
|
|
585295
585359
|
eligible: result.completed,
|
|
585296
585360
|
handoffAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -588328,6 +588392,9 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
|
|
|
588328
588392
|
setBanner: (design) => {
|
|
588329
588393
|
banner.setDesign(design);
|
|
588330
588394
|
},
|
|
588395
|
+
setSponsorHeader: (header) => {
|
|
588396
|
+
statusBar.setSponsorHeader(header);
|
|
588397
|
+
},
|
|
588331
588398
|
retireCarousel() {
|
|
588332
588399
|
if (!carouselRetired && carousel.isRunning) {
|
|
588333
588400
|
carousel.stop();
|
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.446",
|
|
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.446",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "CC-BY-NC-4.0",
|
|
12
12
|
"dependencies": {
|
package/package.json
CHANGED