diff --git a/pkg/agent/context.go b/pkg/agent/context.go index cf5ce2913..97c8772eb 100644 --- a/pkg/agent/context.go +++ b/pkg/agent/context.go @@ -146,15 +146,15 @@ func (cb *ContextBuilder) LoadBootstrapFiles() string { "IDENTITY.md", } - var result string + var sb strings.Builder for _, filename := range bootstrapFiles { filePath := filepath.Join(cb.workspace, filename) if data, err := os.ReadFile(filePath); err == nil { - result += fmt.Sprintf("## %s\n\n%s\n\n", filename, string(data)) + fmt.Fprintf(&sb, "## %s\n\n%s\n\n", filename, string(data)) } } - return result + return sb.String() } func (cb *ContextBuilder) BuildMessages(history []providers.Message, summary string, currentMessage string, media []string, channel, chatID string) []providers.Message { diff --git a/pkg/agent/memory.go b/pkg/agent/memory.go index 3f6896f91..0dd9c760d 100644 --- a/pkg/agent/memory.go +++ b/pkg/agent/memory.go @@ -10,6 +10,7 @@ import ( "fmt" "os" "path/filepath" + "strings" "time" ) @@ -118,14 +119,14 @@ func (ms *MemoryStore) GetRecentDailyNotes(days int) string { } // Join with separator - var result string + var sb strings.Builder for i, note := range notes { if i > 0 { - result += "\n\n---\n\n" + sb.WriteString("\n\n---\n\n") } - result += note + sb.WriteString(note) } - return result + return sb.String() } // GetMemoryContext returns formatted memory context for the agent prompt. @@ -150,12 +151,12 @@ func (ms *MemoryStore) GetMemoryContext() string { } // Join parts with separator - var result string + var sb strings.Builder for i, part := range parts { if i > 0 { - result += "\n\n---\n\n" + sb.WriteString("\n\n---\n\n") } - result += part + sb.WriteString(part) } - return fmt.Sprintf("# Memory\n\n%s", result) + return "# Memory\n\n" + sb.String() }