| from fastapi import APIRouter | |
| # EXPORTS for testing and facade compatibility (Explicit re-export for Ruff) | |
| from src.server.services.projects.document_service import DocumentService as DocumentService | |
| from src.server.services.projects.project_creation_service import ProjectCreationService as ProjectCreationService | |
| from src.server.services.projects.project_service import ProjectService as ProjectService | |
| from src.server.services.projects.source_linking_service import SourceLinkingService as SourceLinkingService | |
| from src.server.services.projects.task_service import TaskService as TaskService | |
| from src.server.services.projects.versioning_service import VersioningService as VersioningService | |
| from .core import router as core_router | |
| from .ops import router as ops_router | |
| from .versioning import router as versioning_router | |
| router = APIRouter() | |
| # CRITICAL: Include ops_router BEFORE core_router to ensure static routes | |
| # like /projects/task-counts take precedence over dynamic /projects/{project_id} | |
| router.include_router(ops_router) | |
| router.include_router(core_router) | |
| router.include_router(versioning_router) | |