Manual compaction counting fix + cli cleanup (#5480)
This commit is contained in:
@@ -65,7 +65,7 @@ use crate::session::SessionManager;
|
||||
|
||||
const DEFAULT_MAX_TURNS: u32 = 1000;
|
||||
const COMPACTION_THINKING_TEXT: &str = "goose is compacting the conversation...";
|
||||
const MANUAL_COMPACT_TRIGGER: &str = "Please compact this conversation";
|
||||
pub const MANUAL_COMPACT_TRIGGER: &str = "Please compact this conversation";
|
||||
|
||||
/// Context needed for the reply function
|
||||
pub struct ReplyContext {
|
||||
@@ -803,9 +803,10 @@ impl Agent {
|
||||
);
|
||||
|
||||
match crate::context_mgmt::compact_messages(self, &conversation_to_compact, false).await {
|
||||
Ok((compacted_conversation, _token_counts, _summarization_usage)) => {
|
||||
Ok((compacted_conversation, summarization_usage)) => {
|
||||
if let Some(session_to_store) = &session {
|
||||
SessionManager::replace_conversation(&session_to_store.id, &compacted_conversation).await?;
|
||||
Self::update_session_metrics(session_to_store, &summarization_usage, true).await?;
|
||||
}
|
||||
|
||||
yield AgentEvent::HistoryReplaced(compacted_conversation.clone());
|
||||
@@ -991,7 +992,7 @@ impl Agent {
|
||||
// Record usage for the session
|
||||
if let Some(ref session_config) = &session {
|
||||
if let Some(ref usage) = usage {
|
||||
Self::update_session_metrics(session_config, usage).await?;
|
||||
Self::update_session_metrics(session_config, usage, false).await?;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1166,9 +1167,10 @@ impl Agent {
|
||||
);
|
||||
|
||||
match crate::context_mgmt::compact_messages(self, &conversation, true).await {
|
||||
Ok((compacted_conversation, _token_counts, _usage)) => {
|
||||
Ok((compacted_conversation, usage)) => {
|
||||
if let Some(session_to_store) = &session {
|
||||
SessionManager::replace_conversation(&session_to_store.id, &compacted_conversation).await?
|
||||
SessionManager::replace_conversation(&session_to_store.id, &compacted_conversation).await?;
|
||||
Self::update_session_metrics(session_to_store, &usage, true).await?;
|
||||
}
|
||||
|
||||
conversation = compacted_conversation;
|
||||
|
||||
Reference in New Issue
Block a user