mem_session_summary
Firma
mem.mem_session_summary(user_id: str, summary: str) -> SaveResult
Crea una observación type="summary" linkeada a la sesión activa y la persiste. NO cierra la sesión — la sesión sigue corriendo y last_activity_at se toca.
Es la llamada correcta cuando querés hacer checkpoint del contexto de la conversación (ej. antes de una compaction probable) pero el user no terminó.
nota
type="summary" es reservado — no se puede pasar a mem_save. Este método es el único productor de observaciones de tipo summary.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
user_id | str | sí | Dueño de la sesión activa. |
summary | str | sí | Texto del summary que se persiste como observación type="summary". No puede ser vacío. El title de la observación se deriva: summary[:80] si es corto, sino summary[:77] + "...". |
Returns
SaveResult (modelo Pydantic frozen):
id(int) — id de la observación.outcome(Literal["created", "updated", "deduped"]).session_id(str) — la sesión activa a la que pertenece este summary.topic_key(str | None) — siempreNonepara summaries.
Levanta
ValueError—summaryvacío o whitespace-only.
Ejemplos
- Checkpoint en mitad de sesión
- Checkpoint estructurado antes de compaction
result = mem.mem_session_summary(
user_id="alice",
summary="A mitad del refactor de auth — login funciona, logout pendiente.",
)
print(result.id, result.outcome) # ej. 42, "created"
# la sesión sigue activa — seguí trabajando
checkpoint = """
## Goal
Refactorizar el flow de auth.
## Accomplished
- Endpoint de login migrado a async.
## Next Steps
- Migrar logout + tests de CSRF.
## Relevant Files
- src/auth/routes.py
""".strip()
mem.mem_session_summary(user_id="alice", summary=checkpoint)