Skip to content

fix(tools): reassemble fragmented tool names - #40

Merged
ImPedro29 merged 1 commit into
mainfrom
fix/reassemble-fragmented-tool-names
Aug 18, 2026
Merged

fix(tools): reassemble fragmented tool names#40
ImPedro29 merged 1 commit into
mainfrom
fix/reassemble-fragmented-tool-names

Conversation

@ImPedro29

Copy link
Copy Markdown

Summary

  • reassemble fragmented OpenAI chat-completions and Responses API tool names before execution
  • safely canonicalize terminal one-character truncations only when they resolve to one advertised non-MCP tool
  • propagate the canonical tool identity through execution, permissions, hooks, transcript replay, and UI consumers
  • cover every registered built-in tool plus fragmented, cumulative, parallel, late-name, and non-streaming provider shapes

Impact

  • user-facing impact: calls such as Rea are recovered as Read instead of failing or rendering as an unknown tool
  • developer/maintainer impact: tool-name recovery is centralized and shared by provider adapters and downstream consumers

Testing

  • bun run build
  • bun run smoke
  • focused tests: 174 passing across tool resolution, OpenAI/Codex shims, execution pairing, and message normalization
  • bun run desktop:test (17 passing)

Notes

  • provider/model path tested: OpenAI-compatible chat completions and Responses API, including Codex translation
  • screenshots attached (if UI changed): not applicable; UI changes only use the resolved canonical tool identity
  • follow-up work or known limitations: ambiguous prefixes, short names, aliases, and MCP tool names intentionally remain unchanged

@ImPedro29
ImPedro29 merged commit 273700e into main Aug 18, 2026
12 checks passed
@ImPedro29
ImPedro29 deleted the fix/reassemble-fragmented-tool-names branch August 18, 2026 16:10
@ImPedro29 ImPedro29 mentioned this pull request Aug 18, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant