kudi88
5121a2a20e
feat(aux): force streaming for providers that reject non-stream requests
...
Some OpenAI-compatible endpoints — notably Tencent Copilot
(copilot.tencent.com) — only accept streaming chat requests; any
non-streaming call returns HTTP 400 (code 11101, 'Non-stream chat
request is currently not supported'). The main conversation loop already
streams, so interactive chat works, but every auxiliary task (title
generation, compression, web extraction) used the non-streaming path and
failed on each call.
_provider_requires_stream() detects stream-only endpoints
(copilot.tencent.com built in, plus user-configurable
auxiliary.stream_only_base_urls substring markers in config.yaml).
Matching sync auxiliary calls route through _create_with_progress
(force_stream=True) and async calls through the new
_acreate_with_stream, aggregating the chunk stream — including tool-call
deltas and reasoning deltas — into a complete response via the shared
_ChatStreamAccumulator.
Salvaged from PR #60686 by @kudi88 onto the progress-aware streaming
machinery from #71508 , addressing both sweeper-review gaps: the async
path now consumes the stream with 'async for' (awaiting create() and
iterating synchronously raised on AsyncOpenAI streams), and tool-call
deltas are reassembled instead of dropped (MCP passes tools= through
call_llm). Under force_stream there is no silent non-streaming retry —
a stream-only provider rejects those by definition, so the original
error surfaces to the normal recovery chains.
2026-07-25 14:58:04 -07:00
..
2026-07-20 13:43:36 -04:00
2026-07-24 15:54:08 -07:00
2026-07-14 03:23:19 -07:00
2026-07-24 16:01:38 -07:00
2026-07-01 01:36:34 -07:00
2026-06-27 19:14:43 -07:00
2026-07-20 08:47:55 -07:00
2026-06-23 23:59:40 -07:00
2026-07-04 15:16:13 +05:30
2026-07-24 15:54:38 -07:00
2026-07-19 08:25:35 +05:30
2026-07-06 12:46:20 -07:00
2026-06-26 19:15:18 -07:00
2026-07-25 14:58:04 -07:00
2026-07-04 15:44:50 -07:00
2026-06-26 11:21:05 +05:30
2026-07-15 07:47:18 -07:00
2026-06-27 21:22:49 -07:00
2026-07-01 17:00:30 +05:30
2026-07-02 04:51:56 +05:30
2026-07-25 12:26:28 -07:00
2026-07-16 04:23:12 -07:00
2026-06-29 01:27:10 -07:00
2026-07-06 12:46:20 -07:00
2026-07-05 19:23:26 -07:00
2026-07-17 09:08:30 -07:00
2026-07-02 01:09:37 -07:00
2026-07-21 13:54:11 -05:00
2026-07-23 11:45:07 -07:00
2026-07-20 03:27:38 -07:00
2026-07-08 01:51:05 +05:30
2026-07-18 19:38:21 +05:30
2026-07-22 18:08:59 -05:00
2026-07-18 14:30:24 +05:30
2026-07-21 12:20:25 +05:30
2026-07-05 14:00:20 -07:00
2026-07-18 21:20:48 -04:00
2026-06-27 11:43:08 -07:00
2026-07-22 06:57:22 -07:00
2026-06-25 12:24:34 -05:00
2026-07-17 06:49:47 -07:00
2026-07-22 12:02:40 -05:00
2026-07-06 12:46:20 -07:00
2026-07-15 09:47:37 -07:00
2026-07-17 13:44:12 -07:00
2026-07-17 04:46:59 -07:00
2026-06-30 00:59:59 -05:00
2026-07-14 02:19:40 +05:30
2026-07-22 08:11:40 -07:00
2026-07-11 22:59:49 +05:30
2026-07-23 08:19:14 -07:00
2026-07-22 16:58:35 -07:00
2026-07-23 08:08:48 -07:00
2026-07-24 15:57:09 -07:00
2026-07-22 08:13:41 -07:00
2026-07-24 16:00:34 -07:00
2026-07-15 12:28:09 -07:00
2026-06-25 12:56:05 -07:00
2026-07-22 06:56:42 -07:00
2026-07-22 11:19:37 +05:30
2026-07-24 16:00:34 -07:00
2026-07-08 11:56:17 -07:00
2026-07-22 08:10:47 -07:00
2026-07-22 11:46:05 +05:30
2026-07-15 09:47:04 -07:00
2026-07-20 11:58:50 +05:30
2026-07-22 06:57:22 -07:00
2026-07-05 21:42:19 +05:30
2026-06-29 09:18:10 -04:00
2026-07-22 06:56:53 -07:00
2026-07-23 16:27:06 -07:00
2026-07-22 06:56:53 -07:00
2026-07-23 17:03:49 -07:00
2026-07-14 02:19:40 +05:30
2026-07-23 19:44:35 -07:00
2026-07-23 19:44:35 -07:00
2026-07-23 16:44:12 -07:00
2026-07-24 21:20:52 -05:00
2026-06-30 00:19:49 -07:00
2026-07-24 17:10:39 -07:00
2026-07-17 13:08:46 -04:00
2026-07-13 23:20:48 +05:30
2026-07-16 06:14:56 -07:00
2026-07-12 03:00:53 -07:00
2026-07-24 22:58:47 +05:30
2026-07-24 15:50:36 -07:00
2026-07-23 09:31:58 -07:00
2026-07-23 01:28:58 -05:00
2026-07-18 14:30:24 +05:30
2026-07-11 11:07:34 +05:30
2026-07-18 02:31:20 -07:00
2026-07-05 13:42:46 -07:00
2026-07-10 18:32:32 +05:30
2026-07-12 23:30:52 -07:00
2026-06-25 00:17:17 -07:00
2026-07-23 17:57:33 +05:30
2026-07-10 19:14:06 +05:30
2026-07-18 12:28:59 -07:00
2026-07-23 17:38:05 +05:30
2026-07-23 07:25:08 -07:00
2026-07-18 12:54:58 -07:00
2026-07-16 00:18:38 -07:00
2026-07-17 05:45:12 -07:00
2026-07-01 01:02:35 -07:00
2026-07-19 14:58:59 +05:30
2026-07-05 13:44:33 -07:00
2026-07-23 17:26:24 -07:00
2026-07-17 04:54:06 -07:00
2026-07-23 16:58:06 -07:00
2026-07-22 16:51:01 -04:00
2026-07-23 08:08:48 -07:00
2026-07-22 09:14:11 -07:00
2026-07-23 08:32:09 -07:00
2026-07-11 05:59:42 -07:00
2026-06-30 03:20:11 -07:00
2026-07-14 16:47:33 +05:30
2026-07-19 12:21:59 -07:00
2026-06-30 16:56:01 -07:00
2026-06-30 11:54:16 -05:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:25 -05:00
2026-07-16 07:57:51 -07:00
2026-07-23 08:19:14 -07:00
2026-07-05 13:42:46 -07:00
2026-07-17 04:55:58 -07:00
2026-07-09 03:21:54 +05:30
2026-07-24 13:00:53 +05:30
2026-06-22 07:00:42 -07:00
2026-07-20 02:25:44 -07:00
2026-07-04 20:59:02 +05:30
2026-07-01 06:02:33 -07:00
2026-07-23 16:17:27 -07:00
2026-07-23 18:11:57 -07:00
2026-07-23 18:40:09 -07:00
2026-07-15 00:11:04 -07:00
2026-07-23 18:40:09 -07:00
2026-07-23 11:20:54 -07:00
2026-07-23 16:17:27 -07:00
2026-06-30 03:39:50 -07:00
2026-07-01 04:07:46 -07:00
2026-06-30 03:27:12 -07:00
2026-07-09 14:08:44 +05:30
2026-07-23 11:21:04 -07:00
2026-07-20 11:05:52 -07:00
2026-07-02 17:05:05 +05:30
2026-07-09 21:10:07 -07:00
2026-07-18 14:30:24 +05:30
2026-07-24 17:10:39 -07:00
2026-06-23 08:01:50 +00:00
2026-06-30 15:41:44 -05:00
2026-06-25 00:44:53 -05:00
2026-07-08 06:18:18 -07:00
2026-07-16 01:13:43 -07:00
2026-07-20 02:25:57 -07:00
2026-06-25 01:20:23 +05:30
2026-07-23 16:23:57 -07:00
2026-07-23 16:44:12 -07:00
2026-07-23 16:44:12 -07:00
2026-07-09 14:08:44 +05:30
2026-07-23 11:55:01 -07:00
2026-07-24 16:01:38 -07:00
2026-07-23 07:25:33 -07:00
2026-07-10 05:41:59 -05:00
2026-07-19 16:32:20 -07:00
2026-07-20 02:25:57 -07:00
2026-07-11 05:41:58 -07:00
2026-06-27 20:04:45 -07:00
2026-07-21 12:11:31 +05:30
2026-07-16 04:32:23 -07:00
2026-07-22 04:39:17 -07:00
2026-07-22 10:00:39 +05:30
2026-07-16 07:28:07 -07:00
2026-06-30 00:59:29 -05:00
2026-07-05 14:48:11 -07:00
2026-06-26 19:15:18 -07:00
2026-07-14 16:41:21 +05:30
2026-07-17 04:52:02 -07:00
2026-07-22 07:00:16 -07:00
2026-07-02 04:51:56 +05:30
2026-07-17 18:31:09 +00:00
2026-07-01 04:55:15 -07:00
2026-07-22 08:11:09 +05:30
2026-07-15 00:10:22 -07:00
2026-07-24 15:48:23 -07:00
2026-07-24 15:48:23 -07:00
2026-07-24 16:01:38 -07:00
2026-07-24 16:01:38 -07:00
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-07-17 20:55:24 +00:00
2026-07-17 20:55:24 +00:00
2026-06-28 02:44:06 -07:00
2026-07-11 05:41:58 -07:00
2026-07-20 13:04:12 -07:00
2026-07-18 02:08:39 -07:00
2026-07-11 05:41:58 -07:00
2026-07-07 15:12:49 -07:00
2026-07-14 02:59:39 +05:30
2026-07-23 08:43:21 -07:00
2026-07-24 16:00:34 -07:00
2026-06-22 13:57:59 -07:00
2026-07-19 07:27:10 +05:30
2026-06-23 23:52:28 -07:00
2026-07-20 11:42:29 -04:00
2026-07-19 01:09:29 -07:00
2026-07-22 12:02:40 -05:00
2026-07-16 04:23:12 -07:00
2026-07-16 04:23:12 -07:00
2026-07-23 11:45:07 -07:00
2026-07-24 15:55:08 -07:00
2026-07-20 11:42:29 -04:00
2026-07-20 11:42:29 -04:00
2026-07-12 04:32:52 -07:00
2026-06-30 00:59:29 -05:00
2026-07-02 06:07:56 +05:30
2026-07-14 02:59:39 +05:30