@@ -98,6 +98,24 @@ func NewAgent(
98 ctx := context.Background()
98 ctx := context.Background()
99 cfg := config.Get()
99 cfg := config.Get()
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")
107+ taskAgent, err := NewAgent(taskAgentCfg, permissions, sessions, messages, history, lspClients)
109+ return nil, fmt.Errorf("failed to create task agent: %w", err)
112+ agentTool = NewAgentTool(
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
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")
163− taskAgent, err := NewAgent(taskAgentCfg, permissions, sessions, messages, history, lspClients)
165− return nil, fmt.Errorf("failed to create task agent: %w", err)
168− agentTool = NewAgentTool(
175 agent := &agent{
175 agent := &agent{
176 Broker: pubsub.NewBroker[AgentEvent](),
176 Broker: pubsub.NewBroker[AgentEvent](),
177 agentCfg: agentCfg,
177 agentCfg: agentCfg,