@@ -343,46 +343,46 @@ func formatContextOutput(result *ContextResult, format string) string {
343343 if len (result .KeyPoints ) > 0 {
344344 sb .WriteString ("### Key Decisions\n " )
345345 for _ , point := range result .KeyPoints {
346- sb . WriteString ( fmt .Sprintf ( "- %s\n " , point ) )
346+ fmt .Fprintf ( & sb , "- %s\n " , point )
347347 }
348348 sb .WriteString ("\n " )
349349 }
350350
351351 for i , turn := range result .LastTurns {
352- sb . WriteString ( fmt .Sprintf ( "### Turn %d\n " , i + 1 ) )
353- sb . WriteString ( fmt .Sprintf ( "**USER:** %s\n \n " , turn .UserContent ) )
354- sb . WriteString ( fmt .Sprintf ( "**ASSISTANT:** %s\n \n " , turn .AssistContent ) )
352+ fmt .Fprintf ( & sb , "### Turn %d\n " , i + 1 )
353+ fmt .Fprintf ( & sb , "**USER:** %s\n \n " , turn .UserContent )
354+ fmt .Fprintf ( & sb , "**ASSISTANT:** %s\n \n " , turn .AssistContent )
355355 }
356356
357357 sb .WriteString ("---\n " )
358- sb . WriteString ( fmt .Sprintf ( "*Resume: %s*\n " , result .ResumeCommand ) )
358+ fmt .Fprintf ( & sb , "*Resume: %s*\n " , result .ResumeCommand )
359359
360360 case "prompt" :
361361 sb .WriteString ("## Previous Session Context\n \n " )
362- sb . WriteString ( fmt .Sprintf ( "**Project:** %s\n " , result .Project ) )
363- sb . WriteString ( fmt .Sprintf ( "**Date:** %s (%s)\n " , result .Date .Format ("2006-01-02" ), relativeTime (result .Date ) ))
364- sb . WriteString ( fmt .Sprintf ( "**Agent:** %s\n " , result .Agent ) )
362+ fmt .Fprintf ( & sb , "**Project:** %s\n " , result .Project )
363+ fmt .Fprintf ( & sb , "**Date:** %s (%s)\n " , result .Date .Format ("2006-01-02" ), relativeTime (result .Date ))
364+ fmt .Fprintf ( & sb , "**Agent:** %s\n " , result .Agent )
365365 if result .Topic != "" {
366- sb . WriteString ( fmt .Sprintf ( "**Topic:** %s\n \n " , result .Topic ) )
366+ fmt .Fprintf ( & sb , "**Topic:** %s\n \n " , result .Topic )
367367 }
368368
369369 // Show last turns in condensed format
370370 for i , turn := range result .LastTurns {
371- sb . WriteString ( fmt .Sprintf ( "### Exchange %d\n " , i + 1 ) )
372- sb . WriteString ( fmt .Sprintf ( "USER: %s\n \n " , turn .UserContent ) )
371+ fmt .Fprintf ( & sb , "### Exchange %d\n " , i + 1 )
372+ fmt .Fprintf ( & sb , "USER: %s\n \n " , turn .UserContent )
373373 // Truncate long assistant responses
374374 assistContent := turn .AssistContent
375375 if len (assistContent ) > 500 {
376376 assistContent = assistContent [:497 ] + "..."
377377 }
378- sb . WriteString ( fmt .Sprintf ( "ASSISTANT: %s\n \n " , assistContent ) )
378+ fmt .Fprintf ( & sb , "ASSISTANT: %s\n \n " , assistContent )
379379 }
380380
381381 sb .WriteString ("---\n " )
382- sb . WriteString ( fmt .Sprintf ( "*Continue from this context. Session: %s*\n " , result .SessionID ) )
382+ fmt .Fprintf ( & sb , "*Continue from this context. Session: %s*\n " , result .SessionID )
383383
384384 default : // json is handled elsewhere
385- sb . WriteString ( fmt .Sprintf ( "Session: %s\n Project: %s\n " , result .SessionID , result .Project ) )
385+ fmt .Fprintf ( & sb , "Session: %s\n Project: %s\n " , result .SessionID , result .Project )
386386 }
387387
388388 return sb .String ()
@@ -391,19 +391,19 @@ func formatContextOutput(result *ContextResult, format string) string {
391391func exportMarkdown (session * Session ) string {
392392 var sb strings.Builder
393393
394- sb . WriteString ( fmt .Sprintf ( "# Conversation: %s\n \n " , session .ProjectName ) )
395- sb . WriteString ( fmt .Sprintf ( "**Agent:** %s\n " , session .Agent ) )
396- sb . WriteString ( fmt .Sprintf ( "**Project:** %s\n " , session .ProjectPath ) )
397- sb . WriteString ( fmt .Sprintf ( "**Date:** %s\n " , session .StartedAt .Format ("2006-01-02 15:04:05" ) ))
394+ fmt .Fprintf ( & sb , "# Conversation: %s\n \n " , session .ProjectName )
395+ fmt .Fprintf ( & sb , "**Agent:** %s\n " , session .Agent )
396+ fmt .Fprintf ( & sb , "**Project:** %s\n " , session .ProjectPath )
397+ fmt .Fprintf ( & sb , "**Date:** %s\n " , session .StartedAt .Format ("2006-01-02 15:04:05" ))
398398 if session .GitBranch != "" {
399- sb . WriteString ( fmt .Sprintf ( "**Branch:** %s\n " , session .GitBranch ) )
399+ fmt .Fprintf ( & sb , "**Branch:** %s\n " , session .GitBranch )
400400 }
401401 sb .WriteString ("\n ---\n \n " )
402402
403403 for i , turn := range session .Turns {
404- sb . WriteString ( fmt .Sprintf ( "## Turn %d\n \n " , i + 1 ) )
405- sb . WriteString ( fmt .Sprintf ( "### User\n \n %s\n \n " , turn .UserContent ) )
406- sb . WriteString ( fmt .Sprintf ( "### Assistant\n \n %s\n \n " , turn .AssistContent ) )
404+ fmt .Fprintf ( & sb , "## Turn %d\n \n " , i + 1 )
405+ fmt .Fprintf ( & sb , "### User\n \n %s\n \n " , turn .UserContent )
406+ fmt .Fprintf ( & sb , "### Assistant\n \n %s\n \n " , turn .AssistContent )
407407 sb .WriteString ("---\n \n " )
408408 }
409409
@@ -424,7 +424,7 @@ func exportHTML(session *Session) string {
424424
425425 sb .WriteString ("<!DOCTYPE html>\n <html>\n <head>\n " )
426426 sb .WriteString ("<meta charset=\" UTF-8\" >\n " )
427- sb . WriteString ( fmt .Sprintf ( "<title>Conversation: %s</title>\n " , session .ProjectName ) )
427+ fmt .Fprintf ( & sb , "<title>Conversation: %s</title>\n " , session .ProjectName )
428428 sb .WriteString ("<style>\n " )
429429 sb .WriteString ("body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }\n " )
430430 sb .WriteString (".turn { margin-bottom: 20px; }\n " )
@@ -433,18 +433,18 @@ func exportHTML(session *Session) string {
433433 sb .WriteString ("pre { background: #263238; color: #fff; padding: 10px; border-radius: 4px; overflow-x: auto; }\n " )
434434 sb .WriteString ("</style>\n </head>\n <body>\n " )
435435
436- sb . WriteString ( fmt .Sprintf ( "<h1>%s</h1>\n " , session .ProjectName ) )
437- sb . WriteString ( fmt .Sprintf ( "<p><strong>Agent:</strong> %s | <strong>Date:</strong> %s</p>\n " ,
438- session .Agent , session .StartedAt .Format ("2006-01-02" )))
436+ fmt .Fprintf ( & sb , "<h1>%s</h1>\n " , session .ProjectName )
437+ fmt .Fprintf ( & sb , "<p><strong>Agent:</strong> %s | <strong>Date:</strong> %s</p>\n " ,
438+ session .Agent , session .StartedAt .Format ("2006-01-02" ))
439439 sb .WriteString ("<hr>\n " )
440440
441441 for i , turn := range session .Turns {
442442 sb .WriteString ("<div class=\" turn\" >\n " )
443- sb . WriteString ( fmt .Sprintf ( "<h3>Turn %d</h3>\n " , i + 1 ) )
444- sb . WriteString ( fmt .Sprintf ( "<div class=\" user\" ><strong>User:</strong><br>%s</div>\n " ,
445- escapeHTML (turn .UserContent )))
446- sb . WriteString ( fmt .Sprintf ( "<div class=\" assistant\" ><strong>Assistant:</strong><br>%s</div>\n " ,
447- formatHTMLContent (turn .AssistContent )))
443+ fmt .Fprintf ( & sb , "<h3>Turn %d</h3>\n " , i + 1 )
444+ fmt .Fprintf ( & sb , "<div class=\" user\" ><strong>User:</strong><br>%s</div>\n " ,
445+ escapeHTML (turn .UserContent ))
446+ fmt .Fprintf ( & sb , "<div class=\" assistant\" ><strong>Assistant:</strong><br>%s</div>\n " ,
447+ formatHTMLContent (turn .AssistContent ))
448448 sb .WriteString ("</div>\n " )
449449 }
450450
0 commit comments