1package agent
2
3import (
4 "context"
5
6 "github.com/charmbracelet/crush/internal/config"
7 "github.com/charmbracelet/crush/internal/message"
8 "github.com/charmbracelet/fantasy/ai"
9)
10
11type Coordinator interface {
12 // INFO: (kujtim) this is not used yet we will use this when we have multiple agents
13 SetMainAgent(string)
14 Run(ctx context.Context, sessionID, prompt string, attachments ...message.Attachment) (*ai.AgentResult, error)
15}
16
17type coordinator struct {
18 cfg *config.Config
19 currentAgent SessionAgent
20}