Changelog
- f36a5f5 Merge pull request #1294 from Darley-Wey/fix/claude2gemini
- c1facdf Merge pull request #1295 from SchneeMart/feature/claude-caching
- 4ee46bc Merge pull request #1311 from router-for-me/fix/gemini-schema
- c3e94a8 Merge pull request #1317 from yinkev/feat/gemini-tools-passthrough
- 3a43ecb feat(caching): implement Claude prompt caching with multi-turn support
- 538039f feat(translator): add code_execution and url_context tool passthrough
- d0d66cd fix(gemini): Removes unsupported extension fields
- 2666708 fix: skip empty text parts and messages to avoid Gemini API error When Claude API sends an assistant message with empty text content like: {"role":"assistant","content":[{"type":"text","text":""}]} The translator was creating a part object {} with no data field, causing Gemini API to return error: "required oneof field 'data' must have one initialized field" This fix: 1. Skips empty text parts (text="") during translation 2. Skips entire messages when their parts array becomes empty This ensures compatibility when clients send empty assistant messages in their conversation history.
- ca79651 refactor(gemini): optimize removeExtensionFields with post-order traversal and DeleteBytes