fix: improvements

This commit is contained in:
Carlos Alexandro Becker
2025-07-22 12:15:04 -03:00
parent 380d524ec1
commit 4399c9ab30
2 changed files with 17 additions and 18 deletions

View File

@@ -6,7 +6,6 @@ import (
"io"
"log/slog"
"os"
"time"
tea "github.com/charmbracelet/bubbletea/v2"
"github.com/charmbracelet/crush/internal/app"
@@ -84,15 +83,12 @@ to assist developers in writing, debugging, and understanding code directly from
return err
}
slog.Info("Initing...")
now := time.Now()
app, err := app.New(ctx, conn, cfg)
if err != nil {
slog.Error(fmt.Sprintf("Failed to create app instance: %v", err))
return err
}
defer app.Shutdown()
slog.Info("Init done", "took", time.Since(now).String())
prompt, err = maybePrependStdin(prompt)
if err != nil {

View File

@@ -187,6 +187,10 @@ func NewAgent(
go func() {
slog.Info("Initializing agent tools", "agent", agentCfg.ID)
defer func() {
slog.Info("Initialized agent tools", "agent", agentCfg.ID)
agent.toolsDone.Store(true)
}()
cwd := cfg.WorkingDir()
allTools := []tools.BaseTool{
@@ -203,29 +207,28 @@ func NewAgent(
}
mcpTools := GetMCPTools(ctx, permissions, cfg)
if len(lspClients) > 0 {
mcpTools = append(mcpTools, tools.NewDiagnosticsTool(lspClients))
}
allTools = append(allTools, mcpTools...)
if len(lspClients) > 0 {
allTools = append(allTools, tools.NewDiagnosticsTool(lspClients))
}
if agentTool != nil {
allTools = append(allTools, agentTool)
}
agentTools := []tools.BaseTool{}
if agentCfg.AllowedTools == nil {
agentTools = allTools
} else {
for _, tool := range allTools {
if slices.Contains(agentCfg.AllowedTools, tool.Name()) {
agentTools = append(agentTools, tool)
}
}
agent.tools = allTools
return
}
slog.Info("Initialized agent tools", "agent", agentCfg.ID)
agent.tools = agentTools
agent.toolsDone.Store(true)
var filteredTools []tools.BaseTool
for _, tool := range allTools {
if slices.Contains(agentCfg.AllowedTools, tool.Name()) {
filteredTools = append(filteredTools, tool)
}
}
agent.tools = filteredTools
}()
return agent, nil