refactor: update cursor request handling and improve parent request management

- Changed `run_id` to `request_id` in `CursorParent` struct for clarity.
- Enhanced the `prepare` function to handle parent requests asynchronously, ensuring proper error handling for active runs.
- Updated database interactions to include `cursor_request_id` for better tracking of requests.
- Added tests to verify the behavior of reused cursor request IDs and their mapping to distinct executions.
This commit is contained in:
leookun
2026-08-26 01:46:30 +08:00
parent ae31757635
commit 847e92c7ea
20 changed files with 271 additions and 57 deletions
+9 -1
View File
@@ -169,8 +169,16 @@ async fn eligible_pending_checkpoint_resumes_tools_before_the_next_model_call()
1,
"resume must execute the pending batch before calling the model"
);
let resumed_run_id = store
.active_run_for_cursor_request("resumed-run")
.await
.unwrap()
.unwrap();
let resumed_round = store
.tool_round(&ToolRoundId::new("resumed-run:round:resume"))
.tool_round(&ToolRoundId::new(format!(
"{}:round:resume",
resumed_run_id.as_str()
)))
.await
.unwrap()
.unwrap();