Download codex-rs/app-server/src/request_processors/thread_summary_tests.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 2.1 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/thread_summary_tests.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server/src/request_processors/thread_summary_tests.rs
-
curl -L -o thread_summary_tests.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/thread_summary_tests.rs
2.1 kB
| use super::*; | |
| use anyhow::Result; | |
| use codex_protocol::protocol::USER_MESSAGE_BEGIN; | |
| use pretty_assertions::assert_eq; | |
| use serde_json::json; | |
| use std::path::PathBuf; | |
| fn extract_conversation_summary_prefers_plain_user_messages() -> Result<()> { | |
| let conversation_id = ThreadId::from_string("3f941c35-29b3-493b-b0a4-e25800d9aeb0")?; | |
| let timestamp = Some("2025-09-05T16:53:11.850Z".to_string()); | |
| let path = PathBuf::from("rollout.jsonl"); | |
| let head = vec![ | |
| json!({ | |
| "session_id": conversation_id.to_string(), | |
| "id": conversation_id.to_string(), | |
| "timestamp": timestamp, | |
| "cwd": "/", | |
| "originator": "codex", | |
| "cli_version": "0.0.0", | |
| "model_provider": "test-provider" | |
| }), | |
| json!({ | |
| "type": "message", | |
| "role": "user", | |
| "content": [{ | |
| "type": "input_text", | |
| "text": "# AGENTS.md instructions for project\n\n<INSTRUCTIONS>\n<AGENTS.md contents>\n</INSTRUCTIONS>".to_string(), | |
| }], | |
| }), | |
| json!({ | |
| "type": "message", | |
| "role": "user", | |
| "content": [{ | |
| "type": "input_text", | |
| "text": format!("<prior context> {USER_MESSAGE_BEGIN}Count to 5"), | |
| }], | |
| }), | |
| ]; | |
| let session_meta = serde_json::from_value::<SessionMeta>(head[0].clone())?; | |
| let summary = extract_conversation_summary( | |
| path.clone(), | |
| &head, | |
| &session_meta, | |
| /*git*/ None, | |
| "test-provider", | |
| timestamp.clone(), | |
| ) | |
| .expect("summary"); | |
| let expected = ConversationSummary { | |
| conversation_id, | |
| timestamp: timestamp.clone(), | |
| updated_at: timestamp, | |
| path, | |
| preview: "Count to 5".to_string(), | |
| model_provider: "test-provider".to_string(), | |
| cwd: PathBuf::from("/"), | |
| cli_version: "0.0.0".to_string(), | |
| source: codex_protocol::protocol::SessionSource::VSCode, | |
| git_info: None, | |
| }; | |
| assert_eq!(summary, expected); | |
| Ok(()) | |
| } | |