| from contextlib import asynccontextmanager | |
| from fastapi import FastAPI | |
| from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor | |
| from src.agents.server.error import init_error_handlers | |
| from src.agents.server.middleware import init_middleware | |
| from src.agents.server.router import router | |
| from src.common.config import settings | |
| from src.common.logger import get_logger | |
| logger = get_logger(__name__) | |
| async def lifespan(app: FastAPI): | |
| logger.info(f"Server running on port {settings.BL_SERVER_PORT}") | |
| yield | |
| logger.info("Server shutting down") | |
| app = FastAPI(lifespan=lifespan) | |
| init_error_handlers(app) | |
| init_middleware(app) | |
| app.include_router(router) | |
| FastAPIInstrumentor.instrument_app(app, exclude_spans=["receive", "send"]) | |