on main help sign in
fix(noninteractive): strip leading newline from assistant responses
60ca35fChristian Rocha
internal/agent/agent.go+7
@@ -276,6 +276,13 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy
276 return a.messages.Update(genCtx, *currentAssistant)
276 return a.messages.Update(genCtx, *currentAssistant)
277 },
277 },
278 OnTextDelta: func(id string, text string) error {
278 OnTextDelta: func(id string, text string) error {
279+ // Strip leading newline from initial text content. This is is
280+ // particularly important in non-interactive mode where leading
281+ // newlines are very visible.
282+ if len(currentAssistant.Parts) == 0 && strings.HasPrefix(text, "\n") {
283+ text = strings.TrimPrefix(text, "\n")
284+ }
285+
279 currentAssistant.AppendContent(text)
286 currentAssistant.AppendContent(text)
280 return a.messages.Update(genCtx, *currentAssistant)
287 return a.messages.Update(genCtx, *currentAssistant)
281 },
288 },