import { type ReactNode } from 'react'; import { Unplug } from 'lucide-react'; import { useNodes } from '@/context/NodeContext'; import type { Capability } from '@/lib/capabilities'; import { isValidVersion } from '@/lib/version'; interface CapabilityGateProps { capability: Capability; featureName?: string; children: ReactNode; } export function CapabilityGate({ capability, featureName = 'This feature', children }: CapabilityGateProps) { const { hasCapability, activeNode, activeNodeMeta } = useNodes(); if (hasCapability(capability)) return <>{children}>; const nodeName = activeNode?.name ?? 'this node'; const versionHint = isValidVersion(activeNodeMeta?.version) ? `${nodeName} is running v${activeNodeMeta.version}` : `${nodeName} does not support this capability`; return (