From f147df539e9db4f47ed189ed5e9967f59ec7cb1a Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Wed, 10 Sep 2025 10:05:51 -0700 Subject: [PATCH] refactor --- codex-rs/protocol/src/protocol.rs | 116 +----------------------------- 1 file changed, 1 insertion(+), 115 deletions(-) diff --git a/codex-rs/protocol/src/protocol.rs b/codex-rs/protocol/src/protocol.rs index 1e5a677fc9..7e358f12e2 100644 --- a/codex-rs/protocol/src/protocol.rs +++ b/codex-rs/protocol/src/protocol.rs @@ -803,121 +803,7 @@ pub struct WebSearchEndEvent { #[derive(Debug, Clone, Deserialize, Serialize, TS)] pub struct ConversationHistoryResponseEvent { pub conversation_id: ConversationId, - pub history: InitialHistory, -} - -#[derive(Debug, Clone, Deserialize, Serialize, TS)] -pub struct ResumedHistory { - pub conversation_id: ConversationId, - pub history: Vec, - pub rollout_path: PathBuf, -} - -#[derive(Debug, Clone, Deserialize, Serialize, TS)] -pub enum InitialHistory { - New, - Resumed(ResumedHistory), - Forked(Vec), -} - -impl InitialHistory { - pub fn get_rollout_items(&self) -> Vec { - match self { - InitialHistory::New => Vec::new(), - InitialHistory::Resumed(resumed) => resumed.history.clone(), - InitialHistory::Forked(items) => items.clone(), - } - } - pub fn get_response_items(&self) -> Vec { - match self { - InitialHistory::New => Vec::new(), - InitialHistory::Resumed(resumed) => resumed - .history - .iter() - .filter_map(|ri| match ri { - RolloutItem::ResponseItem(item) => Some(item.clone()), - _ => None, - }) - .collect(), - InitialHistory::Forked(items) => items - .iter() - .filter_map(|ri| match ri { - RolloutItem::ResponseItem(item) => Some(item.clone()), - _ => None, - }) - .collect(), - } - } - pub fn get_event_msgs(&self) -> Option> { - match self { - InitialHistory::New => None, - InitialHistory::Resumed(resumed) => Some( - resumed - .history - .iter() - .filter_map(|ri| match ri { - RolloutItem::EventMsg(ev) => Some(ev.clone()), - _ => None, - }) - .collect(), - ), - InitialHistory::Forked(items) => Some( - items - .iter() - .filter_map(|ri| match ri { - RolloutItem::EventMsg(ev) => Some(ev.clone()), - _ => None, - }) - .collect(), - ), - } - } -} - -#[derive(Serialize, Deserialize, Clone, Default, Debug, TS)] -pub struct SessionMeta { - pub id: ConversationId, - pub timestamp: String, - pub cwd: PathBuf, - pub originator: String, - pub cli_version: String, - pub instructions: Option, -} - -#[derive(Serialize, Deserialize, Debug, Clone, TS)] -pub struct SessionMetaLine { - #[serde(flatten)] - pub meta: SessionMeta, - #[serde(skip_serializing_if = "Option::is_none")] - pub git: Option, -} - -#[derive(Serialize, Deserialize, Debug, Clone, TS)] -#[serde(tag = "type", content = "payload", rename_all = "snake_case")] -pub enum RolloutItem { - SessionMeta(SessionMetaLine), - ResponseItem(ResponseItem), - EventMsg(EventMsg), -} - -#[derive(Serialize, Deserialize, Clone)] -pub struct RolloutLine { - pub timestamp: String, - #[serde(flatten)] - pub item: RolloutItem, -} - -#[derive(Serialize, Deserialize, Clone, Debug, TS)] -pub struct GitInfo { - /// Current commit hash (SHA) - #[serde(skip_serializing_if = "Option::is_none")] - pub commit_hash: Option, - /// Current branch name - #[serde(skip_serializing_if = "Option::is_none")] - pub branch: Option, - /// Repository URL (if available from remote) - #[serde(skip_serializing_if = "Option::is_none")] - pub repository_url: Option, + pub entries: Vec, } #[derive(Debug, Clone, Deserialize, Serialize, TS)]