Some LiteLLM-proxied models emit tool calls as <tool_call>fn(args) text instead of using the OpenAI function-calling API. This caused raw markup to be streamed as visible chat text with no tool execution. After streaming completes, detect <tool_call> patterns, parse into proper tool_calls, strip markup from content, and re-edit the Matrix message. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
208 KiB
208 KiB