Download codex-rs/core/src/session/inject_tests.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core/src/session/inject_tests.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/core/src/session/inject_tests.rs
-
curl -L -o inject_tests.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core/src/session/inject_tests.rs
1.91 kB
| use crate::session::tests::make_session_and_context_with_rx; | |
| use codex_features::Feature; | |
| use codex_history::CodexHarnessMetadata; | |
| use codex_history::ResponseItemEnvelope; | |
| use codex_history::RolloutItem; | |
| use codex_protocol::models::ConfigurationReasoning; | |
| use codex_protocol::models::ResponseItem; | |
| use codex_protocol::openai_models::ReasoningEffort; | |
| use codex_protocol::protocol::EventMsg; | |
| use pretty_assertions::assert_eq; | |
| async fn harness_authored_configuration_updates_preserve_metadata_and_resume() { | |
| let (session, turn_context, rx_event) = make_session_and_context_with_rx().await; | |
| assert!(!session.enabled(Feature::RetainClientDeveloperMessages)); | |
| let expected = ResponseItemEnvelope { | |
| item: ResponseItem::ConfigurationUpdate { | |
| reasoning: ConfigurationReasoning { | |
| effort: ReasoningEffort::High, | |
| }, | |
| }, | |
| metadata: Some(CodexHarnessMetadata { | |
| harness_authored_configuration: true, | |
| ..Default::default() | |
| }), | |
| }; | |
| session | |
| .record_annotated_conversation_items( | |
| &turn_context, | |
| turn_context.model_info(), | |
| vec![expected.clone()], | |
| ) | |
| .await; | |
| let recorded = session.clone_history().await.into_annotated_items(); | |
| assert_eq!(recorded, vec![expected.clone()]); | |
| let mut raw_items = Vec::new(); | |
| while let Ok(event) = rx_event.try_recv() { | |
| if let EventMsg::RawResponseItem(event) = event.msg { | |
| raw_items.push(event.item); | |
| } | |
| } | |
| assert_eq!(raw_items, vec![expected.item]); | |
| let rollout_items = recorded | |
| .iter() | |
| .cloned() | |
| .map(RolloutItem::ResponseItem) | |
| .collect::<Vec<_>>(); | |
| let reconstructed = session | |
| .reconstruct_history_from_rollout(&turn_context, &rollout_items) | |
| .await; | |
| assert_eq!(reconstructed.history, recorded); | |
| } | |