mirror of
https://github.com/sst/opencode.git
synced 2025-08-12 17:28:04 +00:00
50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package agent
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/kujtimiihoxha/termai/internal/history"
|
|
"github.com/kujtimiihoxha/termai/internal/llm/tools"
|
|
"github.com/kujtimiihoxha/termai/internal/lsp"
|
|
"github.com/kujtimiihoxha/termai/internal/message"
|
|
"github.com/kujtimiihoxha/termai/internal/permission"
|
|
"github.com/kujtimiihoxha/termai/internal/session"
|
|
)
|
|
|
|
func CoderAgentTools(
|
|
permissions permission.Service,
|
|
sessions session.Service,
|
|
messages message.Service,
|
|
history history.Service,
|
|
lspClients map[string]*lsp.Client,
|
|
) []tools.BaseTool {
|
|
ctx := context.Background()
|
|
otherTools := GetMcpTools(ctx, permissions)
|
|
if len(lspClients) > 0 {
|
|
otherTools = append(otherTools, tools.NewDiagnosticsTool(lspClients))
|
|
}
|
|
return append(
|
|
[]tools.BaseTool{
|
|
tools.NewBashTool(permissions),
|
|
tools.NewEditTool(lspClients, permissions, history),
|
|
tools.NewFetchTool(permissions),
|
|
tools.NewGlobTool(),
|
|
tools.NewGrepTool(),
|
|
tools.NewLsTool(),
|
|
tools.NewSourcegraphTool(),
|
|
tools.NewViewTool(lspClients),
|
|
tools.NewWriteTool(lspClients, permissions, history),
|
|
NewAgentTool(sessions, messages, lspClients),
|
|
}, otherTools...,
|
|
)
|
|
}
|
|
|
|
func TaskAgentTools(lspClients map[string]*lsp.Client) []tools.BaseTool {
|
|
return []tools.BaseTool{
|
|
tools.NewGlobTool(),
|
|
tools.NewGrepTool(),
|
|
tools.NewLsTool(),
|
|
tools.NewSourcegraphTool(),
|
|
tools.NewViewTool(lspClients),
|
|
}
|
|
}
|