fix: insert tool pair summaries at chronological position in conversation (#9087)

Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2026-05-11 14:54:16 -04:00
committed by GitHub
parent a38922d95e
commit 4dd8ef3b88
3 changed files with 85 additions and 48 deletions
+11 -7
View File
@@ -533,13 +533,17 @@ pub fn maybe_summarize_tool_pairs(
conversation: Conversation,
cutoff: usize,
protect_last_n: usize,
) -> JoinHandle<Vec<(Message, String)>> {
tokio::spawn(async move {
if !tool_pair_summarization_enabled() || provider.manages_own_context() {
return Vec::new();
}
) -> Option<JoinHandle<Vec<(Message, String)>>> {
if !tool_pair_summarization_enabled() || provider.manages_own_context() {
return None;
}
let tool_ids = tool_ids_to_summarize(&conversation, cutoff, protect_last_n);
let tool_ids = tool_ids_to_summarize(&conversation, cutoff, protect_last_n);
if tool_ids.is_empty() {
return None;
}
Some(tokio::spawn(async move {
let mut results = Vec::new();
for tool_id in tool_ids {
match summarize_tool_call(provider.as_ref(), &session_id, &conversation, &tool_id).await
@@ -551,7 +555,7 @@ pub fn maybe_summarize_tool_pairs(
}
}
results
})
}))
}
#[cfg(test)]