from core_shared.observability import add_observability from core_shared.security import add_internal_service_auth from fastapi import FastAPI from app.api.identity_routes import router as identity_router from app.bootstrap.demo_seed import bootstrap_demo_identity from app.bootstrap.settings import AuthServiceSettings from app.db.session import build_session_factory def create_app() -> FastAPI: settings = AuthServiceSettings() app = FastAPI( title="agent-platform auth-service", version="0.1.0") app.state.settings = settings app.state.session_factory = build_session_factory(settings) bootstrap_demo_identity(settings=settings, session_factory=app.state.session_factory) add_observability(app, settings.service_name) add_internal_service_auth(app, settings) app.include_router(identity_router, prefix="/identity", tags=["identity"]) return app