package tools import ( "context" "encoding/json" "fmt" "strings" "ollie/toolsrv" ) // ToolList lists all available tools from the global registry. func ToolList(ctx context.Context, srv *toolsrv.Server, args json.RawMessage) (string, error) { reg := srv.ToolRegistry() if reg == nil { return "", fmt.Errorf("tool_list: no registry available") } summaries := reg.Summaries() if len(summaries) == 0 { return "(no tools found)", nil } var out strings.Builder for _, s := range summaries { out.WriteString(s.Name) if s.Description != "" { out.WriteString(" — ") out.WriteString(s.Description) } out.WriteString("\n") } return strings.TrimRight(out.String(), "\n"), nil }