@botbotgo/agent-harness 0.0.413 → 0.0.416
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/cli/main.js
CHANGED
|
@@ -223,8 +223,6 @@ export async function runCli(argv, io = {}, deps = {}) {
|
|
|
223
223
|
activeAgentId,
|
|
224
224
|
activeSessionId,
|
|
225
225
|
});
|
|
226
|
-
activeAgentId = interactiveState.activeAgentId;
|
|
227
|
-
activeSessionId = interactiveState.activeSessionId;
|
|
228
226
|
await stopClientWithTimeout(client, stderr);
|
|
229
227
|
restoreWriteListenerGuard?.();
|
|
230
228
|
restoreEmitterListenerGuard?.();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const AGENT_HARNESS_VERSION = "0.0.
|
|
1
|
+
export declare const AGENT_HARNESS_VERSION = "0.0.416";
|
|
2
2
|
export declare const AGENT_HARNESS_RELEASE_DATE = "2026-05-02";
|
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.416";
|
|
2
2
|
export const AGENT_HARNESS_RELEASE_DATE = "2026-05-02";
|
|
@@ -19,8 +19,8 @@ function readPlanStateSummary(output) {
|
|
|
19
19
|
if (typeof summaryContainer !== "object" || summaryContainer === null) {
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
|
-
const
|
|
23
|
-
const counts =
|
|
22
|
+
const summaryWrapper = summaryContainer;
|
|
23
|
+
const counts = summaryWrapper.summary;
|
|
24
24
|
if (typeof counts !== "object" || counts === null) {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
@@ -58,6 +58,8 @@ function isFallbackTodoCompletionToolCall(toolCall) {
|
|
|
58
58
|
&& toolCall.id.startsWith("fallback-complete-")
|
|
59
59
|
&& (toolCall.name === "write_todos" || toolCall.name === "tool_call_write_todos");
|
|
60
60
|
}
|
|
61
|
+
// Keep deterministic evidence summaries bounded for prompt/log readability while
|
|
62
|
+
// still preserving meaningful tool context; 4000 chars is a conservative cap.
|
|
61
63
|
const TOOL_OUTPUT_TRUNCATION_LIMIT = 4000;
|
|
62
64
|
function buildDeterministicFinalFromToolEvidence(executedToolResults) {
|
|
63
65
|
const evidence = executedToolResults
|
|
@@ -132,6 +134,7 @@ export async function runLocalToolInvocationLoop({ binding, request, primaryTool
|
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
136
|
for (let iteration = 0; iteration < maxToolIterations; iteration += 1) {
|
|
137
|
+
const isFinalIteration = iteration + 1 === maxToolIterations;
|
|
135
138
|
result = await callRuntimeWithToolParseRecovery(activeRequest);
|
|
136
139
|
const toolCalls = extractToolCallsFromResult(result);
|
|
137
140
|
if (toolCalls.length === 0) {
|
|
@@ -156,7 +159,7 @@ export async function runLocalToolInvocationLoop({ binding, request, primaryTool
|
|
|
156
159
|
? AUTONOMOUS_INVESTIGATION_RECOVERY_INSTRUCTION
|
|
157
160
|
: null);
|
|
158
161
|
if (recoveryInstruction) {
|
|
159
|
-
if (
|
|
162
|
+
if (isFinalIteration) {
|
|
160
163
|
throw new Error(`Tool-calling loop exceeded the maximum of ${maxToolIterations} iterations`);
|
|
161
164
|
}
|
|
162
165
|
activeRequest = appendToolRecoveryInstruction(activeRequest, recoveryInstruction);
|