When a function call was already registered under its output_index key via response.output_item.added, the synthetic events built from the terminal response.completed output carry no output_index and resolve to a different item-based key. ensureToolForEvent then created a second tool index and resent the full arguments, so Chat Completions clients received the same tool call twice. Reuse the tool registered under itemIDToKey/callIDToKey before creating a new one, and alias the new key to the existing tool. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| authz | Loading commit data... | |
| passkey | Loading commit data... | |
| relayconvert | Loading commit data... | |
| audio.go | Loading commit data... | |
| billing.go | Loading commit data... | |
| billing_session.go | Loading commit data... | |
| billing_usage.go | Loading commit data... | |
| channel.go | Loading commit data... | |
| channel_affinity.go | Loading commit data... | |
| channel_affinity_template_test.go | Loading commit data... | |
| channel_affinity_usage_cache_test.go | Loading commit data... | |
| channel_select.go | Loading commit data... | |
| codex_credential_refresh.go | Loading commit data... | |
| codex_credential_refresh_task.go | Loading commit data... | |
| codex_oauth.go | Loading commit data... | |
| codex_wham_usage.go | Loading commit data... | |
| convert.go | Loading commit data... | |
| convert_test.go | Loading commit data... | |
| download.go | Loading commit data... | |
| epay.go | Loading commit data... | |
| error.go | Loading commit data... | |
| error_test.go | Loading commit data... | |
| file_decoder.go | Loading commit data... | |
| file_service.go | Loading commit data... | |
| funding_source.go | Loading commit data... | |
| group.go | Loading commit data... | |
| http.go | Loading commit data... | |
| http_client.go | Loading commit data... | |
| image.go | Loading commit data... | |
| log_info_generate.go | Loading commit data... | |
| midjourney.go | Loading commit data... | |
| notify-limit.go | Loading commit data... | |
| openai_chat_responses_compat.go | Loading commit data... | |
| openai_chat_responses_mode.go | Loading commit data... | |
| protected_fetch_client.go | Loading commit data... | |
| protected_fetch_client_test.go | Loading commit data... | |
| quota.go | Loading commit data... | |
| quota_saturation_test.go | Loading commit data... | |
| rankings.go | Loading commit data... | |
| request_converter.go | Loading commit data... | |
| return_path.go | Loading commit data... | |
| sensitive.go | Loading commit data... | |
| str.go | Loading commit data... | |
| subscription_reset_task.go | Loading commit data... | |
| system_instance.go | Loading commit data... | |
| system_task.go | Loading commit data... | |
| system_task_test.go | Loading commit data... | |
| task.go | Loading commit data... | |
| task_billing.go | Loading commit data... | |
| task_billing_test.go | Loading commit data... | |
| task_polling.go | Loading commit data... | |
| task_polling_test.go | Loading commit data... | |
| text_quota.go | Loading commit data... | |
| text_quota_test.go | Loading commit data... | |
| tiered_settle.go | Loading commit data... | |
| tiered_settle_test.go | Loading commit data... | |
| token_counter.go | Loading commit data... | |
| token_estimator.go | Loading commit data... | |
| tokenizer.go | Loading commit data... | |
| tool_billing.go | Loading commit data... | |
| usage_helpr.go | Loading commit data... | |
| user_notify.go | Loading commit data... | |
| violation_fee.go | Loading commit data... | |
| waffo_pancake.go | Loading commit data... | |
| webhook.go | Loading commit data... |