Source code for mud_server.api.routes.register

"""
Route registration entry point for the FastAPI application.

Keeps the public `register_routes(app, engine)` API unchanged while
splitting implementation into focused router modules.
"""

from fastapi import FastAPI

from mud_server.api.routes import admin, auth, game, health, lab, ollama, pipeline, policies, policy
from mud_server.core.engine import GameEngine


[docs] def register_routes(app: FastAPI, engine: GameEngine) -> None: """Register all API routes with the FastAPI app. Registration order is intentional: - baseline auth/game/admin/lab routes first for existing clients - pipeline routes after base modules to keep new primitives additive Args: app: FastAPI application instance to attach routers to. engine: Shared game engine dependency passed to route factories. """ app.include_router(health.router) app.include_router(auth.router(engine)) app.include_router(game.router(engine)) app.include_router(admin.router(engine)) app.include_router(ollama.router(engine)) app.include_router(lab.router(engine)) app.include_router(policy.router(engine)) app.include_router(policies.router(engine)) # Pipeline routes expose stateless generation primitives under /api/pipeline/*. app.include_router(pipeline.router(engine))