@botbotgo/agent-harness 0.0.434 → 0.0.435

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.434";
1
+ export declare const AGENT_HARNESS_VERSION = "0.0.435";
2
2
  export declare const AGENT_HARNESS_RELEASE_DATE = "2026-05-03";
@@ -1,2 +1,2 @@
1
- export const AGENT_HARNESS_VERSION = "0.0.434";
1
+ export const AGENT_HARNESS_VERSION = "0.0.435";
2
2
  export const AGENT_HARNESS_RELEASE_DATE = "2026-05-03";
@@ -196,6 +196,16 @@ function terminalToolErrorRecoveryInstruction(terminalText) {
196
196
  function requiresPlanEvidence(binding) {
197
197
  return binding.harnessRuntime.executionContract?.requiresPlan === true;
198
198
  }
199
+ function escapeRegExp(value) {
200
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
201
+ }
202
+ function textExplicitlyNamesTool(text, toolName) {
203
+ const trimmedToolName = toolName.trim();
204
+ if (trimmedToolName.length === 0) {
205
+ return false;
206
+ }
207
+ return new RegExp(`(?:^|[^\\p{L}\\p{N}_-])${escapeRegExp(trimmedToolName)}(?:$|[^\\p{L}\\p{N}_-])`, "iu").test(text);
208
+ }
199
209
  function resolveCommittedTodoEvidenceTool(executedToolResults, primaryTools) {
200
210
  const availableTools = primaryTools
201
211
  .filter((tool) => typeof tool.name === "string" && tool.name.length > 0 && !isPlanToolName(tool.name));
@@ -225,8 +235,8 @@ function resolveCommittedTodoEvidenceTool(executedToolResults, primaryTools) {
225
235
  item.title,
226
236
  item.name,
227
237
  item.text,
228
- ].filter((value) => typeof value === "string").join(" ").toLowerCase();
229
- const matched = availableTools.map((tool) => tool.name).filter((toolName) => content.includes(toolName.toLowerCase()));
238
+ ].filter((value) => typeof value === "string").join(" ");
239
+ const matched = availableTools.map((tool) => tool.name).filter((toolName) => textExplicitlyNamesTool(content, toolName));
230
240
  if (matched.length === 1) {
231
241
  return {
232
242
  name: matched[0],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botbotgo/agent-harness",
3
- "version": "0.0.434",
3
+ "version": "0.0.435",
4
4
  "description": "Workspace runtime for multi-agent applications",
5
5
  "license": "MIT",
6
6
  "type": "module",