Fix: streaming to tui

This commit is contained in:
Grail Finder
2026-03-17 10:51:53 +03:00
parent 326a1a4d09
commit 69a69547ff
2 changed files with 7 additions and 23 deletions

28
bot.go
View File

@@ -48,10 +48,9 @@ var (
chunkParser ChunkParser
lastToolCall *models.FuncCall
lastRespStats *models.ResponseStats
outputHandler OutputHandler
cliPrevOutput string
cliRespDone chan bool
outputHandler OutputHandler
cliPrevOutput string
cliRespDone chan bool
)
type OutputHandler interface {
@@ -65,30 +64,15 @@ type TUIOutputHandler struct {
}
func (h *TUIOutputHandler) Write(p string) {
if h.tv != nil {
fmt.Fprint(h.tv, p)
}
if cfg != nil && cfg.CLIMode {
fmt.Print(p)
cliPrevOutput = p
}
fmt.Fprint(h.tv, p)
}
func (h *TUIOutputHandler) Writef(format string, args ...interface{}) {
s := fmt.Sprintf(format, args...)
if h.tv != nil {
fmt.Fprint(h.tv, s)
}
if cfg != nil && cfg.CLIMode {
fmt.Print(s)
cliPrevOutput = s
}
fmt.Fprintf(h.tv, format, args...)
}
func (h *TUIOutputHandler) ScrollToEnd() {
if h.tv != nil {
h.tv.ScrollToEnd()
}
h.tv.ScrollToEnd()
}
type CLIOutputHandler struct{}