"""POST /api/chat โ€” placeholder (phase 01). Phase 03 replaces this with the real RAG pipeline and SSE streaming (PLAN ยง4 contract: ``delta`` events + final ``done``). The placeholder keeps the same JSON shape the frontend already consumes, so the UI round-trip is exercised end-to-end from day one. """ from __future__ import annotations from fastapi import APIRouter from app.schemas import ChatRequest router = APIRouter() @router.post("/chat") async def chat(request: ChatRequest) -> dict[str, object]: """Placeholder answer โ€” no LLM, no DB.""" return { "ok": True, "answer": ( "Hey! My neurons are still wiring up โ€” the real Brain " "(RAG over your docs, powered by aipi) lands in the next " "phases. Try me again soon! ๐Ÿง " ), "deflected": False, "sources": [], }