@botbotgo/agent-harness 0.0.469 → 0.0.470

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.469";
1
+ export declare const AGENT_HARNESS_VERSION = "0.0.470";
2
2
  export declare const AGENT_HARNESS_RELEASE_DATE = "2026-05-04";
@@ -1,2 +1,2 @@
1
- export const AGENT_HARNESS_VERSION = "0.0.469";
1
+ export const AGENT_HARNESS_VERSION = "0.0.470";
2
2
  export const AGENT_HARNESS_RELEASE_DATE = "2026-05-04";
@@ -56,7 +56,6 @@ const INITIAL_REQUIRED_PLAN_INSTRUCTION = [
56
56
  "Your first action for this request must be write_todos with concrete task steps and statuses.",
57
57
  "Do not call any domain/evidence tool and do not provide a final answer before the initial write_todos call succeeds.",
58
58
  "After write_todos succeeds, do not call write_todos or read_todos again until one non-planning evidence tool returns.",
59
- "Do not use placeholders like '1', '2', '3', 'step 1', or generic labels. Each todo must name the concrete work it represents.",
60
59
  "After each evidence step, update the todo board. Before the final answer, close every todo as completed or failed.",
61
60
  ].join("\n");
62
61
  function buildInitialRequiredPlanInstruction(primaryTools) {
@@ -69,13 +69,6 @@ function readTodoContent(todo) {
69
69
  }
70
70
  return "";
71
71
  }
72
- function isLowSignalTodoContent(content) {
73
- const normalized = content.trim().toLowerCase();
74
- if (!normalized) {
75
- return true;
76
- }
77
- return /^\d+$/.test(normalized) || /^step\s*\d+$/.test(normalized) || /^todo\s*\d+$/.test(normalized);
78
- }
79
72
  function normalizeTodoStatus(value) {
80
73
  if (typeof value !== "string") {
81
74
  return "pending";
@@ -97,9 +90,6 @@ export function summarizeBuiltinWriteTodosArgs(args) {
97
90
  return [];
98
91
  }
99
92
  const content = readTodoContent(todo);
100
- if (isLowSignalTodoContent(content)) {
101
- return [];
102
- }
103
93
  const status = normalizeTodoStatus(todo.status);
104
94
  const metadata = isRecord(todo.metadata) ? todo.metadata : undefined;
105
95
  return content ? [{
@@ -1,4 +1,4 @@
1
- export { appendToolRecoveryInstruction, isRepairableWriteTodosContentFailure, isRepairableWriteTodosEmptyFailure, isRepairableWriteTodosPlaceholderFailure, isRetrySafeInvalidToolSelectionError, resolveMissingPlanRecoveryInstruction, isToolCallRecoveryFailure, isToolCallValidationFailure, isWorkspacePathScopeFailure, resolveExecutionWithoutToolEvidenceInstruction, resolveExecutionWithoutToolEvidenceTextInstruction, resolveToolCallRecoveryInstruction, shouldValidateExecutionWithoutToolEvidence, wrapResolvedModel, } from "./output-recovery.js";
2
- export { BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, } from "../prompts/runtime-prompts.js";
1
+ export { appendToolRecoveryInstruction, isRepairableWriteTodosContentFailure, isRepairableWriteTodosEmptyFailure, isRetrySafeInvalidToolSelectionError, resolveMissingPlanRecoveryInstruction, isToolCallRecoveryFailure, isToolCallValidationFailure, isWorkspacePathScopeFailure, resolveExecutionWithoutToolEvidenceInstruction, resolveExecutionWithoutToolEvidenceTextInstruction, resolveToolCallRecoveryInstruction, shouldValidateExecutionWithoutToolEvidence, wrapResolvedModel, } from "./output-recovery.js";
2
+ export { BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, } from "../prompts/runtime-prompts.js";
3
3
  export { containsLikelySkillDocument, extractContentBlocks, extractEmptyAssistantMessageFailure, extractOutputContent, extractReasoningText, extractToolFallbackContext, extractVisibleOutput, hasToolCalls, readTextContent, sanitizeVisibleText, } from "./output-content.js";
4
4
  export { isLikelyToolArgsObject, salvageToolArgs, tryParseJson, } from "./output-tool-args.js";
@@ -1,4 +1,4 @@
1
- export { appendToolRecoveryInstruction, isRepairableWriteTodosContentFailure, isRepairableWriteTodosEmptyFailure, isRepairableWriteTodosPlaceholderFailure, isRetrySafeInvalidToolSelectionError, resolveMissingPlanRecoveryInstruction, isToolCallRecoveryFailure, isToolCallValidationFailure, isWorkspacePathScopeFailure, resolveExecutionWithoutToolEvidenceInstruction, resolveExecutionWithoutToolEvidenceTextInstruction, resolveToolCallRecoveryInstruction, shouldValidateExecutionWithoutToolEvidence, wrapResolvedModel, } from "./output-recovery.js";
2
- export { BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, } from "../prompts/runtime-prompts.js";
1
+ export { appendToolRecoveryInstruction, isRepairableWriteTodosContentFailure, isRepairableWriteTodosEmptyFailure, isRetrySafeInvalidToolSelectionError, resolveMissingPlanRecoveryInstruction, isToolCallRecoveryFailure, isToolCallValidationFailure, isWorkspacePathScopeFailure, resolveExecutionWithoutToolEvidenceInstruction, resolveExecutionWithoutToolEvidenceTextInstruction, resolveToolCallRecoveryInstruction, shouldValidateExecutionWithoutToolEvidence, wrapResolvedModel, } from "./output-recovery.js";
2
+ export { BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION, EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, } from "../prompts/runtime-prompts.js";
3
3
  export { containsLikelySkillDocument, extractContentBlocks, extractEmptyAssistantMessageFailure, extractOutputContent, extractReasoningText, extractToolFallbackContext, extractVisibleOutput, hasToolCalls, readTextContent, sanitizeVisibleText, } from "./output-content.js";
4
4
  export { isLikelyToolArgsObject, salvageToolArgs, tryParseJson, } from "./output-tool-args.js";
@@ -1,7 +1,6 @@
1
1
  export declare function isToolCallValidationFailure(error: unknown): boolean;
2
2
  export declare function isWorkspacePathScopeFailure(error: unknown): boolean;
3
3
  export declare function isInternalRuntimeSpillPathFailure(error: unknown): boolean;
4
- export declare function isRepairableWriteTodosPlaceholderFailure(error: unknown): boolean;
5
4
  export declare function isRepairableWriteTodosContentFailure(error: unknown): boolean;
6
5
  export declare function isRepairableWriteTodosEmptyFailure(error: unknown): boolean;
7
6
  export declare function isToolCallRecoveryFailure(error: unknown): boolean;
@@ -1,4 +1,4 @@
1
- import { EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INTERNAL_RUNTIME_SPILL_PATH_INSTRUCTION, REQUIRED_EXECUTION_CONTINUATION_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, WRITE_TODOS_REQUIRED_PLAN_INSTRUCTION, } from "../prompts/runtime-prompts.js";
1
+ import { EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION, INTERNAL_RUNTIME_SPILL_PATH_INSTRUCTION, REQUIRED_EXECUTION_CONTINUATION_INSTRUCTION, STRICT_TOOL_JSON_INSTRUCTION, WORKSPACE_RELATIVE_PATH_INSTRUCTION, WRITE_TODOS_FULL_ENTRY_INSTRUCTION, WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION, WRITE_TODOS_REQUIRED_PLAN_INSTRUCTION, } from "../prompts/runtime-prompts.js";
2
2
  import { wrapNormalizedMessage, readTextContent } from "./output-content.js";
3
3
  import { salvageJsonToolCalls } from "./output-tool-args.js";
4
4
  function collectRequestMessages(request) {
@@ -85,9 +85,6 @@ export function isWorkspacePathScopeFailure(error) {
85
85
  export function isInternalRuntimeSpillPathFailure(error) {
86
86
  return collectErrorMessages(error).some((message) => /\/large_tool_results\/|internal runtime spill path/i.test(message));
87
87
  }
88
- export function isRepairableWriteTodosPlaceholderFailure(error) {
89
- return error instanceof Error && /write_todos/i.test(error.message) && /descriptive task content|placeholder entries/i.test(error.message);
90
- }
91
88
  export function isRepairableWriteTodosContentFailure(error) {
92
89
  return error instanceof Error && /write_todos/i.test(error.message) && /todos\[\d+\]\.content/i.test(error.message);
93
90
  }
@@ -98,7 +95,6 @@ export function isToolCallRecoveryFailure(error) {
98
95
  return (isToolCallParseFailure(error) ||
99
96
  isToolCallValidationFailure(error) ||
100
97
  isRepairableWriteTodosEmptyFailure(error) ||
101
- isRepairableWriteTodosPlaceholderFailure(error) ||
102
98
  isInternalRuntimeSpillPathFailure(error) ||
103
99
  isWorkspacePathScopeFailure(error));
104
100
  }
@@ -160,8 +156,6 @@ export function resolveToolCallRecoveryInstruction(error) {
160
156
  return WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION;
161
157
  if (isRepairableWriteTodosContentFailure(error))
162
158
  return WRITE_TODOS_FULL_ENTRY_INSTRUCTION;
163
- if (isRepairableWriteTodosPlaceholderFailure(error))
164
- return WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION;
165
159
  if (isInternalRuntimeSpillPathFailure(error))
166
160
  return INTERNAL_RUNTIME_SPILL_PATH_INSTRUCTION;
167
161
  if (isWorkspacePathScopeFailure(error))
@@ -6,7 +6,6 @@ export declare const BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION: string;
6
6
  export declare const INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION: string;
7
7
  export declare const WRITE_TODOS_FULL_ENTRY_INSTRUCTION: string;
8
8
  export declare const WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION: string;
9
- export declare const WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION: string;
10
9
  export declare const WRITE_TODOS_REQUIRED_PLAN_INSTRUCTION: string;
11
10
  export declare const EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION: string;
12
11
  export declare const EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION: string;
@@ -9,7 +9,6 @@ export const BROWSER_CAPABILITY_DISCLAIMER_RECOVERY_INSTRUCTION = readRuntimePro
9
9
  export const INVALID_TOOL_SELECTION_RECOVERY_INSTRUCTION = readRuntimePrompt("invalid-tool-selection-recovery");
10
10
  export const WRITE_TODOS_FULL_ENTRY_INSTRUCTION = readRuntimePrompt("write-todos-full-entry");
11
11
  export const WRITE_TODOS_NON_EMPTY_INITIAL_LIST_INSTRUCTION = readRuntimePrompt("write-todos-non-empty-initial-list");
12
- export const WRITE_TODOS_DESCRIPTIVE_CONTENT_INSTRUCTION = readRuntimePrompt("write-todos-descriptive-content");
13
12
  export const WRITE_TODOS_REQUIRED_PLAN_INSTRUCTION = readRuntimePrompt("write-todos-required-plan");
14
13
  export const EXECUTION_WITH_TOOL_EVIDENCE_INSTRUCTION = readRuntimePrompt("execution-with-tool-evidence");
15
14
  export const EXECUTION_WITH_TOOL_EVIDENCE_RETRY_INSTRUCTION = readRuntimePrompt("execution-with-tool-evidence-retry");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botbotgo/agent-harness",
3
- "version": "0.0.469",
3
+ "version": "0.0.470",
4
4
  "description": "Workspace runtime for multi-agent applications",
5
5
  "license": "MIT",
6
6
  "type": "module",