feat: send conversation history to agent
This commit is contained in:
@@ -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}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user