authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-10-04 23:32:35-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-10-05 15:36:02-07:00
log60304498fc16cab0525ee3a8c0efb3233ce7a55a
treefe4426e608952c12f41074f29d61068df08ef778
parent38c39a7c29a8ed78c19e7170d292f76a4f22641b
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU

Read existing Codex chats with bounded history cursors


1 files changed, 4 insertions(+), 1 deletions(-)

dashboard/src/relay.rs+4-1
......@@ -359,7 +359,7 @@ fn schema(method: &str) -> Option<Value> {
359359 json!([]),
360360 ),
361361 "read_thread" => (
362 json!({"provider":provider,"thread_id":id,"limit":{"type":"integer","minimum":1,"maximum":100,"default":20}}),
362 json!({"provider":provider,"thread_id":id,"cursor":{"type":"string","minLength":1,"maxLength":512},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20}}),
363363 json!(["provider", "thread_id"]),
364364 ),
365365 "send_message" => (
......@@ -914,7 +914,10 @@ mod tests {
914914 command("read_thread", json!({"provider":"claude","thread_id":id})).unwrap()["limit"],
915915 20
916916 );
917 assert_eq!(command("read_thread", json!({"provider":"codex","thread_id":id,"cursor":"page"})).unwrap()["cursor"], "page");
917918 for (method, params) in [
919 ("read_thread", json!({"provider":"codex","thread_id":id,"cursor":""})),
920 ("read_thread", json!({"provider":"codex","thread_id":id,"cursor":"x".repeat(513)})),
918921 (
919922 "read_thread",
920923 json!({"provider":"codex","thread_id":"not-a-uuid"}),