From d521e93213a7020f11206639c89474753f1d3e29 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Mon, 20 Oct 2025 10:54:19 +0200 Subject: [PATCH] chore: fix summary by adding options --- internal/agent/agent.go | 11 ++++++----- internal/agent/coordinator.go | 6 +++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/agent/agent.go b/internal/agent/agent.go index cbfe5683b66c57e74fd4a74ccac20bf24bfa6720..876de43fd167e545b5084c14da2c133702aed959 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -51,7 +51,7 @@ type SessionAgent interface { IsBusy() bool QueuedPrompts(sessionID string) int ClearQueue(sessionID string) - Summarize(context.Context, string) error + Summarize(context.Context, string, fantasy.ProviderOptions) error Model() Model } @@ -427,7 +427,7 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy if shouldSummarize { a.activeRequests.Del(call.SessionID) - if summarizeErr := a.Summarize(genCtx, call.SessionID); summarizeErr != nil { + if summarizeErr := a.Summarize(genCtx, call.SessionID, call.ProviderOptions); summarizeErr != nil { return nil, summarizeErr } } @@ -442,7 +442,7 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy return a.Run(genCtx, firstQueuedMessage) } -func (a *sessionAgent) Summarize(ctx context.Context, sessionID string) error { +func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fantasy.ProviderOptions) error { if a.IsSessionBusy(sessionID) { return ErrSessionBusy } @@ -481,8 +481,9 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string) error { } resp, err := agent.Stream(genCtx, fantasy.AgentStreamCall{ - Prompt: "Provide a detailed summary of our conversation above.", - Messages: aiMsgs, + Prompt: "Provide a detailed summary of our conversation above.", + Messages: aiMsgs, + ProviderOptions: opts, OnReasoningDelta: func(id string, text string) error { summaryMessage.AppendReasoningContent(text) return a.messages.Update(genCtx, summaryMessage) diff --git a/internal/agent/coordinator.go b/internal/agent/coordinator.go index 533142b4720d819abc6bac2cafa395744e93e7c5..4c10bb7478bb17e77539bb8875aa6717d08ccd04 100644 --- a/internal/agent/coordinator.go +++ b/internal/agent/coordinator.go @@ -647,5 +647,9 @@ func (c *coordinator) QueuedPrompts(sessionID string) int { } func (c *coordinator) Summarize(ctx context.Context, sessionID string) error { - return c.currentAgent.Summarize(ctx, sessionID) + providerCfg, ok := c.cfg.Providers.Get(c.currentAgent.Model().ModelCfg.Provider) + if !ok { + return errors.New("model provider not configured") + } + return c.currentAgent.Summarize(ctx, sessionID, getProviderOptions(c.currentAgent.Model(), providerCfg.Type)) }