fix(session): use configured session manager for tool summaries (#10628)

This commit is contained in:
Anthony
2026-07-22 20:35:45 -07:00
committed by GitHub
parent 7b879b4073
commit d5785a3671
3 changed files with 16 additions and 8 deletions
+1 -1
View File
@@ -2841,7 +2841,7 @@ impl Agent {
if matching_ids.len() == 2 {
for id in &matching_ids {
SessionManager::update_message_metadata(&session_config.id, id, |metadata| {
session_manager.update_message_metadata(&session_config.id, id, |metadata| {
metadata.with_agent_invisible()
}).await?;
}
+2 -3
View File
@@ -617,14 +617,13 @@ impl SessionManager {
.await
}
pub async fn update_message_metadata<F>(id: &str, message_id: &str, f: F) -> Result<()>
pub async fn update_message_metadata<F>(&self, id: &str, message_id: &str, f: F) -> Result<()>
where
F: FnOnce(
crate::conversation::message::MessageMetadata,
) -> crate::conversation::message::MessageMetadata,
{
Self::instance()
.storage
self.storage
.update_message_metadata(id, message_id, f)
.await
}
+13 -4
View File
@@ -832,14 +832,15 @@ mod tests {
mod tool_pair_summarization_tests {
use super::*;
use async_trait::async_trait;
use goose::agents::SessionConfig;
use goose::agents::{AgentConfig, SessionConfig};
use goose::config::base::Config;
use goose::config::permission::PermissionManager;
use goose::config::GooseMode;
use goose::conversation::message::Message;
use goose::providers::base::{
stream_from_single_message, MessageStream, Provider, ProviderDef, ProviderMetadata,
};
use goose::session::session_manager::SessionType;
use goose::session::{SessionManager, SessionType};
use goose_providers::conversation::token_usage::{ProviderUsage, Usage};
use goose_providers::errors::ProviderError;
use goose_providers::model::ModelConfig;
@@ -935,8 +936,16 @@ mod tests {
.set_param("GOOSE_TOOL_CALL_CUTOFF", 2)
.unwrap();
let agent = Agent::new();
let session_manager = agent.config.session_manager.clone();
let temp_dir = tempfile::tempdir()?;
let session_manager = Arc::new(SessionManager::new(temp_dir.path().join("data")));
let agent = Agent::with_config(AgentConfig::new(
Arc::clone(&session_manager),
Arc::new(PermissionManager::new(temp_dir.path().join("config"))),
None,
GooseMode::Auto,
true,
GoosePlatform::GooseCli,
));
let provider = Arc::new(SummarizationTestProvider::new());
let session = session_manager