letta-nightly 0.7.0.dev20250421104249__py3-none-any.whl → 0.7.0.dev20250422104203__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -303,17 +303,24 @@ class MessageManager:
303
303
  if group_id:
304
304
  query = query.filter(MessageModel.group_id == group_id)
305
305
 
306
- # If query_text is provided, filter messages using subquery + json_array_elements.
306
+ # If query_text is provided, filter messages by matching any "text" type content block
307
+ # whose text includes the query string (case-insensitive).
307
308
  if query_text:
308
- content_element = func.json_array_elements(MessageModel.content).alias("content_element")
309
- query = query.filter(
310
- exists(
311
- select(1)
312
- .select_from(content_element)
313
- .where(text("content_element->>'type' = 'text' AND content_element->>'text' ILIKE :query_text"))
314
- .params(query_text=f"%{query_text}%")
309
+ dialect_name = session.bind.dialect.name
310
+
311
+ if dialect_name == "postgresql": # using subquery + json_array_elements.
312
+ content_element = func.json_array_elements(MessageModel.content).alias("content_element")
313
+ subquery_sql = text("content_element->>'type' = 'text' AND content_element->>'text' ILIKE :query_text")
314
+ subquery = select(1).select_from(content_element).where(subquery_sql)
315
+
316
+ elif dialect_name == "sqlite": # using `json_each` and JSON path expressions
317
+ json_item = func.json_each(MessageModel.content).alias("json_item")
318
+ subquery_sql = text(
319
+ "json_extract(value, '$.type') = 'text' AND lower(json_extract(value, '$.text')) LIKE lower(:query_text)"
315
320
  )
316
- )
321
+ subquery = select(1).select_from(json_item).where(subquery_sql)
322
+
323
+ query = query.filter(exists(subquery.params(query_text=f"%{query_text}%")))
317
324
 
318
325
  # If role(s) are provided, filter messages by those roles.
319
326
  if roles:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.7.0.dev20250421104249
3
+ Version: 0.7.0.dev20250422104203
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -298,7 +298,7 @@ letta/services/helpers/tool_execution_helper.py,sha256=lLoebs1kZKjw62y1PxHbIDkHq
298
298
  letta/services/identity_manager.py,sha256=PqnUnM3OGCRnd5NPjGonwYBnYAQK8rpiissdNYUouGU,9389
299
299
  letta/services/job_manager.py,sha256=Z9cSD-IqpiOIWE_UOTBUEIxGITrJ10JT1G3ske-0yIY,17166
300
300
  letta/services/llm_batch_manager.py,sha256=r224Yfi5sy5Xk9ncR5VxFyNWUmeQwT4zyxV-qUdvHMU,16040
301
- letta/services/message_manager.py,sha256=_n7mij6bXyHqn4lppszjiXVQ7gHaiyPKEM_t6k8XP-U,17329
301
+ letta/services/message_manager.py,sha256=iRFFu7WP9GBtGKrQp5Igiqp_wonSfRKZ_Ran5X6SZZA,17946
302
302
  letta/services/organization_manager.py,sha256=Ax0KmPSc_YYsYaxeld9gc7ST-J6DemHQ542DD7l7AWA,3989
303
303
  letta/services/passage_manager.py,sha256=KY18gHTbx8ROBsOeR7ZAefTMGZwzbxYqOjbadqVFiyQ,9121
304
304
  letta/services/per_agent_lock_manager.py,sha256=porM0cKKANQ1FvcGXOO_qM7ARk5Fgi1HVEAhXsAg9-4,546
@@ -325,8 +325,8 @@ letta/streaming_utils.py,sha256=jLqFTVhUL76FeOuYk8TaRQHmPTf3HSRc2EoJwxJNK6U,1194
325
325
  letta/system.py,sha256=dnOrS2FlRMwijQnOvfrky0Lg8wEw-FUq2zzfAJOUSKA,8477
326
326
  letta/tracing.py,sha256=RstWXpfWVF77nmb_ISORVWd9IQw2Ky3de40k_S70yKI,8258
327
327
  letta/utils.py,sha256=IZFvtj9WYcrxUbkoUUYGDxMYQYdn5SgfqsvnARGsAzc,32245
328
- letta_nightly-0.7.0.dev20250421104249.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
329
- letta_nightly-0.7.0.dev20250421104249.dist-info/METADATA,sha256=QWbK2qhFH3whOhriePYciTizbTeu3j8mL8l7xDolra8,22282
330
- letta_nightly-0.7.0.dev20250421104249.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
331
- letta_nightly-0.7.0.dev20250421104249.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
332
- letta_nightly-0.7.0.dev20250421104249.dist-info/RECORD,,
328
+ letta_nightly-0.7.0.dev20250422104203.dist-info/LICENSE,sha256=mExtuZ_GYJgDEI38GWdiEYZizZS4KkVt2SF1g_GPNhI,10759
329
+ letta_nightly-0.7.0.dev20250422104203.dist-info/METADATA,sha256=p1TSg0mpiJQFubZUPa1kxDSah_W9EbLgFrHpEkfQYNg,22282
330
+ letta_nightly-0.7.0.dev20250422104203.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
331
+ letta_nightly-0.7.0.dev20250422104203.dist-info/entry_points.txt,sha256=2zdiyGNEZGV5oYBuS-y2nAAgjDgcC9yM_mHJBFSRt5U,40
332
+ letta_nightly-0.7.0.dev20250422104203.dist-info/RECORD,,