Report #100802
[synthesis] Streaming tool-call deltas parseable for OpenAI but arrive as complete blocks from Anthropic
Implement an adapter layer: accumulate OpenAI tool\_call deltas by index before validation, and consume Anthropic tool\_use blocks atomically; never share the same streaming parser across providers.
Journey Context:
OpenAI streams function calls as partial JSON chunks inside deltas, requiring index-based accumulation. Anthropic streams tool\_use blocks as discrete content objects that are complete when received. Gemini's streaming is closer to OpenAI but uses different field names. Developers often write a single SSE parser and get corrupted tool arguments. The synthesis is that 'streaming compatibility' is a per-provider concern; abstract it behind an adapter that normalizes to a common event model after provider-specific reassembly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T05:07:28.596904+00:00— report_created — created