2025-09-02 10:33:22 +02:00
|
|
|
"""
|
2025-12-07 19:29:48 +01:00
|
|
|
app/main.py — mindnet API bootstrap
|
2025-09-02 10:33:22 +02:00
|
|
|
"""
|
2025-09-02 10:19:42 +02:00
|
|
|
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
|
|
|
|
|
|
2025-10-07 13:20:30 +02:00
|
|
|
from .routers.query import router as query_router
|
|
|
|
|
from .routers.graph import router as graph_router
|
|
|
|
|
from .routers.tools import router as tools_router
|
2025-12-07 19:29:48 +01:00
|
|
|
from .routers.feedback import router as feedback_router
|
2025-12-10 22:17:40 +01:00
|
|
|
# NEU: Chat Router (WP-05)
|
2025-12-08 10:32:57 +01:00
|
|
|
from .routers.chat import router as chat_router
|
2025-12-10 22:05:35 +01:00
|
|
|
# NEU: Ingest Router (WP-11)
|
|
|
|
|
from .routers.ingest import router as ingest_router
|
|
|
|
|
|
2025-10-07 13:20:30 +02:00
|
|
|
try:
|
|
|
|
|
from .routers.admin import router as admin_router
|
|
|
|
|
except Exception:
|
|
|
|
|
admin_router = None
|
2025-09-02 11:19:25 +02:00
|
|
|
|
2025-09-02 10:19:42 +02:00
|
|
|
def create_app() -> FastAPI:
|
2025-12-10 22:05:35 +01:00
|
|
|
app = FastAPI(title="mindnet API", version="0.6.0") # Version bump WP-11
|
2025-09-02 10:19:42 +02:00
|
|
|
s = get_settings()
|
2025-09-02 10:30:22 +02:00
|
|
|
|
2025-09-02 10:19:42 +02:00
|
|
|
@app.get("/healthz")
|
|
|
|
|
def healthz():
|
|
|
|
|
return {"status": "ok", "qdrant": s.QDRANT_URL, "prefix": s.COLLECTION_PREFIX}
|
2025-09-02 10:30:22 +02:00
|
|
|
|
2025-09-02 10:19:42 +02:00
|
|
|
app.include_router(embed_router)
|
|
|
|
|
app.include_router(qdrant_router)
|
2025-10-07 11:36:52 +02:00
|
|
|
|
2025-10-07 13:20:30 +02:00
|
|
|
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"])
|
2025-12-07 19:29:48 +01:00
|
|
|
app.include_router(feedback_router, prefix="/feedback", tags=["feedback"])
|
2025-12-10 22:05:35 +01:00
|
|
|
|
2025-12-10 22:17:40 +01:00
|
|
|
# NEU: Chat Endpoint
|
|
|
|
|
app.include_router(chat_router, prefix="/chat", tags=["chat"])
|
|
|
|
|
|
|
|
|
|
# NEU: Ingest Endpoint
|
2025-12-10 22:05:35 +01:00
|
|
|
app.include_router(ingest_router, prefix="/ingest", tags=["ingest"])
|
2025-12-07 19:29:48 +01:00
|
|
|
|
2025-10-07 13:20:30 +02:00
|
|
|
if admin_router:
|
|
|
|
|
app.include_router(admin_router, prefix="/admin", tags=["admin"])
|
2025-09-02 10:19:42 +02:00
|
|
|
|
2025-10-07 13:20:30 +02:00
|
|
|
return app
|
2025-09-02 11:19:25 +02:00
|
|
|
|
2025-12-07 19:29:48 +01:00
|
|
|
app = create_app()
|