From e159237eff40318531452df57361353736b91de8 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Tue, 28 Oct 2025 20:12:13 +0100 Subject: [PATCH] fix: add prefix if exists in all calls (#1311) --- internal/agent/agent.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/internal/agent/agent.go b/internal/agent/agent.go index 7b4f3294d6007f8853a56b961ed17b9000303b04..5a70195ce8e3bd1cbb06af3ce8be50e6b3a2c58e 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -534,6 +534,13 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fan Prompt: "Provide a detailed summary of our conversation above.", Messages: aiMsgs, ProviderOptions: opts, + PrepareStep: func(callContext context.Context, options fantasy.PrepareStepFunctionOptions) (_ context.Context, prepared fantasy.PrepareStepResult, err error) { + prepared.Messages = options.Messages + if a.systemPromptPrefix != "" { + prepared.Messages = append([]fantasy.Message{fantasy.NewSystemMessage(a.systemPromptPrefix)}, prepared.Messages...) + } + return callContext, prepared, nil + }, OnReasoningDelta: func(id string, text string) error { summaryMessage.AppendReasoningContent(text) return a.messages.Update(genCtx, summaryMessage) @@ -687,6 +694,13 @@ func (a *sessionAgent) generateTitle(ctx context.Context, session *session.Sessi resp, err := agent.Stream(ctx, fantasy.AgentStreamCall{ Prompt: fmt.Sprintf("Generate a concise title for the following content:\n\n%s\n \n\n", prompt), + PrepareStep: func(callContext context.Context, options fantasy.PrepareStepFunctionOptions) (_ context.Context, prepared fantasy.PrepareStepResult, err error) { + prepared.Messages = options.Messages + if a.systemPromptPrefix != "" { + prepared.Messages = append([]fantasy.Message{fantasy.NewSystemMessage(a.systemPromptPrefix)}, prepared.Messages...) + } + return callContext, prepared, nil + }, }) if err != nil { slog.Error("error generating title", "err", err)