"""API adapter for agent context routing and visibility.""" from typing import Any try: from fastapi import APIRouter except Exception: APIRouter = None from .agent_context_dashboard import AgentContextDashboard from .agent_context_rbac import AgentContextRBAC from .agent_context_resolver import AgentContextResolver resolver = AgentContextResolver() rbac = AgentContextRBAC() dashboard = AgentContextDashboard() def resolve_agent_context(payload: dict[str, Any]) -> dict[str, Any]: route = rbac.route(payload["user_id"], payload.get("group_id"), payload.get("role", "user")) context = resolver.resolve( user_id=payload["user_id"], group_id=payload.get("group_id", ""), session=payload.get("session"), user_profile=payload.get("user_profile"), group_policy=payload.get("group_policy"), agent_default=payload.get("agent_default"), owner_policy=payload.get("owner_policy"), owner=payload.get("role") == "owner", ) return {"routing": route.to_dict(), "context": context.to_dict()} def get_context_dashboard() -> dict[str, Any]: return dashboard.overview() def build_router(): if APIRouter is None: return None router = APIRouter(prefix="/admin/ai-evolution/context", tags=["context-isolation"]) @router.post("/resolve", operation_id="resolveAgentContext") def resolve(payload: dict[str, Any]): return resolve_agent_context(payload) @router.get("/overview", operation_id="getAgentContextDashboard") def overview(): return get_context_dashboard() return router router = build_router() __all__ = ["router", "resolve_agent_context", "get_context_dashboard"]