@@ -534,6 +534,13 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fan
534534 Prompt: "Provide a detailed summary of our conversation above.",
535535 Messages: aiMsgs,
536536 ProviderOptions: opts,
537+ PrepareStep: func(callContext context.Context, options fantasy.PrepareStepFunctionOptions) (_ context.Context, prepared fantasy.PrepareStepResult, err error) {
538+ prepared.Messages = options.Messages
539+ if a.systemPromptPrefix != "" {
540+ prepared.Messages = append([]fantasy.Message{fantasy.NewSystemMessage(a.systemPromptPrefix)}, prepared.Messages...)
541+ }
542+ return callContext, prepared, nil
543+ },
537544 OnReasoningDelta: func(id string, text string) error {
538545 summaryMessage.AppendReasoningContent(text)
539546 return a.messages.Update(genCtx, summaryMessage)
@@ -687,6 +694,13 @@ func (a *sessionAgent) generateTitle(ctx context.Context, session *session.Sessi
687694
688695 resp, err := agent.Stream(ctx, fantasy.AgentStreamCall{
689696 Prompt: fmt.Sprintf("Generate a concise title for the following content:\n\n%s\n <think>\n\n</think>", prompt),
697+ PrepareStep: func(callContext context.Context, options fantasy.PrepareStepFunctionOptions) (_ context.Context, prepared fantasy.PrepareStepResult, err error) {
698+ prepared.Messages = options.Messages
699+ if a.systemPromptPrefix != "" {
700+ prepared.Messages = append([]fantasy.Message{fantasy.NewSystemMessage(a.systemPromptPrefix)}, prepared.Messages...)
701+ }
702+ return callContext, prepared, nil
703+ },
690704 })
691705 if err != nil {
692706 slog.Error("error generating title", "err", err)