mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 20:20:43 +00:00
* fix: strip standalone <function> tool call tags from visible text (#67093) Models like Gemma emit tool calls as standalone <function> blocks with nested <parameter> XML instead of wrapping them in <tool_call>. The existing stripToolCallXmlTags only recognized tool_call, tool_result, function_call, function_calls, and tool_calls — so bare <function> and </function> tags leaked through to the user as raw syntax on Discord and other channels. Add "function" to TOOL_CALL_TAG_NAMES and extend the payload detection for <function> tags to check XML payloads (not just JSON), matching the same behavior already applied to <tool_call>. Other tag types keep the more conservative JSON-only check to avoid stripping prose examples. Made-with: Cursor * Text: harden standalone <function> stripping * fix: strip standalone <function> tool call tags from visible text (#67318) (thanks @joelnishanth) --------- Co-authored-by: Ayaan Zaidi <hi@obviy.us>