Coverage for src/lilbee/server/routes/memory.py: 100%
17 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-14 11:46 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-08-14 11:46 +0000
1"""Memory routes: list, remember, update, forget.
3Every route requires the token: memories are the human's notes about themselves.
4"""
6from __future__ import annotations
8from litestar import delete, get, patch, post
9from litestar.params import FromPath
11from lilbee.server.handlers.memory import (
12 list_local_memories,
13 remember_memory,
14 remove_memory,
15 update_memory_shared,
16)
17from lilbee.server.models import (
18 MemoryFlagsResponse,
19 MemoryListResponse,
20 MemoryRemoveResponse,
21 MemorySharedRequest,
22 RememberRequest,
23 RememberResponse,
24)
27@get("/api/memories")
28async def memories_list_route() -> MemoryListResponse:
29 """List the human's stored memories."""
30 return await list_local_memories()
33@post("/api/memories")
34async def memories_remember_route(data: RememberRequest) -> RememberResponse:
35 """Store a fact or preference in the human's memory."""
36 return await remember_memory(data.text, data.kind, data.shared)
39@patch("/api/memories/{memory_id:str}")
40async def memories_update_route(
41 memory_id: FromPath[str], data: MemorySharedRequest
42) -> MemoryFlagsResponse:
43 """Set a memory's shared-with-agents flag."""
44 return await update_memory_shared(memory_id, data.shared)
47@delete("/api/memories/{memory_id:str}", status_code=200)
48async def memories_remove_route(memory_id: FromPath[str]) -> MemoryRemoveResponse:
49 """Delete a memory by id."""
50 return await remove_memory(memory_id)