From a06cfd995f05782854844e51a71a656f70274f64 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Thu, 18 Dec 2025 11:53:07 +0300 Subject: Feat: add agent entity --- tools.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tools.go') diff --git a/tools.go b/tools.go index d603507..e4af7ad 100644 --- a/tools.go +++ b/tools.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "gf-lt/agent" "gf-lt/extra" "gf-lt/models" "io" @@ -848,6 +849,29 @@ var fnMap = map[string]fnSig{ "todo_delete": todoDelete, } +// callToolWithAgent calls the tool and applies any registered agent. +func callToolWithAgent(name string, args map[string]string) []byte { + f, ok := fnMap[name] + if !ok { + return []byte(fmt.Sprintf("tool %s not found", name)) + } + raw := f(args) + if a := agent.Get(name); a != nil { + return a.Process(args, raw) + } + return raw +} + +// registerDefaultAgents registers default agents for formatting. +func registerDefaultAgents() { + agent.Register("websearch", agent.DefaultFormatter("websearch")) + agent.Register("read_url", agent.DefaultFormatter("read_url")) +} + +func init() { + registerDefaultAgents() +} + // openai style def var baseTools = []models.Tool{ // websearch -- cgit v1.2.3