feat: send conversation history to agent

This commit is contained in:
Luxferre
2026-03-21 18:43:34 +02:00
parent e6feb1b89f
commit 2b8ddade8f
+8 -3
View File
@@ -153,13 +153,18 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return m, nil return m, nil
} }
m.history = append(m.history, sidekick.Message{
Role: sidekick.MessageRoleUser,
Content: v,
})
wrappedUser := lipgloss.NewStyle().Width(m.viewport.Width).Render(userStyle.Render("You") + "\n" + v) wrappedUser := lipgloss.NewStyle().Width(m.viewport.Width).Render(userStyle.Render("You") + "\n" + v)
m.messages = append(m.messages, wrappedUser) m.messages = append(m.messages, wrappedUser)
m.textarea.Reset() m.textarea.Reset()
m.viewport.SetContent(strings.Join(m.messages, "\n\n")) m.viewport.SetContent(strings.Join(m.messages, "\n\n"))
m.viewport.GotoBottom() m.viewport.GotoBottom()
m.isThinking = true m.isThinking = true
return m, m.runAgent(v) return m, m.runAgent()
} }
case agentResponseMsg: case agentResponseMsg:
@@ -182,9 +187,9 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return m, tea.Batch(tiCmd, vpCmd) return m, tea.Batch(tiCmd, vpCmd)
} }
func (m model) runAgent(prompt string) tea.Cmd { func (m model) runAgent() tea.Cmd {
return func() tea.Msg { return func() tea.Msg {
res, err := m.agent.Run(context.Background(), []sidekick.Message{{Role: sidekick.MessageRoleUser, Content: prompt}}, m.pool) res, err := m.agent.Run(context.Background(), m.history, m.pool)
return agentResponseMsg{response: res, err: err} return agentResponseMsg{response: res, err: err}
} }
} }