"""Capabilities API endpoints.""" from fastapi import APIRouter, HTTPException from typing import Optional, List from ..core.registry import CapabilityRegistry from ..core.audit import AuditLogger router = APIRouter() registry = CapabilityRegistry() audit_logger = AuditLogger() @router.get("/capabilities") async def list_capabilities(category: Optional[str] = None): """List all capabilities.""" capabilities = registry.list_capabilities(category=category) return { "count": len(capabilities), "capabilities": capabilities } @router.get("/capabilities/{capability_id}") async def get_capability(capability_id: str): """Get capability by ID.""" capability = registry.get_capability(capability_id) if not capability: raise HTTPException(status_code=404, detail="Capability not found") return capability @router.get("/capabilities/search/{query}") async def search_capabilities(query: str): """Search capabilities.""" results = registry.search_capabilities(query) return { "query": query, "count": len(results), "results": results }