Skip to content

Commit bfa6fa9

Browse files
Add memory browser and preserve resume effort
Add a structured memory browser backed by the app-server memory API, replace overlay status transcript text with a bottom-pane view, and avoid leaking the active session reasoning effort into resumed threads. Co-authored-by: Open Codex <hff582580@gmail.com>
1 parent c34dcf3 commit bfa6fa9

27 files changed

Lines changed: 933 additions & 112 deletions

codex-rs/Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ codex-lmstudio = { path = "lmstudio" }
179179
codex-login = { path = "login" }
180180
codex-message-history = { path = "message-history" }
181181
codex-memories-read = { path = "memories/read" }
182+
codex-memories-mcp = { path = "memories/mcp" }
182183
codex-memories-write = { path = "memories/write" }
183184
codex-mcp = { path = "codex-mcp" }
184185
codex-mcp-server = { path = "mcp-server" }

codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server-protocol/schema/typescript/v2/MemoryFileKind.ts

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server-protocol/schema/typescript/v2/MemoryFileStatus.ts

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server-protocol/schema/typescript/v2/index.ts

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codex-rs/app-server-protocol/src/protocol/common.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,12 @@ client_request_definitions! {
535535
serialization: global("memory"),
536536
response: v2::MemoryResetResponse,
537537
},
538+
#[experimental("memory/list")]
539+
MemoryList => "memory/list" {
540+
params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>,
541+
serialization: global("memory"),
542+
response: v2::MemoryListResponse,
543+
},
538544
#[experimental("memory/overlay/status")]
539545
MemoryOverlayStatus => "memory/overlay/status" {
540546
params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>,

codex-rs/app-server-protocol/src/protocol/v2/thread.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,33 @@ pub struct ThreadMemoryModeSetResponse {}
745745
#[ts(export_to = "v2/")]
746746
pub struct MemoryResetResponse {}
747747

748+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)]
749+
#[serde(rename_all = "camelCase")]
750+
#[ts(export_to = "v2/")]
751+
pub enum MemoryFileKind {
752+
Summary,
753+
Index,
754+
Topic,
755+
}
756+
757+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
758+
#[serde(rename_all = "camelCase")]
759+
#[ts(export_to = "v2/")]
760+
pub struct MemoryListResponse {
761+
pub files: Vec<MemoryFileStatus>,
762+
}
763+
764+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
765+
#[serde(rename_all = "camelCase")]
766+
#[ts(export_to = "v2/")]
767+
pub struct MemoryFileStatus {
768+
pub kind: MemoryFileKind,
769+
pub path: String,
770+
pub title: String,
771+
pub content: String,
772+
pub truncated: bool,
773+
}
774+
748775
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
749776
#[serde(rename_all = "camelCase")]
750777
#[ts(export_to = "v2/")]

codex-rs/app-server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ codex-backend-client = { workspace = true }
5353
codex-file-search = { workspace = true }
5454
codex-chatgpt = { workspace = true }
5555
codex-login = { workspace = true }
56+
codex-memories-mcp = { workspace = true }
5657
codex-memories-write = { workspace = true }
5758
codex-mcp = { workspace = true }
5859
codex-model-provider = { workspace = true }

0 commit comments

Comments
 (0)