diff --git a/V0/agent_memory_server/long_term_memory.py b/V0/agent_memory_server/long_term_memory.py index 7aa7b259..149c5aab 100644 --- a/V0/agent_memory_server/long_term_memory.py +++ b/V0/agent_memory_server/long_term_memory.py @@ -1434,6 +1434,12 @@ async def search_long_term_memories( # preserve the literal text for lexical matching. search_query = text optimized_applied = False + + if optimize_query and search_mode != SearchModeEnum.SEMANTIC: + # log a message? + logger.warning(f"optimize_query=True is only supported for semantic search, but search_mode='{search_mode.value}'") + + if optimize_query and text and search_mode == SearchModeEnum.SEMANTIC: search_query = await optimize_query_for_vector_search(text) optimized_applied = True diff --git a/V0/agent_memory_server/summary_views.py b/V0/agent_memory_server/summary_views.py index 6adf5f20..6c612934 100644 --- a/V0/agent_memory_server/summary_views.py +++ b/V0/agent_memory_server/summary_views.py @@ -150,11 +150,22 @@ async def delete_summary_view(view_id: str) -> None: Stored partition summaries are left as-is for now; they can be cleaned up in a later pass if needed. """ + cursor = 0 redis = await get_redis_conn() await redis.delete(_config_key(view_id)) await redis.srem(_SUMMARY_VIEW_INDEX_KEY, view_id) + pattern = _summary_key(view_id, "*") + + while True: + cursor, keys = await redis.scan(cursor=cursor, match=pattern, count=100) + + for key in keys: + await redis.delete(key) + + if cursor == 0: + break async def save_partition_result(result: SummaryViewPartitionResult) -> None: """Persist a single partition result for a SummaryView."""