on main help sign in
fix: improvements
commit4399c9ab30335e52cd09ad45c6424c33b5a51771 authorCarlos Alexandro Becker <caarlos0@users.noreply.github.com> dateTue 22 Jul 2025, 12:15 (1 year ago) parent380d524
2 files changed+16−17
internal/cmd/root.go−4 internal/llm/agent/agent.go+16−13
internal/cmd/root.go−4
@@ -6,7 +6,6 @@ import (
66 "io"
77 "log/slog"
88 "os"
9− "time"
109
1110 tea "github.com/charmbracelet/bubbletea/v2"
1211 "github.com/charmbracelet/crush/internal/app"
@@ -84,15 +83,12 @@ to assist developers in writing, debugging, and understanding code directly from
8483 return err
8584 }
8685
87− slog.Info("Initing...")
88− now := time.Now()
8986 app, err := app.New(ctx, conn, cfg)
9087 if err != nil {
9188 slog.Error(fmt.Sprintf("Failed to create app instance: %v", err))
9289 return err
9390 }
9491 defer app.Shutdown()
95− slog.Info("Init done", "took", time.Since(now).String())
9692
9793 prompt, err = maybePrependStdin(prompt)
9894 if err != nil {
internal/llm/agent/agent.go+16−13
@@ -187,6 +187,10 @@ func NewAgent(
187187
188188 go func() {
189189 slog.Info("Initializing agent tools", "agent", agentCfg.ID)
190+ defer func() {
191+ slog.Info("Initialized agent tools", "agent", agentCfg.ID)
192+ agent.toolsDone.Store(true)
193+ }()
190194
191195 cwd := cfg.WorkingDir()
192196 allTools := []tools.BaseTool{
@@ -203,29 +207,28 @@ func NewAgent(
203207 }
204208
205209 mcpTools := GetMCPTools(ctx, permissions, cfg)
210+ allTools = append(allTools, mcpTools...)
211+
206212 if len(lspClients) > 0 {
207− mcpTools = append(mcpTools, tools.NewDiagnosticsTool(lspClients))
213+ allTools = append(allTools, tools.NewDiagnosticsTool(lspClients))
208214 }
209− allTools = append(allTools, mcpTools...)
210215
211216 if agentTool != nil {
212217 allTools = append(allTools, agentTool)
213218 }
214219
215− agentTools := []tools.BaseTool{}
216220 if agentCfg.AllowedTools == nil {
217− agentTools = allTools
218− } else {
219− for _, tool := range allTools {
220− if slices.Contains(agentCfg.AllowedTools, tool.Name()) {
221− agentTools = append(agentTools, tool)
222− }
223− }
221+ agent.tools = allTools
222+ return
224223 }
225224
226− slog.Info("Initialized agent tools", "agent", agentCfg.ID)
227− agent.tools = agentTools
228− agent.toolsDone.Store(true)
225+ var filteredTools []tools.BaseTool
226+ for _, tool := range allTools {
227+ if slices.Contains(agentCfg.AllowedTools, tool.Name()) {
228+ filteredTools = append(filteredTools, tool)
229+ }
230+ }
231+ agent.tools = filteredTools
229232 }()
230233
231234 return agent, nil