| ... | @@ -359,7 +359,7 @@ fn schema(method: &str) -> Option<Value> { | ... | @@ -359,7 +359,7 @@ fn schema(method: &str) -> Option<Value> { |
| 359 | json!([]), | 359 | json!([]), |
| 360 | ), | 360 | ), |
| 361 | "read_thread" => ( | 361 | "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}}), |
| 363 | json!(["provider", "thread_id"]), | 363 | json!(["provider", "thread_id"]), |
| 364 | ), | 364 | ), |
| 365 | "send_message" => ( | 365 | "send_message" => ( |
| ... | @@ -914,7 +914,10 @@ mod tests { | ... | @@ -914,7 +914,10 @@ mod tests { |
| 914 | command("read_thread", json!({"provider":"claude","thread_id":id})).unwrap()["limit"], | 914 | command("read_thread", json!({"provider":"claude","thread_id":id})).unwrap()["limit"], |
| 915 | 20 | 915 | 20 |
| 916 | ); | 916 | ); |
| | 917 | assert_eq!(command("read_thread", json!({"provider":"codex","thread_id":id,"cursor":"page"})).unwrap()["cursor"], "page"); |
| 917 | for (method, params) in [ | 918 | 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)})), |
| 918 | ( | 921 | ( |
| 919 | "read_thread", | 922 | "read_thread", |
| 920 | json!({"provider":"codex","thread_id":"not-a-uuid"}), | 923 | json!({"provider":"codex","thread_id":"not-a-uuid"}), |