Always request encrypted cot (#3539)
Otherwise future requests will fail with 500
This commit is contained in:
@@ -84,8 +84,10 @@ pub enum ResponseEvent {
|
|||||||
|
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
pub(crate) struct Reasoning {
|
pub(crate) struct Reasoning {
|
||||||
pub(crate) effort: ReasoningEffortConfig,
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub(crate) summary: ReasoningSummaryConfig,
|
pub(crate) effort: Option<ReasoningEffortConfig>,
|
||||||
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub(crate) summary: Option<ReasoningSummaryConfig>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Controls under the `text` field in the Responses API for GPT-5.
|
/// Controls under the `text` field in the Responses API for GPT-5.
|
||||||
@@ -146,7 +148,10 @@ pub(crate) fn create_reasoning_param_for_request(
|
|||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
effort.map(|effort| Reasoning { effort, summary })
|
Some(Reasoning {
|
||||||
|
effort,
|
||||||
|
summary: Some(summary),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn create_text_param_for_request(
|
pub(crate) fn create_text_param_for_request(
|
||||||
|
|||||||
@@ -450,7 +450,6 @@ async fn chatgpt_auth_sends_correct_request() {
|
|||||||
// Init session
|
// Init session
|
||||||
let codex_home = TempDir::new().unwrap();
|
let codex_home = TempDir::new().unwrap();
|
||||||
let mut config = load_default_config_for_test(&codex_home);
|
let mut config = load_default_config_for_test(&codex_home);
|
||||||
let include_reasoning = config.model_reasoning_effort.is_some();
|
|
||||||
config.model_provider = model_provider;
|
config.model_provider = model_provider;
|
||||||
let conversation_manager = ConversationManager::with_auth(create_dummy_codex_auth());
|
let conversation_manager = ConversationManager::with_auth(create_dummy_codex_auth());
|
||||||
let NewConversation {
|
let NewConversation {
|
||||||
@@ -492,18 +491,10 @@ async fn chatgpt_auth_sends_correct_request() {
|
|||||||
);
|
);
|
||||||
assert_eq!(request_chatgpt_account_id.to_str().unwrap(), "account_id");
|
assert_eq!(request_chatgpt_account_id.to_str().unwrap(), "account_id");
|
||||||
assert!(request_body["stream"].as_bool().unwrap());
|
assert!(request_body["stream"].as_bool().unwrap());
|
||||||
if include_reasoning {
|
assert_eq!(
|
||||||
assert_eq!(
|
request_body["include"][0].as_str().unwrap(),
|
||||||
request_body["include"][0].as_str().unwrap(),
|
"reasoning.encrypted_content"
|
||||||
"reasoning.encrypted_content"
|
);
|
||||||
);
|
|
||||||
} else {
|
|
||||||
assert!(
|
|
||||||
request_body["include"]
|
|
||||||
.as_array()
|
|
||||||
.is_none_or(|items| items.is_empty())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||||
|
|||||||
Reference in New Issue
Block a user