Files
pulse/internal
rcourtman 80b20cb1ff Stream OpenRouter reasoning tokens in the OpenAI client
OpenRouter and other OpenAI-compatible gateways normalize chain-of-thought
into a "reasoning" delta field, while DeepSeek's direct API uses
"reasoning_content". The OpenAI-compatible client only read
"reasoning_content", so reasoning models routed via OpenRouter (e.g.
deepseek/deepseek-v4-pro, the configured Assistant default) had every
thinking token dropped. The Assistant showed a long dead pause and then the
answer instead of a live thinking stream, which read as "DeepSeek doesn't
stream".

Parse "reasoning" on both the streaming delta and the non-streaming message,
and surface it as a thinking event alongside the existing reasoning_content
path. Direct DeepSeek (reasoning_content) is unchanged. Adds a regression
test feeding an OpenRouter-style reasoning stream.
2026-06-04 23:25:50 +01:00
..
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-06-04 14:07:14 +01:00
2026-06-03 11:43:20 +01:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00