feat: add letta-style memory tools with request/user debug tracing

This commit is contained in:
2026-03-13 09:34:23 +01:00
parent a1e364c9c0
commit 9c97702daa
4 changed files with 422 additions and 13 deletions

View File

@@ -223,10 +223,11 @@ async def _handle_home_request(
# ── Memory: enrich context before LLM call ────────────────────────
async with async_session() as db:
memory = MemoryMiddleware(db)
memory_context = await memory.enrich_context(user_id, message)
memory_context = await memory.enrich_context(user_id, message, trace_id=request_id)
context: dict = {
"conversation_history": frame.get("conversation_history", []),
"_debug": {"request_id": request_id, "session_id": session_id, "user_id": user_id},
**memory_context,
}
@@ -253,7 +254,7 @@ async def _handle_home_request(
async with async_session() as db:
memory = MemoryMiddleware(db)
await memory.store_episode(
user_id, session_id, message, "".join(response_chunks)
user_id, session_id, message, "".join(response_chunks), trace_id=request_id
)
@@ -271,9 +272,13 @@ async def _handle_floating_request(
# ── Memory: enrich context before LLM call ────────────────────────
async with async_session() as db:
memory = MemoryMiddleware(db)
memory_context = await memory.enrich_context(user_id, message)
memory_context = await memory.enrich_context(user_id, message, trace_id=request_id)
context: dict = {"scope": scope, **memory_context}
context: dict = {
"scope": scope,
"_debug": {"request_id": request_id, "session_id": session_id, "user_id": user_id},
**memory_context,
}
executor = await _make_ws_executor(websocket, user_id)
set_client_executor(executor)
@@ -297,7 +302,7 @@ async def _handle_floating_request(
async with async_session() as db:
memory = MemoryMiddleware(db)
await memory.store_episode(
user_id, session_id, message, "".join(response_chunks)
user_id, session_id, message, "".join(response_chunks), trace_id=request_id
)