Self-hosted knowledge management for SMEs: a split-screen Markdown editor whose sections an LLM refines while you write, and RAG question answering over the documents that result. FastAPI + Postgres/pgvector on the back, SvelteKit on the front, everything OpenAI-compatible and self-hostable. Squashed into a single commit; the development history stays local. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA43ZJda8Rbp2hKXNy8f6b
20 lines
663 B
Python
20 lines
663 B
Python
"""The conversations API: the chat itself.
|
|
|
|
Two halves. `crud` manages conversations as objects a user owns; `turns` is the
|
|
one place that speaks SSE, turning a mode's events into frames and persisting
|
|
what was streamed. The ownership gate sits in `access`, the wire shapes in
|
|
`schemas`, and the row-to-shape mapping in `view`.
|
|
"""
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from app.api.conversations import crud, turns
|
|
from app.api.conversations.turns import stream_turn
|
|
|
|
router = APIRouter()
|
|
router.include_router(crud.router)
|
|
router.include_router(turns.router)
|
|
|
|
# Exported for the tests that drive a turn without going through HTTP.
|
|
__all__ = ["router", "stream_turn"]
|