from fastapi import APIRouter, Depends, Path from app.api.dependencies.auth import build_request_context from app.api.dependencies.rate_limit import enforce_rate_limit from app.core.contracts import RequestContext from app.service.knowledge_service import KnowledgeReferenceService router = APIRouter(prefix="/api/v1/knowledge-references", tags=["knowledge"], dependencies=[Depends(enforce_rate_limit)]) @router.get("/{reference_token}") async def resolve_reference( reference_token: str = Path(min_length=20, max_length=300), context: RequestContext = Depends(build_request_context), # noqa: B008 ) -> dict[str, object]: return await KnowledgeReferenceService().resolve(context, reference_token)