@@ -380,7 +380,7 @@ func (m *UI) setSessionMessages(msgs []message.Message) tea.Cmd {
380 // Add messages to chat with linked tool results
380 // Add messages to chat with linked tool results
381 items := make([]chat.MessageItem, 0, len(msgs)*2)
381 items := make([]chat.MessageItem, 0, len(msgs)*2)
382 for _, msg := range msgPtrs {
382 for _, msg := range msgPtrs {
383− items = append(items, chat.GetMessageItems(m.com.Styles, msg, toolResultMap)...)
383+ items = append(items, chat.ExtractMessageItems(m.com.Styles, msg, toolResultMap)...)
386 // If the user switches between sessions while the agent is working we want
386 // If the user switches between sessions while the agent is working we want
@@ -407,7 +407,7 @@ func (m *UI) appendSessionMessage(msg message.Message) tea.Cmd {
407 var cmds []tea.Cmd
407 var cmds []tea.Cmd
408 switch msg.Role {
408 switch msg.Role {
409 case message.User, message.Assistant:
409 case message.User, message.Assistant:
410− items := chat.GetMessageItems(m.com.Styles, &msg, nil)
410+ items := chat.ExtractMessageItems(m.com.Styles, &msg, nil)
411 for _, item := range items {
411 for _, item := range items {
412 if animatable, ok := item.(chat.Animatable); ok {
412 if animatable, ok := item.(chat.Animatable); ok {
413 if cmd := animatable.StartAnimation(); cmd != nil {
413 if cmd := animatable.StartAnimation(); cmd != nil {
@@ -421,7 +421,7 @@ func (m *UI) appendSessionMessage(msg message.Message) tea.Cmd {
422 case message.Tool:
422 case message.Tool:
423 for _, tr := range msg.ToolResults() {
423 for _, tr := range msg.ToolResults() {
424− toolItem := m.chat.GetMessageItem(tr.ToolCallID)
424+ toolItem := m.chat.MessageItem(tr.ToolCallID)
425 if toolItem == nil {
425 if toolItem == nil {
426 // we should have an item!
426 // we should have an item!
@@ -439,7 +439,7 @@ func (m *UI) appendSessionMessage(msg message.Message) tea.Cmd {
439// that is why we need to handle creating/updating each tool call message too
439// that is why we need to handle creating/updating each tool call message too
440func (m *UI) updateSessionMessage(msg message.Message) tea.Cmd {
440func (m *UI) updateSessionMessage(msg message.Message) tea.Cmd {
441 var cmds []tea.Cmd
441 var cmds []tea.Cmd
442− existingItem := m.chat.GetMessageItem(msg.ID)
442+ existingItem := m.chat.MessageItem(msg.ID)
443 if existingItem == nil || msg.Role != message.Assistant {
443 if existingItem == nil || msg.Role != message.Assistant {
444 return nil
444 return nil
@@ -450,7 +450,7 @@ func (m *UI) updateSessionMessage(msg message.Message) tea.Cmd {
451 var items []chat.MessageItem
451 var items []chat.MessageItem
452 for _, tc := range msg.ToolCalls() {
452 for _, tc := range msg.ToolCalls() {
453− existingToolItem := m.chat.GetMessageItem(tc.ID)
453+ existingToolItem := m.chat.MessageItem(tc.ID)
454 if toolItem, ok := existingToolItem.(*chat.ToolMessageItem); ok {
454 if toolItem, ok := existingToolItem.(*chat.ToolMessageItem); ok {
455 existingToolCall := toolItem.ToolCall()
455 existingToolCall := toolItem.ToolCall()
456 // only update if finished state changed or input changed
456 // only update if finished state changed or input changed
@@ -460,7 +460,7 @@ func (m *UI) updateSessionMessage(msg message.Message) tea.Cmd {
462 if existingToolItem == nil {
462 if existingToolItem == nil {
463− items = append(items, chat.GetToolMessageItem(m.com.Styles, tc, nil, false))
463+ items = append(items, chat.NewToolMessageItem(m.com.Styles, tc, nil, false))