diff --git a/toolsrv/registry.go b/toolsrv/registry.go index a6d4565..3409ef9 100644 --- a/toolsrv/registry.go +++ b/toolsrv/registry.go @@ -3,9 +3,7 @@ package toolsrv import ( "fmt" "os" - "path/filepath" "sort" - "strings" "sync" ) @@ -30,25 +28,10 @@ func NewRegistry() (*Registry, error) { // discover scans the tools directory and returns all valid tool infos. func (r *Registry) discover() map[string]ToolInfo { - dir := ToolsPath() - entries, err := os.ReadDir(dir) - if err != nil { - return nil - } - tools := make(map[string]ToolInfo) - for _, e := range entries { - if e.IsDir() || e.Name() == "idx" || e.Name()[0] == '.' { - continue - } - data, err := os.ReadFile(filepath.Join(dir, e.Name())) - if err != nil { - continue - } - script := string(data) - if !strings.Contains(script, "ollie:prompt") { - continue - } - tools[e.Name()] = ParseToolInfo(e.Name(), script) + infos := DiscoverTools() + tools := make(map[string]ToolInfo, len(infos)) + for _, info := range infos { + tools[info.Name] = info } return tools }