Yufeng He and zouyonghe
6b2e41791e
fix(provider): merge custom server tools with registered tools in Anthropic requests ( #10437 )
...
* fix(provider): merge custom server tools with registered tools in Anthropic requests
* fix(provider): dedupe tool names and tolerate null custom body
Address review findings on the custom-server-tools merge:
- A custom tool sharing a name with a registered tool (or another
custom tool) produced duplicate definitions that the API rejects.
Merge by name instead; the custom entry wins, matching the override
authority extra_body already had for every other top-level key.
- An explicit null custom_extra_body crashed on .get("tools"). Null
or non-dict values now normalize to an empty body.
* fix(provider): avoid shadowed id in Anthropic streaming tool merge
---------
Co-authored-by: zouyonghe <62183434+zouyonghe@users.noreply.github.com >
2026-10-08 22:45:04 +09:00
..
2026-10-08 22:43:14 +09:00
2026-09-12 15:05:58 +08:00
2026-09-01 11:19:30 +08:00
2026-10-06 13:32:02 +08:00
2026-09-07 08:38:04 +08:00
2026-06-14 10:37:16 +08:00
2026-08-25 16:05:53 +08:00
2026-10-08 22:45:04 +09:00
2026-08-04 09:51:04 +08:00
2026-08-02 16:07:58 +08:00
2026-09-18 17:55:30 +08:00
2026-07-28 09:58:27 +08:00
2026-09-07 08:38:04 +08:00
2026-08-02 23:38:46 +08:00
2026-08-02 23:38:46 +08:00
2026-10-03 15:33:44 +08:00
2026-08-31 10:35:33 +08:00
2026-05-21 21:37:10 +08:00
2026-09-07 08:38:04 +08:00
2026-06-17 00:32:37 +08:00
2026-07-26 16:15:42 +08:00
2026-09-15 15:48:01 +08:00
2026-09-19 12:52:13 +08:00
2026-08-08 12:05:14 +08:00
2026-10-08 00:14:35 +08:00
2026-07-24 22:35:26 +08:00
2026-08-08 17:10:04 +08:00
2026-08-29 22:40:46 +08:00
2026-09-19 10:43:59 +08:00
2026-10-06 18:18:22 +08:00
2026-07-28 21:37:35 +08:00
2026-06-14 10:37:16 +08:00
2026-04-13 12:47:27 +09:00
2026-08-07 17:15:51 +08:00
2026-09-01 11:19:30 +08:00
2026-08-26 00:53:48 +08:00
2026-09-01 23:29:38 +08:00
2026-05-12 23:57:16 +08:00
2026-05-20 14:38:16 +08:00
2026-10-02 19:31:51 +08:00
2026-09-25 11:30:28 +08:00
2026-06-19 17:41:13 +08:00
2026-06-28 14:00:45 +08:00
2026-09-10 23:42:17 +08:00
2026-05-15 13:00:26 +08:00
2026-09-01 11:19:30 +08:00
2026-09-10 22:53:17 +08:00
2026-09-10 22:53:17 +08:00
2026-09-01 11:19:30 +08:00
2026-09-15 15:48:01 +08:00
2026-09-15 15:48:01 +08:00
2026-09-19 10:53:07 +08:00
2026-09-09 11:44:06 +09:00
2026-09-14 01:43:09 +08:00
2026-10-06 18:11:55 +08:00
2026-07-05 09:59:48 +08:00
2026-09-02 01:09:34 +08:00
2026-09-17 23:55:18 +08:00
2026-02-11 17:14:47 +08:00
2026-04-11 17:01:54 +08:00
2026-07-15 16:12:16 +08:00
2026-08-03 00:01:00 +08:00
2026-09-17 23:55:18 +08:00
2026-09-19 13:07:17 +08:00
2026-09-07 08:38:04 +08:00
2026-09-07 08:38:04 +08:00
2026-06-14 10:37:16 +08:00
2026-07-13 23:05:03 +08:00
2026-10-02 22:56:54 +08:00
2026-09-19 13:19:55 +08:00
2026-09-17 23:55:18 +08:00
2026-06-14 15:03:26 +08:00
2026-09-14 21:24:00 +08:00
2026-08-12 23:25:24 +08:00
2026-09-07 17:05:54 +08:00
2026-09-27 23:52:42 +08:00
2026-06-17 21:13:05 +08:00
2026-09-14 21:30:35 +08:00
2026-07-03 00:25:09 +08:00
2026-06-14 10:37:16 +08:00
2026-08-26 20:43:08 +08:00
2026-09-19 13:05:51 +08:00
2026-06-19 17:13:40 +08:00
2026-03-07 21:42:56 +09:00
2026-09-01 11:19:30 +08:00
2025-11-03 02:43:00 +08:00
2026-06-14 15:03:26 +08:00
2026-08-02 23:38:46 +08:00
2026-08-02 23:38:46 +08:00
2026-10-04 12:59:45 +08:00
2026-09-01 11:19:30 +08:00
2026-10-06 12:50:36 +08:00
2026-03-01 00:06:04 +08:00
2026-08-14 00:30:08 +08:00
2026-08-02 14:39:40 +08:00
2026-08-26 10:06:50 +08:00
2026-09-07 08:38:04 +08:00
2026-10-06 12:41:02 +08:00
2026-02-12 01:04:48 +08:00
2026-06-20 22:06:24 +08:00
2026-09-19 12:13:17 +08:00
2026-09-01 23:29:38 +08:00
2026-09-29 11:19:42 +08:00
2026-09-18 17:55:30 +08:00
2026-07-31 12:31:14 +08:00
2026-07-13 23:05:03 +08:00
2026-07-03 00:25:09 +08:00
2026-09-01 11:19:30 +08:00
2026-08-25 17:34:40 +08:00
2026-09-27 11:06:57 +08:00
2026-08-26 20:49:52 +08:00
2026-05-15 13:00:26 +08:00
2026-07-18 15:55:14 +08:00
2026-06-14 10:37:16 +08:00
2026-09-19 12:40:42 +08:00