Compaction overhaul (#5186)
Co-authored-by: Douwe Osinga <douwe@squareup.com> Co-authored-by: David Katz <dkatz@squareup.com> Co-authored-by: Alex Hancock <alexhancock@block.xyz>
This commit is contained in:
@@ -117,7 +117,7 @@ async fn run_truncate_test(
|
||||
agent.update_provider(provider).await?;
|
||||
let repeat_count = context_window + 10_000;
|
||||
let large_message_content = "hello ".repeat(repeat_count);
|
||||
let messages = Conversation::new(vec![
|
||||
let conversation = Conversation::new(vec![
|
||||
Message::user().with_text("hi there. what is 2 + 2?"),
|
||||
Message::assistant().with_text("hey! I think it's 4."),
|
||||
Message::user().with_text(&large_message_content),
|
||||
@@ -130,7 +130,7 @@ async fn run_truncate_test(
|
||||
])
|
||||
.unwrap();
|
||||
|
||||
let reply_stream = agent.reply(messages, None, None).await?;
|
||||
let reply_stream = agent.reply(conversation, None, None).await?;
|
||||
tokio::pin!(reply_stream);
|
||||
|
||||
let mut responses = Vec::new();
|
||||
@@ -143,8 +143,8 @@ async fn run_truncate_test(
|
||||
Ok(AgentEvent::ModelChange { .. }) => {
|
||||
// Model change events are informational, just continue
|
||||
}
|
||||
Ok(AgentEvent::HistoryReplaced(_)) => {
|
||||
// Handle history replacement events if needed
|
||||
Ok(AgentEvent::HistoryReplaced(_updated_conversation)) => {
|
||||
// Should update the conversation here, but we're not reading it
|
||||
}
|
||||
Err(e) => {
|
||||
println!("Error: {:?}", e);
|
||||
@@ -175,14 +175,6 @@ async fn run_truncate_test(
|
||||
assert!(text_content.text.to_lowercase().contains("no"));
|
||||
assert!(!text_content.text.to_lowercase().contains("yes"));
|
||||
}
|
||||
goose::conversation::message::MessageContent::ContextLengthExceeded(_) => {
|
||||
// This is an acceptable outcome for providers that don't truncate themselves
|
||||
// and correctly report that the context length was exceeded.
|
||||
println!(
|
||||
"Received ContextLengthExceeded as expected for {:?}",
|
||||
provider_type
|
||||
);
|
||||
}
|
||||
_ => {
|
||||
panic!(
|
||||
"Unexpected message content type: {:?}",
|
||||
@@ -1119,7 +1111,9 @@ mod max_turns_tests {
|
||||
}
|
||||
Ok(AgentEvent::McpNotification(_)) => {}
|
||||
Ok(AgentEvent::ModelChange { .. }) => {}
|
||||
Ok(AgentEvent::HistoryReplaced(_)) => {}
|
||||
Ok(AgentEvent::HistoryReplaced(_updated_conversation)) => {
|
||||
// We should update the conversation here, but we're not reading it
|
||||
}
|
||||
Err(e) => {
|
||||
return Err(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user