""" FILE: app/main.py DESCRIPTION: Bootstrap der FastAPI Anwendung. Inkludiert Router und Middleware. VERSION: 0.6.0 STATUS: Active DEPENDENCIES: app.config, app.routers.* (embed, qdrant, query, graph, tools, feedback, chat, ingest, admin) LAST_ANALYSIS: 2025-12-15 """ from __future__ import annotations from fastapi import FastAPI from .config import get_settings #from .routers.embed_router import router as embed_router #from .routers.qdrant_router import router as qdrant_router from .routers.query import router as query_router from .routers.graph import router as graph_router from .routers.tools import router as tools_router from .routers.feedback import router as feedback_router # NEU: Chat Router (WP-05) from .routers.chat import router as chat_router # NEU: Ingest Router (WP-11) from .routers.ingest import router as ingest_router try: from .routers.admin import router as admin_router except Exception: admin_router = None def create_app() -> FastAPI: app = FastAPI(title="mindnet API", version="0.6.0") # Version bump WP-11 s = get_settings() @app.get("/healthz") def healthz(): return {"status": "ok", "qdrant": s.QDRANT_URL, "prefix": s.COLLECTION_PREFIX} # app.include_router(embed_router) # app.include_router(qdrant_router) app.include_router(query_router, prefix="/query", tags=["query"]) app.include_router(graph_router, prefix="/graph", tags=["graph"]) app.include_router(tools_router, prefix="/tools", tags=["tools"]) app.include_router(feedback_router, prefix="/feedback", tags=["feedback"]) # NEU: Chat Endpoint app.include_router(chat_router, prefix="/chat", tags=["chat"]) # NEU: Ingest Endpoint app.include_router(ingest_router, prefix="/ingest", tags=["ingest"]) if admin_router: app.include_router(admin_router, prefix="/admin", tags=["admin"]) return app app = create_app()