package tools import ( "context" "encoding/json" "strings" "ollie/toolsrv" ) // ToolActive lists tools currently loaded (promoted) in this session. func ToolActive(ctx context.Context, srv *toolsrv.Server, args json.RawMessage) (string, error) { reg := srv.ToolRegistry() sid := srv.SessionID() if reg == nil || sid == "" { return "(no tools loaded)", nil } loaded := reg.Loaded(sid) if len(loaded) == 0 { return "(no tools loaded)", nil } var out strings.Builder for _, t := range loaded { out.WriteString(t.Name) if t.Description != "" { out.WriteString(" — ") out.WriteString(t.Description) } out.WriteString("\n") } return strings.TrimRight(out.String(), "\n"), nil }