on main help sign in
fix: improv diff
05c73bbCarlos Alexandro Becker
internal/llm/agent/agent.go+18−18
@@ -98,6 +98,24 @@ func NewAgent(
98 ctx := context.Background()
98 ctx := context.Background()
99 cfg := config.Get()
99 cfg := config.Get()
100
100
101+ var agentTool tools.BaseTool
102+ if agentCfg.ID == "coder" {
103+ taskAgentCfg := config.Get().Agents["task"]
104+ if taskAgentCfg.ID == "" {
105+ return nil, fmt.Errorf("task agent not found in config")
106+ }
107+ taskAgent, err := NewAgent(taskAgentCfg, permissions, sessions, messages, history, lspClients)
108+ if err != nil {
109+ return nil, fmt.Errorf("failed to create task agent: %w", err)
110+ }
111+
112+ agentTool = NewAgentTool(
113+ taskAgent,
114+ sessions,
115+ messages,
116+ )
117+ }
118+
101 providerCfg := config.Get().GetProviderForModel(agentCfg.Model)
119 providerCfg := config.Get().GetProviderForModel(agentCfg.Model)
102 if providerCfg == nil {
120 if providerCfg == nil {
103 return nil, fmt.Errorf("provider for agent %s not found in config", agentCfg.Name)
121 return nil, fmt.Errorf("provider for agent %s not found in config", agentCfg.Name)
@@ -154,24 +172,6 @@ func NewAgent(
154 return nil, err
172 return nil, err
155 }
173 }
156
174
157− var agentTool tools.BaseTool
158− if agentCfg.ID == "coder" {
159− taskAgentCfg := config.Get().Agents["task"]
160− if taskAgentCfg.ID == "" {
161− return nil, fmt.Errorf("task agent not found in config")
162− }
163− taskAgent, err := NewAgent(taskAgentCfg, permissions, sessions, messages, history, lspClients)
164− if err != nil {
165− return nil, fmt.Errorf("failed to create task agent: %w", err)
166− }
167−
168− agentTool = NewAgentTool(
169− taskAgent,
170− sessions,
171− messages,
172− )
173− }
174−
175 agent := &agent{
175 agent := &agent{
176 Broker: pubsub.NewBroker[AgentEvent](),
176 Broker: pubsub.NewBroker[AgentEvent](),
177 agentCfg: agentCfg,
177 agentCfg: agentCfg,