1- from fastapi import APIRouter , BackgroundTasks , Depends , HTTPException , Request
2- from redis .asyncio import Redis
3- from typing import List , Optional
41import json
52import logging
63import time
7- import asyncio
84
5+ from fastapi import APIRouter , BackgroundTasks , Depends , HTTPException
6+
7+ from config import settings
8+ from long_term_memory import index_messages
99from models import (
10+ AckResponse ,
11+ GetSessionsQuery ,
1012 MemoryMessage ,
1113 MemoryMessagesAndContext ,
1214 MemoryResponse ,
13- AckResponse ,
14- GetSessionsQuery ,
1515)
1616from reducers import handle_compaction
17- from long_term_memory import index_messages
18- from utils import Keys , get_model_client , get_redis_conn , get_openai_client
19- from config import settings
17+ from utils import Keys , get_model_client , get_openai_client , get_redis_conn
18+
2019
2120logger = logging .getLogger (__name__ )
2221
2322router = APIRouter ()
2423
2524
26- @router .get ("/sessions/" , response_model = List [str ])
25+ @router .get ("/sessions/" , response_model = list [str ])
2726async def get_sessions (
2827 pagination : GetSessionsQuery = Depends (GetSessionsQuery ),
2928):
@@ -39,7 +38,7 @@ async def get_sessions(
3938 # Check page limit
4039 if pagination .page > 100 :
4140 raise HTTPException (status_code = 400 , detail = "Page must not exceed 100" )
42-
41+
4342 redis = get_redis_conn ()
4443
4544 # Calculate start and end indices (0-indexed start, inclusive end)
@@ -67,9 +66,7 @@ async def get_sessions(
6766
6867
6968@router .get ("/sessions/{session_id}/memory" , response_model = MemoryResponse )
70- async def get_memory (
71- session_id : str
72- ):
69+ async def get_memory (session_id : str ):
7370 """
7471 Get memory for a session
7572
@@ -146,7 +143,7 @@ async def post_memory(
146143 session_id : str ,
147144 memory_messages : MemoryMessagesAndContext ,
148145 background_tasks : BackgroundTasks ,
149- namespace : Optional [ str ] = None ,
146+ namespace : str | None = None ,
150147):
151148 """
152149 Add messages to a session's memory
@@ -202,7 +199,7 @@ async def post_memory(
202199 )
203200
204201 # If long-term memory is enabled, index messages.
205- #
202+ #
206203 # TODO: Add support for custom policies around when to index and/or
207204 # avoid re-indexing duplicate content.
208205 if settings .long_term_memory :
@@ -226,7 +223,7 @@ async def post_memory(
226223@router .delete ("/sessions/{session_id}/memory" , response_model = AckResponse )
227224async def delete_memory (
228225 session_id : str ,
229- namespace : Optional [ str ] = None ,
226+ namespace : str | None = None ,
230227):
231228 """
232229 Delete a session's memory
0 commit comments