X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/5a93b6124068c2a8748fc0bfbb2a2d151815bcf0..195c3fbb075383ac47bba310eb701b02774e8d10:/turn.go diff --git a/turn.go b/turn.go index e0bd489..9e6a1a7 100644 --- a/turn.go +++ b/turn.go @@ -60,6 +60,11 @@ func newTurnLoop(agent *Agent, memory *Memory, subagents *Subagents, whatsapp *W schedules: schedules, workdir: agent.config.Workdir, agentName: agent.config.Name, + images: agent.Images(), + } + + if agent.config.Parent == "" { + l.tools.imageShow = &ImageShow{store: agent.Images()} } return l, nil @@ -423,10 +428,19 @@ func (l *TurnLoop) chain(ctx context.Context) (string, error) { Instructions: instructions, Tools: l.agent.Tools(), }, - take: l.take, + take: l.take, + images: l.agent.Images(), + } + + input := turnInput(view, l.state(), messages) + for n, message := range messages { + input[len(input)-len(messages)+n], err = imageUserMessage(l.agent.Images(), message.Text) + if err != nil { + return "", fmt.Errorf("read turn images: %w", err) + } } - reply, err := chain.Run(ctx, turnInput(view, l.state(), messages)) + reply, err := chain.Run(ctx, input) if err != nil { return "", fmt.Errorf("run turn chain: %w", err) }