on main help sign in
chore: fix summary by adding options
d521e93Kujtim Hoxha
internal/agent/agent.go+6−5
@@ -51,7 +51,7 @@ type SessionAgent interface {
51 IsBusy() bool
51 IsBusy() bool
52 QueuedPrompts(sessionID string) int
52 QueuedPrompts(sessionID string) int
53 ClearQueue(sessionID string)
53 ClearQueue(sessionID string)
54− Summarize(context.Context, string) error
54+ Summarize(context.Context, string, fantasy.ProviderOptions) error
55 Model() Model
55 Model() Model
56}
56}
57
57
@@ -427,7 +427,7 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy
427
427
428 if shouldSummarize {
428 if shouldSummarize {
429 a.activeRequests.Del(call.SessionID)
429 a.activeRequests.Del(call.SessionID)
430− if summarizeErr := a.Summarize(genCtx, call.SessionID); summarizeErr != nil {
430+ if summarizeErr := a.Summarize(genCtx, call.SessionID, call.ProviderOptions); summarizeErr != nil {
431 return nil, summarizeErr
431 return nil, summarizeErr
432 }
432 }
433 }
433 }
@@ -442,7 +442,7 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy
442 return a.Run(genCtx, firstQueuedMessage)
442 return a.Run(genCtx, firstQueuedMessage)
443}
443}
444
444
445−func (a *sessionAgent) Summarize(ctx context.Context, sessionID string) error {
445+func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fantasy.ProviderOptions) error {
446 if a.IsSessionBusy(sessionID) {
446 if a.IsSessionBusy(sessionID) {
447 return ErrSessionBusy
447 return ErrSessionBusy
448 }
448 }
@@ -481,8 +481,9 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string) error {
481 }
481 }
482
482
483 resp, err := agent.Stream(genCtx, fantasy.AgentStreamCall{
483 resp, err := agent.Stream(genCtx, fantasy.AgentStreamCall{
484− Prompt: "Provide a detailed summary of our conversation above.",
484+ Prompt: "Provide a detailed summary of our conversation above.",
485− Messages: aiMsgs,
485+ Messages: aiMsgs,
486+ ProviderOptions: opts,
486 OnReasoningDelta: func(id string, text string) error {
487 OnReasoningDelta: func(id string, text string) error {
487 summaryMessage.AppendReasoningContent(text)
488 summaryMessage.AppendReasoningContent(text)
488 return a.messages.Update(genCtx, summaryMessage)
489 return a.messages.Update(genCtx, summaryMessage)
internal/agent/coordinator.go+5−1
@@ -647,5 +647,9 @@ func (c *coordinator) QueuedPrompts(sessionID string) int {
647}
647}
648
648
649func (c *coordinator) Summarize(ctx context.Context, sessionID string) error {
649func (c *coordinator) Summarize(ctx context.Context, sessionID string) error {
650+ providerCfg, ok := c.cfg.Providers.Get(c.currentAgent.Model().ModelCfg.Provider)
651+ if !ok {
652+ return errors.New("model provider not configured")
653+ }
650− return c.currentAgent.Summarize(ctx, sessionID)
654+ return c.currentAgent.Summarize(ctx, sessionID, getProviderOptions(c.currentAgent.Model(), providerCfg.Type))
651}
655}