feat(session): use default min messages in ForceCompression when no summarizer is configured
Signed-off-by: Boris Bliznioukov <blib@mail.com>
This commit is contained in:
parent
d9f94e8e0f
commit
bbb1ed6033
2 changed files with 18 additions and 1 deletions
|
|
@ -513,7 +513,7 @@ func (sm *SessionManager) summarizeSession(sessionKey string) {
|
||||||
// already blocked, so there is no concurrent-append concern here.
|
// already blocked, so there is no concurrent-append concern here.
|
||||||
// No-op if no Summarizer was provided via WithSummarizer.
|
// No-op if no Summarizer was provided via WithSummarizer.
|
||||||
func (sm *SessionManager) ForceCompression(sessionKey string) {
|
func (sm *SessionManager) ForceCompression(sessionKey string) {
|
||||||
cfg := sm.summarizerCfg
|
cfg := sm.summarizerCfg.WithDefaults()
|
||||||
history := sm.GetHistory(sessionKey)
|
history := sm.GetHistory(sessionKey)
|
||||||
if len(history) <= cfg.ForceCompressionMinMessages {
|
if len(history) <= cfg.ForceCompressionMinMessages {
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -231,6 +231,23 @@ func TestForceCompression_TooFewMessages(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestForceCompression_WithoutSummarizer_UsesDefaultMinMessages(t *testing.T) {
|
||||||
|
sm := NewSessionManager(t.TempDir())
|
||||||
|
|
||||||
|
// 3 messages is below the default ForceCompressionMinMessages (4),
|
||||||
|
// so compression should not run even when no summarizer is configured.
|
||||||
|
sm.AddFullMessage("test", providers.Message{Role: "system", Content: "system prompt"})
|
||||||
|
sm.AddMessage("test", "user", "one")
|
||||||
|
sm.AddMessage("test", "assistant", "two")
|
||||||
|
|
||||||
|
sm.ForceCompression("test")
|
||||||
|
|
||||||
|
history := sm.GetHistory("test")
|
||||||
|
if len(history) != 3 {
|
||||||
|
t.Errorf("expected 3 messages unchanged, got %d", len(history))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --- ApplySummarization ---
|
// --- ApplySummarization ---
|
||||||
|
|
||||||
func TestApplySummarization_PreservesNewMessages(t *testing.T) {
|
func TestApplySummarization_PreservesNewMessages(t *testing.T) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue