mirror of
https://github.com/openai/codex.git
synced 2026-11-13 06:45:07 +00:00
Respect model support for reasoning summaries (#32290)
## What changed - Add `supports_reasoning_summary_parameter` to model metadata, defaulting to `true` for backward compatibility. - Omit `reasoning.summary` and its summary-delivery stream option when the selected model does not support the parameter. - Apply the capability of the final selected model when a spawned agent uses a different model. ## Testing - Cover unsupported models in regular requests and spawned-agent model overrides. GitOrigin-RevId: 72b783799fc0685cef1501ef2dbf62d1308ceead
This commit is contained in:
1 parent
bfe31598c7
commit
dffe1f02a3
16 files changed
+175
-11
No files matched your search
@@ -349,6 +349,15 @@ const fn default_effective_context_window_percent() -> i64 {
|
||||
95
|
||||
}
|
||||
|
||||
const fn default_true() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[allow(clippy::trivially_copy_pass_by_ref)]
|
||||
const fn is_true(value: &bool) -> bool {
|
||||
*value
|
||||
}
|
||||
|
||||
/// Model metadata returned by the Codex backend `/models` endpoint.
|
||||
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, TS, JsonSchema)]
|
||||
pub struct ModelInfo {
|
||||
@@ -375,6 +384,9 @@ pub struct ModelInfo {
|
||||
pub model_messages: Option<ModelMessages>,
|
||||
#[serde(default)]
|
||||
pub include_skills_usage_instructions: bool,
|
||||
/// Whether the model accepts the Responses API `reasoning.summary` parameter.
|
||||
#[serde(default = "default_true", skip_serializing_if = "is_true")]
|
||||
pub supports_reasoning_summary_parameter: bool,
|
||||
#[serde(default)]
|
||||
pub default_reasoning_summary: ReasoningSummary,
|
||||
pub support_verbosity: bool,
|
||||
@@ -680,6 +692,7 @@ mod tests {
|
||||
base_instructions: "base".to_string(),
|
||||
model_messages: spec,
|
||||
include_skills_usage_instructions: false,
|
||||
supports_reasoning_summary_parameter: true,
|
||||
default_reasoning_summary: ReasoningSummary::Auto,
|
||||
support_verbosity: false,
|
||||
default_verbosity: None,
|
||||
@@ -1002,6 +1015,7 @@ mod tests {
|
||||
|
||||
assert_eq!(model.availability_nux, None);
|
||||
assert!(!model.include_skills_usage_instructions);
|
||||
assert!(model.supports_reasoning_summary_parameter);
|
||||
assert!(!model.supports_image_detail_original);
|
||||
assert_eq!(model.web_search_tool_type, WebSearchToolType::Text);
|
||||
assert!(!model.supports_search_tool);
|
||||
|
||||
Reference in new issue
Block a user