openrag 0.5.1.dev4__tar.gz → 0.5.1.dev6__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 (171) hide show
  1. {openrag-0.5.1.dev4/src/openrag.egg-info → openrag-0.5.1.dev6}/PKG-INFO +1 -1
  2. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/pyproject.toml +1 -1
  3. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/onedrive/connector.py +5 -19
  4. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/models/processors.py +43 -0
  5. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6/src/openrag.egg-info}/PKG-INFO +1 -1
  6. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/LICENSE +0 -0
  7. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/MANIFEST.in +0 -0
  8. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/README.md +0 -0
  9. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/setup.cfg +0 -0
  10. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/agent.py +0 -0
  11. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/__init__.py +0 -0
  12. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/auth.py +0 -0
  13. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/chat.py +0 -0
  14. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/connectors.py +0 -0
  15. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/docling.py +0 -0
  16. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/documents.py +0 -0
  17. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/flows.py +0 -0
  18. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/keys.py +0 -0
  19. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/knowledge_filter.py +0 -0
  20. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/langflow_files.py +0 -0
  21. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/models.py +0 -0
  22. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/nudges.py +0 -0
  23. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/oidc.py +0 -0
  24. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/provider_health.py +0 -0
  25. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/provider_validation.py +0 -0
  26. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/router.py +0 -0
  27. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/search.py +0 -0
  28. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/settings.py +0 -0
  29. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/tasks.py +0 -0
  30. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/upload.py +0 -0
  31. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/__init__.py +0 -0
  32. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/chat.py +0 -0
  33. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/documents.py +0 -0
  34. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/knowledge_filters.py +0 -0
  35. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/models.py +0 -0
  36. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/search.py +0 -0
  37. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/api/v1/settings.py +0 -0
  38. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/auth/__init__.py +0 -0
  39. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/auth/ibm_auth.py +0 -0
  40. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/auth_context.py +0 -0
  41. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/bootstrap.py +0 -0
  42. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/__init__.py +0 -0
  43. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/config_manager.py +0 -0
  44. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/embedding_constants.py +0 -0
  45. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/model_constants.py +0 -0
  46. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/paths.py +0 -0
  47. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/config/settings.py +0 -0
  48. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/__init__.py +0 -0
  49. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/__init__.py +0 -0
  50. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/api.py +0 -0
  51. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/auth.py +0 -0
  52. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/connector.py +0 -0
  53. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/models.py +0 -0
  54. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/aws_s3/support.py +0 -0
  55. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/base.py +0 -0
  56. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/connection_manager.py +0 -0
  57. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/google_drive/__init__.py +0 -0
  58. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/google_drive/connector.py +0 -0
  59. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/google_drive/oauth.py +0 -0
  60. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/__init__.py +0 -0
  61. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/api.py +0 -0
  62. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/auth.py +0 -0
  63. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/connector.py +0 -0
  64. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/models.py +0 -0
  65. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/ibm_cos/support.py +0 -0
  66. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/onedrive/__init__.py +0 -0
  67. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/onedrive/oauth.py +0 -0
  68. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/service.py +0 -0
  69. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/sharepoint/__init__.py +0 -0
  70. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/sharepoint/connector.py +0 -0
  71. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/sharepoint/oauth.py +0 -0
  72. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/connectors/sharepoint/utils.py +0 -0
  73. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/dependencies.py +0 -0
  74. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/main.py +0 -0
  75. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/mcp_http/__init__.py +0 -0
  76. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/mcp_http/server.py +0 -0
  77. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/models/__init__.py +0 -0
  78. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/models/tasks.py +0 -0
  79. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/models/url.py +0 -0
  80. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/openrag.egg-info/SOURCES.txt +0 -0
  81. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/openrag.egg-info/dependency_links.txt +0 -0
  82. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/openrag.egg-info/entry_points.txt +0 -0
  83. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/openrag.egg-info/requires.txt +0 -0
  84. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/openrag.egg-info/top_level.txt +0 -0
  85. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/__init__.py +0 -0
  86. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/api_key_service.py +0 -0
  87. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/auth_service.py +0 -0
  88. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/chat_service.py +0 -0
  89. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/conversation_persistence_service.py +0 -0
  90. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/document_service.py +0 -0
  91. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/flows_service.py +0 -0
  92. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/knowledge_filter_service.py +0 -0
  93. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/langflow_file_service.py +0 -0
  94. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/langflow_history_service.py +0 -0
  95. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/langflow_mcp_service.py +0 -0
  96. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/models_service.py +0 -0
  97. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/monitor_service.py +0 -0
  98. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/search_service.py +0 -0
  99. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/session_ownership_service.py +0 -0
  100. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/services/task_service.py +0 -0
  101. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/session_manager.py +0 -0
  102. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/__init__.py +0 -0
  103. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/docker-compose.gpu.yml +0 -0
  104. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/docker-compose.yml +0 -0
  105. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
  106. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
  107. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
  108. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
  109. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
  110. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
  111. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/ingestion_flow.json +0 -0
  112. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/openrag_agent.json +0 -0
  113. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/openrag_nudges.json +0 -0
  114. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/flows/openrag_url_mcp.json +0 -0
  115. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
  116. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
  117. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
  118. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/cli.py +0 -0
  119. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/config_fields.py +0 -0
  120. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/main.py +0 -0
  121. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/managers/__init__.py +0 -0
  122. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/managers/container_manager.py +0 -0
  123. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/managers/docling_manager.py +0 -0
  124. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/managers/env_manager.py +0 -0
  125. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/__init__.py +0 -0
  126. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/config.py +0 -0
  127. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/diagnostics.py +0 -0
  128. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/logs.py +0 -0
  129. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/monitor.py +0 -0
  130. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/screens/welcome.py +0 -0
  131. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/__init__.py +0 -0
  132. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/clipboard.py +0 -0
  133. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/platform.py +0 -0
  134. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/startup_checks.py +0 -0
  135. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/validation.py +0 -0
  136. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/utils/version_check.py +0 -0
  137. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/__init__.py +0 -0
  138. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/command_modal.py +0 -0
  139. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/diagnostics_notification.py +0 -0
  140. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/error_notification.py +0 -0
  141. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
  142. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
  143. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/prune_options_modal.py +0 -0
  144. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
  145. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
  146. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/tui/widgets/waves.py +0 -0
  147. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/__init__.py +0 -0
  148. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/acl_utils.py +0 -0
  149. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/container_utils.py +0 -0
  150. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/docling_client.py +0 -0
  151. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/document_processing.py +0 -0
  152. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/embedding_fields.py +0 -0
  153. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/embeddings.py +0 -0
  154. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/encryption.py +0 -0
  155. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/env_utils.py +0 -0
  156. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/file_utils.py +0 -0
  157. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/gpu_detection.py +0 -0
  158. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/hash_utils.py +0 -0
  159. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/langflow_headers.py +0 -0
  160. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/langflow_utils.py +0 -0
  161. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/logging_config.py +0 -0
  162. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/opensearch_delete.py +0 -0
  163. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/opensearch_queries.py +0 -0
  164. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/opensearch_utils.py +0 -0
  165. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/paths.py +0 -0
  166. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/run_mode_utils.py +0 -0
  167. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/telemetry/__init__.py +0 -0
  168. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/telemetry/category.py +0 -0
  169. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/telemetry/client.py +0 -0
  170. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/telemetry/message_id.py +0 -0
  171. {openrag-0.5.1.dev4 → openrag-0.5.1.dev6}/src/utils/version_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrag
3
- Version: 0.5.1.dev4
3
+ Version: 0.5.1.dev6
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.5.1.dev4"
7
+ version = "0.5.1.dev6"
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"
@@ -636,7 +636,7 @@ class OneDriveConnector(BaseConnector):
636
636
 
637
637
  # Check if ID contains '!' which indicates driveId!itemId format
638
638
  if "!" in file_id:
639
- parts = file_id.rsplit("!", 1)
639
+ parts = file_id.split("!", 1)
640
640
  if len(parts) == 2:
641
641
  drive_id = parts[0]
642
642
  item_id = parts[1]
@@ -735,7 +735,7 @@ class OneDriveConnector(BaseConnector):
735
735
 
736
736
  # Build URL based on ID format
737
737
  if "!" in file_id:
738
- parts = file_id.rsplit("!", 1)
738
+ parts = file_id.split("!", 1)
739
739
  if len(parts) == 2:
740
740
  drive_id = parts[0]
741
741
  item_id = parts[1]
@@ -747,11 +747,8 @@ class OneDriveConnector(BaseConnector):
747
747
  return content
748
748
 
749
749
  # Try drives endpoint for driveId!itemId format
750
- if not item_id.startswith("s"):
751
- url = f"{self._graph_base_url}/drives/{drive_id}/items/{item_id}/content"
752
- logger.info(f"Downloading via drives endpoint: {url}")
753
- else:
754
- url = f"{self._graph_base_url}/me/drive/items/{file_id}/content"
750
+ url = f"{self._graph_base_url}/drives/{drive_id}/items/{file_id}/content"
751
+ logger.info(f"Downloading via drives endpoint: {url}")
755
752
  else:
756
753
  url = f"{self._graph_base_url}/me/drive/items/{file_id}/content"
757
754
  else:
@@ -886,18 +883,7 @@ class OneDriveConnector(BaseConnector):
886
883
  files: list[dict[str, Any]] = []
887
884
 
888
885
  try:
889
- drive_id = None
890
- if "!" in folder_id:
891
- parts = folder_id.rsplit("!", 1)
892
- if len(parts) == 2:
893
- potential_drive_id, item_id = parts
894
- if not item_id.startswith("s"):
895
- drive_id = potential_drive_id
896
- url = f"{self._graph_base_url}/drives/{drive_id}/items/{item_id}/children"
897
-
898
- if not drive_id:
899
- url = f"{self._graph_base_url}/me/drive/items/{folder_id}/children"
900
-
886
+ url = f"{self._graph_base_url}/me/drive/items/{folder_id}/children"
901
887
  params = dict(self._default_params)
902
888
 
903
889
  response = await self._make_graph_request(url, params=params)
@@ -27,6 +27,15 @@ from .tasks import FileTask, TaskStatus, UploadTask
27
27
 
28
28
  logger = get_logger(__name__)
29
29
 
30
+ # Image file extensions that require OCR
31
+ IMAGE_EXTENSIONS = {"bmp", "jpeg", "jpg", "png", "tiff", "tif", "webp"}
32
+
33
+
34
+ def is_image_file(filename: str) -> bool:
35
+ """Check if a file is an image based on its extension."""
36
+ ext = filename.split(".")[-1].lower() if "." in filename else ""
37
+ return ext in IMAGE_EXTENSIONS
38
+
30
39
  if TYPE_CHECKING:
31
40
  from connectors.base import DocumentACL
32
41
 
@@ -455,6 +464,18 @@ class DocumentFileProcessor(TaskProcessor):
455
464
  file_task.updated_at = time.time()
456
465
 
457
466
  try:
467
+ # Check if OCR is disabled and file is an image
468
+ filename = os.path.basename(item)
469
+ config = get_openrag_config()
470
+ ocr_enabled = config.knowledge.ocr
471
+
472
+ if not ocr_enabled and is_image_file(filename):
473
+ file_task.status = TaskStatus.FAILED
474
+ file_task.error = f"The file '{filename}' is an image file and cannot be ingested because OCR is disabled."
475
+ file_task.updated_at = time.time()
476
+ upload_task.failed_files += 1
477
+ return
478
+
458
479
  # Compute hash
459
480
  file_hash = hash_id(item)
460
481
 
@@ -578,6 +599,17 @@ class ConnectorFileProcessor(TaskProcessor):
578
599
  file_task.updated_at = time.time()
579
600
  upload_task.failed_files += 1
580
601
  return
602
+
603
+ # Check if OCR is disabled and file is an image
604
+ config = get_openrag_config()
605
+ ocr_enabled = config.knowledge.ocr
606
+
607
+ if not ocr_enabled and is_image_file(file_task.filename):
608
+ file_task.status = TaskStatus.FAILED
609
+ file_task.error = f"The file '{file_task.filename}' is an image file and cannot be ingested because OCR is disabled."
610
+ file_task.updated_at = time.time()
611
+ upload_task.failed_files += 1
612
+ return
581
613
 
582
614
  # Get file content from connector
583
615
  try:
@@ -642,6 +674,17 @@ class ConnectorFileProcessor(TaskProcessor):
642
674
  file_task.updated_at = time.time()
643
675
  upload_task.failed_files += 1
644
676
  return
677
+
678
+ # Check if OCR is disabled and file is an image
679
+ config = get_openrag_config()
680
+ ocr_enabled = config.knowledge.ocr
681
+
682
+ if not ocr_enabled and is_image_file(name):
683
+ file_task.status = TaskStatus.FAILED
684
+ file_task.error = f"The file '{name}' is an image file and cannot be ingested because OCR is disabled."
685
+ file_task.updated_at = time.time()
686
+ upload_task.failed_files += 1
687
+ return
645
688
 
646
689
  if not self.user_id:
647
690
  raise ValueError("user_id not provided to ConnectorFileProcessor")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrag
3
- Version: 0.5.1.dev4
3
+ Version: 0.5.1.dev6
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes