We have two ways of loading conversation with a previous history. Fork conversation and the experimental resume that we had before. In this PR, I am unifying their code path. The path is getting the history items and recording them in a brand new conversation. This PR also constraint the rollout recorder responsibilities to be only recording to the disk and loading from the disk. The PR also fixes a current bug when we have two forking in a row: History 1: <Environment Context> UserMessage_1 UserMessage_2 UserMessage_3 **Fork with n = 1 (only remove one element)** History 2: <Environment Context> UserMessage_1 UserMessage_2 <Environment Context> **Fork with n = 1 (only remove one element)** History 2: <Environment Context> UserMessage_1 UserMessage_2 **<Environment Context>** This shouldn't happen but because we were appending the `<Environment Context>` after each spawning and it's considered as _user message_. Now, we don't add this message if restoring and old conversation.
14 lines
273 B
Rust
14 lines
273 B
Rust
// Aggregates all former standalone integration tests as modules.
|
|
|
|
mod cli_stream;
|
|
mod client;
|
|
mod compact;
|
|
mod exec;
|
|
mod exec_stream_events;
|
|
mod fork_conversation;
|
|
mod live_cli;
|
|
mod prompt_caching;
|
|
mod seatbelt;
|
|
mod stream_error_allows_next_turn;
|
|
mod stream_no_completed;
|