feat(ai): add rolling conversation summary memory

This commit is contained in:
Yera All
2026-04-13 11:59:43 +05:00
parent 989bf9a0c1
commit 6b8f5d069b
14 changed files with 900 additions and 26 deletions
+9
View File
@@ -375,11 +375,20 @@ def _apply_runtime_schema_compatibility() -> None:
if "ai_sessions" in table_names:
columns = _table_columns(inspector, "ai_sessions")
_add_column_if_missing(conn, columns, "ai_sessions", "call_id", "VARCHAR(128)")
_add_column_if_missing(conn, columns, "ai_sessions", "context_summary_json", "TEXT DEFAULT '{}'")
_add_column_if_missing(conn, columns, "ai_sessions", "context_summary_updated_at", "VARCHAR(64)")
indexes = _table_indexes(inspector, "ai_sessions")
if "idx_ai_sessions_call_id" not in indexes:
conn.execute(
text("CREATE INDEX IF NOT EXISTS idx_ai_sessions_call_id ON ai_sessions(call_id)")
)
if "idx_ai_sessions_context_summary_updated_at" not in indexes:
conn.execute(
text(
"CREATE INDEX IF NOT EXISTS idx_ai_sessions_context_summary_updated_at "
"ON ai_sessions(context_summary_updated_at)"
)
)
if "voice_events" in table_names:
columns = _table_columns(inspector, "voice_events")