'use client';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Binary, Braces, Brain, Eye, Image as ImageIcon, Type, Wrench, Zap, } from 'lucide-react';
// Ordered for stable rendering. Keys match `AIModelCapabilities`.
const CAPABILITY_META = {
    text: { label: 'Text', icon: Type },
    vision: { label: 'Vision', icon: Eye },
    imageGeneration: { label: 'Image gen', icon: ImageIcon },
    embeddings: { label: 'Embeddings', icon: Binary },
    reasoning: { label: 'Reasoning', icon: Brain },
    toolCalling: { label: 'Tools', icon: Wrench },
    structuredOutput: { label: 'Structured', icon: Braces },
    longContext: { label: 'Long context', icon: Zap },
};
export function CapabilityBadges({ capabilities, className, }) {
    const active = Object.keys(CAPABILITY_META).filter((k) => capabilities?.[k]);
    if (active.length === 0) {
        return _jsx("span", { className: "text-muted-foreground text-sm", children: "No capability data" });
    }
    return (_jsx("ul", { className: `flex flex-wrap gap-1.5 ${className ?? ''}`, "aria-label": "Model capabilities", children: active.map((key) => {
            const meta = CAPABILITY_META[key];
            const Icon = meta.icon;
            return (_jsxs("li", { className: "border-border bg-muted text-muted-foreground inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs", children: [_jsx(Icon, { size: 11, "aria-hidden": "true" }), meta.label] }, key));
        }) }));
}
//# sourceMappingURL=CapabilityBadges.js.map