diff options
| author | Grail Finder <wohilas@gmail.com> | 2025-12-18 11:53:07 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2025-12-18 11:53:07 +0300 |
| commit | a06cfd995f05782854844e51a71a656f70274f64 (patch) | |
| tree | 8550a63a928771c758ac051f23ac12613d053f27 /tools.go | |
| parent | d73c3abd6bda8690e8b5e57342221c8cb2cc88b3 (diff) | |
Feat: add agent entity
Diffstat (limited to 'tools.go')
| -rw-r--r-- | tools.go | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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 |
