Feat: add agent entity

This commit is contained in:
Grail Finder
2025-12-18 11:53:07 +03:00
parent d73c3abd6b
commit a06cfd995f
4 changed files with 206 additions and 2 deletions

View File

@@ -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