Documentation
¶
Index ¶
- type Options
- type Runner
- func (r *Runner) HandleChatChunk(msg agentdomain.ChatChunkEvent) tea.Cmd
- func (r *Runner) HandleChatComplete(msg agentdomain.ChatCompleteEvent) tea.Cmd
- func (r *Runner) HandleChatError(msg agentdomain.ChatErrorEvent) tea.Cmd
- func (r *Runner) HandleChatStart(_ agentdomain.ChatStartEvent) tea.Cmd
- func (r *Runner) HandleOptimizationStatus(event agentdomain.OptimizationStatusEvent) tea.Cmd
- func (r *Runner) SetPendingRestoration(originalModel string)
- func (r *Runner) Start(holder agentdomain.BashDetachChannelHolder) tea.Cmd
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Options ¶
type Options struct {
AgentService agentdomain.AgentService
ConversationRepo convdomain.ConversationRepository
ModelService convdomain.ModelService
StateManager stateManager
Listener tui.ChatEventListener
}
Options bundles the dependencies needed to construct a Runner.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func (*Runner) HandleChatChunk ¶
func (r *Runner) HandleChatChunk(msg agentdomain.ChatChunkEvent) tea.Cmd
HandleChatChunk forwards a streaming content delta to the UI and adjusts chat status if the chunk indicates a thinking → generating transition (or vice versa).
func (*Runner) HandleChatComplete ¶
func (r *Runner) HandleChatComplete(msg agentdomain.ChatCompleteEvent) tea.Cmd
HandleChatComplete restores the pending model (if any), updates chat status, refreshes history, emits tool-call previews, and signals completion.
func (*Runner) HandleChatError ¶
func (r *Runner) HandleChatError(msg agentdomain.ChatErrorEvent) tea.Cmd
HandleChatError tears down session state and emits a sticky error event (with a friendlier message for "timed out" errors).
func (*Runner) HandleChatStart ¶
func (r *Runner) HandleChatStart(_ agentdomain.ChatStartEvent) tea.Cmd
HandleChatStart transitions chat status to Starting and emits the initial "Starting response..." status. Clearing the orchestrator's active-tool indicator is the orchestrator's responsibility (see ChatHandler wrapper).
func (*Runner) HandleOptimizationStatus ¶
func (r *Runner) HandleOptimizationStatus(event agentdomain.OptimizationStatusEvent) tea.Cmd
HandleOptimizationStatus surfaces the "Optimizing conversation..." status transitions emitted by the conversation optimizer.
func (*Runner) SetPendingRestoration ¶
SetPendingRestoration records that a temporary /model switch is in effect and that originalModel should be restored once the next completion ends.
func (*Runner) Start ¶
func (r *Runner) Start(holder agentdomain.BashDetachChannelHolder) tea.Cmd
Start kicks off a streaming chat completion. The returned tea.Cmd performs the request (synchronously in the returned closure), starts the chat session and reads the first event off the stream (the agent's own ChatStartEvent), or emits a ChatErrorEvent on failure. That first read is the only place a chat listener is armed; ChatHandler.Handle re-arms it after every event read off the channel. The holder is attached to the request context so the agent core can find the BashDetachChannelHolder when launching tools that may need backgrounding.