Spaces:
Running
Running
Bader Alabddan
Add core implementation: API, registry, audit, Docker config, and quickstart guide
8036886
| """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() | |
| async def list_capabilities(category: Optional[str] = None): | |
| """List all capabilities.""" | |
| capabilities = registry.list_capabilities(category=category) | |
| return { | |
| "count": len(capabilities), | |
| "capabilities": capabilities | |
| } | |
| 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 | |
| async def search_capabilities(query: str): | |
| """Search capabilities.""" | |
| results = registry.search_capabilities(query) | |
| return { | |
| "query": query, | |
| "count": len(results), | |
| "results": results | |
| } | |