feat(ai): add rolling conversation summary memory
This commit is contained in:
@@ -64,3 +64,42 @@ def test_init_sql_schema_backfills_whatsapp_message_runtime_columns():
|
||||
assert "author_type" in columns
|
||||
assert "ix_whatsapp_messages_chat_external_unique" in indexes
|
||||
assert "idx_whatsapp_messages_next_delivery_attempt_at" in indexes
|
||||
|
||||
|
||||
def test_init_sql_schema_backfills_ai_session_context_summary_columns():
|
||||
with engine.begin() as conn:
|
||||
conn.execute(text("DROP TABLE IF EXISTS ai_sessions"))
|
||||
conn.execute(
|
||||
text(
|
||||
"""
|
||||
CREATE TABLE ai_sessions (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
session_id VARCHAR(64) NOT NULL UNIQUE,
|
||||
channel VARCHAR(32) NOT NULL,
|
||||
thread_id VARCHAR(64) NULL,
|
||||
interaction_id VARCHAR(64) NULL,
|
||||
customer_id VARCHAR(64) NULL,
|
||||
agent_profile VARCHAR(64) NOT NULL,
|
||||
language VARCHAR(16) NULL,
|
||||
status VARCHAR(32) NOT NULL,
|
||||
summary_text TEXT NOT NULL,
|
||||
last_user_message_id VARCHAR(64) NULL,
|
||||
last_ai_message_id VARCHAR(64) NULL,
|
||||
handoff_reason TEXT NULL,
|
||||
created_at VARCHAR(64) NOT NULL,
|
||||
updated_at VARCHAR(64) NOT NULL,
|
||||
closed_at VARCHAR(64) NULL
|
||||
)
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
init_sql_schema()
|
||||
|
||||
inspector = inspect(engine)
|
||||
columns = {item["name"] for item in inspector.get_columns("ai_sessions")}
|
||||
indexes = {item["name"] for item in inspector.get_indexes("ai_sessions")}
|
||||
|
||||
assert "context_summary_json" in columns
|
||||
assert "context_summary_updated_at" in columns
|
||||
assert "idx_ai_sessions_context_summary_updated_at" in indexes
|
||||
|
||||
Reference in New Issue
Block a user