Versions in this module Expand all Collapse all v1 v1.5.0 Oct 27, 2026 Changes in this version + type Block struct + Events []*Part + Text *Part + func Blocks(parts []*Part) []Block + type Category int + const CatCommands + const CatEdited + const CatFetched + const CatRead + const CatSearched + const CatThought + const CatTools + type Chat struct + func New(a *app.Context) *Chat + func NewSimple(a *app.Context) *Chat + func (ch *Chat) Build(c *ui.Context, r *ui.Route) + func (ch *Chat) Close() + func (ch *Chat) HeaderActions(c *ui.Context) + func (ch *Chat) Open(id string) + func (ch *Chat) Send(prompt string) + func (ch *Chat) Stop() + func (ch *Chat) Title() string + type Class int + const ClassEdit + const ClassExec + const ClassFetch + const ClassJSON + const ClassRead + const ClassSearch + const ClassWrite + type Conversation struct + AutoApprove bool + BusyElsewhere bool + ContextWindow int64 + Files map[string]*FileChange + Goal *client.GoalStatus + ID string + Items []*Item + List ui.ListState + LoadErr string + Loaded bool + Loading bool + Permissions []client.PermissionRequest + Plan []client.PlanEntry + Questions []client.QuestionRequest + Queued []string + RunSeq int64 + Running bool + Streaming bool + Usage *client.TokenUsage + func SpikeConversation(n int) *Conversation + func (cv *Conversation) AddPermission(p client.PermissionRequest) + func (cv *Conversation) AddQuestion(q client.QuestionRequest) + func (cv *Conversation) Apply(ev client.StreamEvent) (reload bool) + func (cv *Conversation) BeginAttach() + func (cv *Conversation) BeginRun(prompt string) + func (cv *Conversation) FileList() []*FileChange + func (cv *Conversation) Finish() (reload bool) + func (cv *Conversation) MergePending(p client.Pending) + func (cv *Conversation) MergeVCS(entries []client.VCSDiffEntry) + func (cv *Conversation) Resolve(id string) + func (cv *Conversation) SetHistory(msgs []client.Message) + func (cv *Conversation) TrimToLastPrompt() + type Edit struct + New string + Old string + type FileChange struct + Additions int + Edits []Edit + FromVCS bool + Name string + Path string + Removals int + Updated int + type Item struct + ContextFilter *client.ContextFilterInfo + Done bool + GroupOpen map[int]bool + Images []string + Key int + Kind ItemKind + Model string + Open bool + Parts []*Part + Routing *client.RoutingInfo + Text string + Time time.Time + func FoldHistory(msgs []client.Message) []*Item + func (it *Item) PlainText() string + func (it *Item) Tools() []*Tool + type ItemKind int + const ItemAssistant + const ItemContextFilter + const ItemError + const ItemNotice + const ItemPersona + const ItemRouting + const ItemUser + type Part struct + Key int + Kind PartKind + Open bool + Text string + Tool *Tool + type PartKind int + const PText + const PThinking + const PTool + type Tool struct + Diff *client.ToolDiff + ID string + Images []string + Input string + IsError bool + Kind string + Locations []client.Location + Name string + Open bool + Output string + Status string + Terminal *client.ToolTerminal + Title string + func GroupSummary(events []*Part, T func(string, ...any) string) (summary string, failures int, live *Tool) + func (t *Tool) Failed() bool + func (t *Tool) InputMap() map[string]any + func (t *Tool) Label() string + func (t *Tool) Live() bool + type ToolMeta struct + Category Category + Class Class + Icon string + Label string + Summary string + func MetaOf(t *Tool) ToolMeta + func (m ToolMeta) ProgressLabel() string