feat: add conversation persistence and context management layer
Build and Push API / release (push) Successful in 3s
Build and Push API / build (push) Failing after 34s

- SQLAlchemy async database layer (SQLite dev, PostgreSQL prod)
- Conversation and Message models with UUID primary keys
- Token counting utilities using litellm
- Context summarization at 80% token threshold
- REST API endpoints for multi-turn conversations
- 19 conversation tests, 6 token tests (176 total passing)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-11 22:42:38 +01:00
co-authored by Claude Opus 4.5
parent 470b7448ac
commit 2523db4da7
19 changed files with 1506 additions and 15 deletions
+4
View File
@@ -8,6 +8,7 @@ from fastapi import APIRouter
from src.domains.health.router import router as health_router
from src.domains.agents.router import router as agents_router
from src.domains.conversations.router import router as conversations_router
# from src.domains.auth.router import router as auth_router
# from src.domains.tools.router import router as tools_router
@@ -20,6 +21,9 @@ root_router.include_router(health_router)
# Agents domain (prefix defined in router)
root_router.include_router(agents_router)
# Conversations domain (prefix defined in router)
root_router.include_router(conversations_router)
# Auth domain
# root_router.include_router(auth_router, prefix="/auth", tags=["Auth"])