Parallel tool calls without index collide on positional fallback key and one is silently dropped
In langchain-core's _compat_bridge._iter_protocol_blocks, tool_call content blocks lacking an explicit index are keyed by ("__lc_no_index__", block_type, position_in_chunk). When Gemini streams parallel function calls as separate chunks each containing one complete tool_call block at position 0, the keys collide. _accumulate then overwrites the earlier block with the later one, silently dropping the first tool call. This leads to incorrect model behavior and, with Gemini 3, the lost call may carry the thought_signature, causing upstream validation issues or silent execution of only one of the requested tools.