Improve Codex Chat reasoning conversion

- Convert Chat reasoning_content and reasoning fields into Responses reasoning output items.
- Emit Responses reasoning summary SSE events for streamed Chat reasoning deltas.
- Preserve output ordering when reasoning, text, and tool calls are streamed together.
- Add regression coverage for data-only Chat SSE errors, multiple tool calls, and compact routing.
This commit is contained in:
Jason
2026-05-19 10:33:24 +08:00
parent 1c82b8a3fa
commit 79d6486e16
4 changed files with 323 additions and 9 deletions
+17
View File
@@ -464,4 +464,21 @@ wire_api = "chat"
"/v1/responses/compact"
));
}
#[test]
fn test_codex_provider_uses_chat_completions_from_meta_api_format_for_compact() {
let mut provider = create_provider(json!({
"base_url": "https://example.com/v1"
}));
provider.meta = Some(crate::provider::ProviderMeta {
api_format: Some("openai_chat".to_string()),
..Default::default()
});
assert!(codex_provider_uses_chat_completions(&provider));
assert!(should_convert_codex_responses_to_chat(
&provider,
"/responses/compact?stream=true"
));
}
}