openrag 0.3.2.dev41__tar.gz → 0.3.2.dev51__tar.gz

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.
Files changed (164) hide show
  1. {openrag-0.3.2.dev41/src/openrag.egg-info → openrag-0.3.2.dev51}/PKG-INFO +1 -1
  2. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/pyproject.toml +1 -1
  3. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/agent.py +29 -24
  4. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/chat.py +2 -0
  5. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51/src/openrag.egg-info}/PKG-INFO +1 -1
  6. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/chat_service.py +10 -9
  7. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/openrag_agent.json +2 -2
  8. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/LICENSE +0 -0
  9. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/MANIFEST.in +0 -0
  10. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/README.md +0 -0
  11. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/setup.cfg +0 -0
  12. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/__init__.py +0 -0
  13. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/auth.py +0 -0
  14. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/chat.py +0 -0
  15. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/connector_router.py +0 -0
  16. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/connectors.py +0 -0
  17. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/docling.py +0 -0
  18. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/documents.py +0 -0
  19. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/flows.py +0 -0
  20. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/keys.py +0 -0
  21. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/knowledge_filter.py +0 -0
  22. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/langflow_files.py +0 -0
  23. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/models.py +0 -0
  24. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/nudges.py +0 -0
  25. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/oidc.py +0 -0
  26. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/provider_health.py +0 -0
  27. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/provider_validation.py +0 -0
  28. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/router.py +0 -0
  29. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/search.py +0 -0
  30. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/settings.py +0 -0
  31. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/tasks.py +0 -0
  32. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/upload.py +0 -0
  33. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/__init__.py +0 -0
  34. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/documents.py +0 -0
  35. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/knowledge_filters.py +0 -0
  36. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/models.py +0 -0
  37. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/search.py +0 -0
  38. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/api/v1/settings.py +0 -0
  39. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/auth_context.py +0 -0
  40. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/config/__init__.py +0 -0
  41. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/config/config_manager.py +0 -0
  42. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/config/model_constants.py +0 -0
  43. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/config/settings.py +0 -0
  44. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/__init__.py +0 -0
  45. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/__init__.py +0 -0
  46. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/api.py +0 -0
  47. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/auth.py +0 -0
  48. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/connector.py +0 -0
  49. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/models.py +0 -0
  50. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/aws_s3/support.py +0 -0
  51. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/base.py +0 -0
  52. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/connection_manager.py +0 -0
  53. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/google_drive/__init__.py +0 -0
  54. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/google_drive/connector.py +0 -0
  55. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/google_drive/oauth.py +0 -0
  56. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/__init__.py +0 -0
  57. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/api.py +0 -0
  58. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/auth.py +0 -0
  59. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/connector.py +0 -0
  60. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/models.py +0 -0
  61. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/ibm_cos/support.py +0 -0
  62. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/langflow_connector_service.py +0 -0
  63. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/onedrive/__init__.py +0 -0
  64. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/onedrive/connector.py +0 -0
  65. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/onedrive/oauth.py +0 -0
  66. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/service.py +0 -0
  67. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/sharepoint/__init__.py +0 -0
  68. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/sharepoint/connector.py +0 -0
  69. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/sharepoint/oauth.py +0 -0
  70. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/connectors/sharepoint/utils.py +0 -0
  71. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/dependencies.py +0 -0
  72. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/main.py +0 -0
  73. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/models/__init__.py +0 -0
  74. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/models/processors.py +0 -0
  75. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/models/tasks.py +0 -0
  76. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/models/url.py +0 -0
  77. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/openrag.egg-info/SOURCES.txt +0 -0
  78. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/openrag.egg-info/dependency_links.txt +0 -0
  79. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/openrag.egg-info/entry_points.txt +0 -0
  80. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/openrag.egg-info/requires.txt +0 -0
  81. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/openrag.egg-info/top_level.txt +0 -0
  82. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/__init__.py +0 -0
  83. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/api_key_service.py +0 -0
  84. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/auth_service.py +0 -0
  85. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/conversation_persistence_service.py +0 -0
  86. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/document_service.py +0 -0
  87. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/flows_service.py +0 -0
  88. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/knowledge_filter_service.py +0 -0
  89. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/langflow_file_service.py +0 -0
  90. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/langflow_history_service.py +0 -0
  91. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/langflow_mcp_service.py +0 -0
  92. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/models_service.py +0 -0
  93. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/monitor_service.py +0 -0
  94. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/search_service.py +0 -0
  95. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/session_ownership_service.py +0 -0
  96. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/services/task_service.py +0 -0
  97. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/session_manager.py +0 -0
  98. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/__init__.py +0 -0
  99. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/docker-compose.gpu.yml +0 -0
  100. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/docker-compose.yml +0 -0
  101. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
  102. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
  103. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
  104. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
  105. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
  106. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
  107. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/ingestion_flow.json +0 -0
  108. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/openrag_nudges.json +0 -0
  109. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/flows/openrag_url_mcp.json +0 -0
  110. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
  111. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
  112. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/openrag-documents/openrag-documentation.pdf +0 -0
  113. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
  114. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/cli.py +0 -0
  115. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/config_fields.py +0 -0
  116. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/main.py +0 -0
  117. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/managers/__init__.py +0 -0
  118. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/managers/container_manager.py +0 -0
  119. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/managers/docling_manager.py +0 -0
  120. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/managers/env_manager.py +0 -0
  121. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/__init__.py +0 -0
  122. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/config.py +0 -0
  123. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/diagnostics.py +0 -0
  124. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/logs.py +0 -0
  125. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/monitor.py +0 -0
  126. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/screens/welcome.py +0 -0
  127. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/__init__.py +0 -0
  128. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/clipboard.py +0 -0
  129. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/platform.py +0 -0
  130. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/startup_checks.py +0 -0
  131. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/validation.py +0 -0
  132. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/utils/version_check.py +0 -0
  133. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/__init__.py +0 -0
  134. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/command_modal.py +0 -0
  135. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/diagnostics_notification.py +0 -0
  136. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/error_notification.py +0 -0
  137. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
  138. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
  139. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/prune_options_modal.py +0 -0
  140. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
  141. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
  142. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/tui/widgets/waves.py +0 -0
  143. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/__init__.py +0 -0
  144. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/acl_utils.py +0 -0
  145. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/container_utils.py +0 -0
  146. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/docling_client.py +0 -0
  147. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/document_processing.py +0 -0
  148. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/embedding_fields.py +0 -0
  149. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/embeddings.py +0 -0
  150. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/env_utils.py +0 -0
  151. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/file_utils.py +0 -0
  152. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/gpu_detection.py +0 -0
  153. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/hash_utils.py +0 -0
  154. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/langflow_headers.py +0 -0
  155. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/langflow_utils.py +0 -0
  156. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/logging_config.py +0 -0
  157. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/opensearch_queries.py +0 -0
  158. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/opensearch_utils.py +0 -0
  159. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/paths.py +0 -0
  160. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/telemetry/__init__.py +0 -0
  161. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/telemetry/category.py +0 -0
  162. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/telemetry/client.py +0 -0
  163. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/telemetry/message_id.py +0 -0
  164. {openrag-0.3.2.dev41 → openrag-0.3.2.dev51}/src/utils/version_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrag
3
- Version: 0.3.2.dev41
3
+ Version: 0.3.2.dev51
4
4
  Summary: OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Environment :: Console
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "openrag"
7
- version = "0.3.2.dev41"
7
+ version = "0.3.2.dev51"
8
8
  description = "OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -815,31 +815,36 @@ async def async_langflow_chat_stream(
815
815
 
816
816
 
817
817
  async def delete_user_conversation(user_id: str, response_id: str) -> bool:
818
- """Delete a conversation for a user from both memory and persistent storage (async, non-blocking)"""
818
+ """Delete a conversation for a user from both memory and persistent storage.
819
+
820
+ Returns:
821
+ True — conversation was found and deleted from at least one store.
822
+ False — conversation did not exist in any store (confirmed not-found).
823
+
824
+ Raises:
825
+ Exception — on unexpected storage errors so callers can distinguish
826
+ a confirmed "not found" from a backend failure.
827
+ """
819
828
  deleted = False
820
829
 
821
- try:
822
- # Delete from in-memory storage
823
- if user_id in active_conversations and response_id in active_conversations[user_id]:
824
- del active_conversations[user_id][response_id]
825
- logger.debug(f"Deleted conversation {response_id} from memory for user {user_id}")
826
- deleted = True
827
-
828
- # Delete from persistent storage
829
- conversation_deleted = await conversation_persistence.delete_conversation_thread(user_id, response_id)
830
- if conversation_deleted:
831
- logger.debug(f"Deleted conversation {response_id} from persistent storage for user {user_id}")
832
- deleted = True
833
-
834
- # Release session ownership
835
- try:
836
- from services.session_ownership_service import session_ownership_service
837
- session_ownership_service.release_session(user_id, response_id)
838
- logger.debug(f"Released session ownership for {response_id} for user {user_id}")
839
- except Exception as e:
840
- logger.warning(f"Failed to release session ownership: {e}")
830
+ # Delete from in-memory storage (cannot raise)
831
+ if user_id in active_conversations and response_id in active_conversations[user_id]:
832
+ del active_conversations[user_id][response_id]
833
+ logger.debug(f"Deleted conversation {response_id} from memory for user {user_id}")
834
+ deleted = True
835
+
836
+ # Delete from persistent storage — let real errors propagate to the caller
837
+ conversation_deleted = await conversation_persistence.delete_conversation_thread(user_id, response_id)
838
+ if conversation_deleted:
839
+ logger.debug(f"Deleted conversation {response_id} from persistent storage for user {user_id}")
840
+ deleted = True
841
841
 
842
- return deleted
842
+ # Release session ownership (best-effort; never masks storage errors above)
843
+ try:
844
+ from services.session_ownership_service import session_ownership_service
845
+ session_ownership_service.release_session(user_id, response_id)
846
+ logger.debug(f"Released session ownership for {response_id} for user {user_id}")
843
847
  except Exception as e:
844
- logger.error(f"Error deleting conversation {response_id} for user {user_id}: {e}")
845
- return False
848
+ logger.warning(f"Failed to release session ownership: {e}")
849
+
850
+ return deleted
@@ -226,6 +226,8 @@ async def chat_delete_endpoint(
226
226
  """Delete a conversation. DELETE /v1/chat/{chat_id}"""
227
227
  try:
228
228
  result = await chat_service.delete_session(user.user_id, chat_id)
229
+ if result.get("not_found"):
230
+ return JSONResponse({"error": "Conversation not found"}, status_code=404)
229
231
  if result.get("success"):
230
232
  return JSONResponse({"success": True})
231
233
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrag
3
- Version: 0.3.2.dev41
3
+ Version: 0.3.2.dev51
4
4
  Summary: OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations.
5
5
  Classifier: Development Status :: 4 - Beta
6
6
  Classifier: Environment :: Console
@@ -607,20 +607,21 @@ class ChatService:
607
607
  from agent import delete_user_conversation
608
608
  local_deleted = await delete_user_conversation(user_id, session_id)
609
609
 
610
- # Delete from Langflow using the monitor API
611
- langflow_deleted = await self._delete_langflow_session(session_id)
612
-
613
- success = local_deleted or langflow_deleted
614
- error_msg = None
610
+ if not local_deleted:
611
+ return {
612
+ "success": False,
613
+ "not_found": True,
614
+ "error": "Conversation not found",
615
+ }
615
616
 
616
- if not success:
617
- error_msg = "Session not found in local storage or Langflow"
617
+ # Delete from Langflow using the monitor API (best-effort)
618
+ langflow_deleted = await self._delete_langflow_session(session_id)
618
619
 
619
620
  return {
620
- "success": success,
621
+ "success": True,
621
622
  "local_deleted": local_deleted,
622
623
  "langflow_deleted": langflow_deleted,
623
- "error": error_msg
624
+ "error": None,
624
625
  }
625
626
 
626
627
  except Exception as e:
@@ -5152,7 +5152,7 @@
5152
5152
  ],
5153
5153
  "list": false,
5154
5154
  "list_add_label": "Add More",
5155
- "load_from_db": false,
5155
+ "load_from_db": true,
5156
5156
  "multiline": false,
5157
5157
  "name": "input_value",
5158
5158
  "override_skip": false,
@@ -5166,7 +5166,7 @@
5166
5166
  "trace_as_metadata": true,
5167
5167
  "track_in_telemetry": false,
5168
5168
  "type": "str",
5169
- "value": ""
5169
+ "value": "OPENRAG-QUERY-FILTER"
5170
5170
  },
5171
5171
  "is_refresh": false,
5172
5172
  "use_global_variable": {
File without changes
File without changes
File without changes
File without changes
File without changes