@botbotgo/agent-harness 0.0.438 → 0.0.440
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const AGENT_HARNESS_VERSION = "0.0.
|
|
1
|
+
export declare const AGENT_HARNESS_VERSION = "0.0.440";
|
|
2
2
|
export declare const AGENT_HARNESS_RELEASE_DATE = "2026-05-04";
|
package/dist/package-version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const AGENT_HARNESS_VERSION = "0.0.
|
|
1
|
+
export const AGENT_HARNESS_VERSION = "0.0.440";
|
|
2
2
|
export const AGENT_HARNESS_RELEASE_DATE = "2026-05-04";
|
|
@@ -230,7 +230,6 @@ function resolveCommittedPlanEvidenceTools(primaryTools, planToolOutput) {
|
|
|
230
230
|
if (todoContents.length === 0) {
|
|
231
231
|
return [];
|
|
232
232
|
}
|
|
233
|
-
const toolsByName = new Map(primaryTools.map((tool) => [tool.name, tool]));
|
|
234
233
|
const resolved = [];
|
|
235
234
|
const seen = new Set();
|
|
236
235
|
for (const content of todoContents) {
|
|
@@ -241,11 +240,9 @@ function resolveCommittedPlanEvidenceTools(primaryTools, planToolOutput) {
|
|
|
241
240
|
continue;
|
|
242
241
|
}
|
|
243
242
|
seen.add(selectedName);
|
|
244
|
-
const matchedTool = toolsByName.get(selectedName);
|
|
245
|
-
const args = buildCommittedPlanEvidenceToolArgs(matchedTool, content);
|
|
246
243
|
resolved.push({
|
|
247
244
|
name: selectedName,
|
|
248
|
-
args,
|
|
245
|
+
args: {},
|
|
249
246
|
id: `stream-committed-plan-evidence-tool-${resolved.length + 1}`,
|
|
250
247
|
});
|
|
251
248
|
}
|
|
@@ -260,16 +257,6 @@ function hasExplicitToolNameReference(todoText, toolName) {
|
|
|
260
257
|
const escapedName = normalizedToolName.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
261
258
|
return new RegExp(`(?:^|[^\\p{L}\\p{N}_-])${escapedName}(?:$|[^\\p{L}\\p{N}_-])`, "iu").test(todoText);
|
|
262
259
|
}
|
|
263
|
-
function buildCommittedPlanEvidenceToolArgs(tool, todoText) {
|
|
264
|
-
const properties = typeof tool?.modelSchema === "object" && tool.modelSchema !== null
|
|
265
|
-
? tool.modelSchema.properties
|
|
266
|
-
: undefined;
|
|
267
|
-
if (typeof properties !== "object" || properties === null) {
|
|
268
|
-
return {};
|
|
269
|
-
}
|
|
270
|
-
const queryLikeField = ["query", "question", "prompt", "input", "text"].find((field) => Object.prototype.hasOwnProperty.call(properties, field));
|
|
271
|
-
return queryLikeField ? { [queryLikeField]: todoText } : {};
|
|
272
|
-
}
|
|
273
260
|
function normalizePlanToolName(toolName) {
|
|
274
261
|
return typeof toolName === "string" ? toolName.trim().toLowerCase().replace(/[\s-]+/gu, "_") : "";
|
|
275
262
|
}
|
|
@@ -500,21 +500,12 @@ function buildCompactRouterPolicy(routingPolicy) {
|
|
|
500
500
|
.join("\n");
|
|
501
501
|
}
|
|
502
502
|
function buildDelegatedOwnedTaskInstruction(input) {
|
|
503
|
-
const relevantPolicyLines = (input.routingPolicy ?? "")
|
|
504
|
-
.split(/\r?\n/u)
|
|
505
|
-
.map((line) => line.trim())
|
|
506
|
-
.filter((line) => line.includes(`\`${input.subagentType}\``)
|
|
507
|
-
|| line.includes(` ${input.subagentType} `)
|
|
508
|
-
|| line.toLowerCase().includes(`to ${input.subagentType}`))
|
|
509
|
-
.slice(0, 8);
|
|
510
503
|
return [
|
|
511
504
|
`Delegated owner: ${input.subagentType}.`,
|
|
512
505
|
"Execute only this owner's bounded portion of the larger request.",
|
|
513
506
|
"Do not take over other specialist-owned work; return blockers for missing access instead of inventing success.",
|
|
514
507
|
"Owned subtask:",
|
|
515
508
|
input.taskText.trim() || input.originalRequest,
|
|
516
|
-
relevantPolicyLines.length > 0 ? "Relevant parent routing/delegation policy for this owner:" : "",
|
|
517
|
-
...relevantPolicyLines,
|
|
518
509
|
"If the owner policy or tool contract requires evidence, call write_todos first and then execute the appropriate non-planning evidence tool before any final answer.",
|
|
519
510
|
"Close every TODO as completed or failed before final output.",
|
|
520
511
|
].filter(Boolean).join("\n");
|
|
@@ -1890,8 +1881,6 @@ export class AgentRuntimeAdapter {
|
|
|
1890
1881
|
subagentType: planned.subagentType,
|
|
1891
1882
|
taskText: planned.description,
|
|
1892
1883
|
originalRequest: requestText,
|
|
1893
|
-
routingPolicy,
|
|
1894
|
-
ownerPolicy: selectedBinding ? getBindingSystemPrompt(selectedBinding) : undefined,
|
|
1895
1884
|
});
|
|
1896
1885
|
yield {
|
|
1897
1886
|
kind: "commentary",
|
|
@@ -2113,8 +2102,6 @@ export class AgentRuntimeAdapter {
|
|
|
2113
2102
|
subagentType,
|
|
2114
2103
|
taskText: requestText,
|
|
2115
2104
|
originalRequest: requestText,
|
|
2116
|
-
routingPolicy,
|
|
2117
|
-
ownerPolicy: getBindingSystemPrompt(selectedBinding),
|
|
2118
2105
|
});
|
|
2119
2106
|
let delegatedResult = yield* runDelegatedStreamAttempt(delegatedText);
|
|
2120
2107
|
const targetRequiresExecutionToolEvidence = getBindingPrimaryTools(selectedBinding).length > 0;
|