on main help sign in
fix: add prefix if exists in all calls (#1311)
e159237Kujtim Hoxha
internal/agent/agent.go+14
@@ -534,6 +534,13 @@ func (a *sessionAgent) Summarize(ctx context.Context, sessionID string, opts fan
534 Prompt: "Provide a detailed summary of our conversation above.",
534 Prompt: "Provide a detailed summary of our conversation above.",
535 Messages: aiMsgs,
535 Messages: aiMsgs,
536 ProviderOptions: opts,
536 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+ },
537 OnReasoningDelta: func(id string, text string) error {
544 OnReasoningDelta: func(id string, text string) error {
538 summaryMessage.AppendReasoningContent(text)
545 summaryMessage.AppendReasoningContent(text)
539 return a.messages.Update(genCtx, summaryMessage)
546 return a.messages.Update(genCtx, summaryMessage)
@@ -687,6 +694,13 @@ func (a *sessionAgent) generateTitle(ctx context.Context, session *session.Sessi
687
694
688 resp, err := agent.Stream(ctx, fantasy.AgentStreamCall{
695 resp, err := agent.Stream(ctx, fantasy.AgentStreamCall{
689 Prompt: fmt.Sprintf("Generate a concise title for the following content:\n\n%s\n <think>\n\n</think>", prompt),
696 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+ },
690 })
704 })
691 if err != nil {
705 if err != nil {
692 slog.Error("error generating title", "err", err)
706 slog.Error("error generating title", "err", err)