openrag 0.5.1.dev20__tar.gz → 0.6.0.dev1__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 (280) hide show
  1. {openrag-0.5.1.dev20/src/openrag.egg-info → openrag-0.6.0.dev1}/PKG-INFO +32 -19
  2. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/README.md +7 -11
  3. openrag-0.6.0.dev1/pyproject.toml +170 -0
  4. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/agent.py +148 -112
  5. openrag-0.6.0.dev1/src/api/acl.py +44 -0
  6. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/auth.py +36 -28
  7. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/chat.py +48 -10
  8. openrag-0.6.0.dev1/src/api/config.py +46 -0
  9. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/connectors.py +1081 -144
  10. openrag-0.6.0.dev1/src/api/docling.py +72 -0
  11. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/documents.py +139 -44
  12. openrag-0.6.0.dev1/src/api/files.py +95 -0
  13. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/flows.py +2 -2
  14. openrag-0.6.0.dev1/src/api/health.py +80 -0
  15. openrag-0.6.0.dev1/src/api/ingest_preview.py +67 -0
  16. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/keys.py +4 -4
  17. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/knowledge_filter.py +86 -79
  18. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/langflow_files.py +5 -10
  19. openrag-0.6.0.dev1/src/api/langflow_ingest.py +119 -0
  20. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/models.py +24 -23
  21. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/nudges.py +15 -1
  22. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/oidc.py +25 -17
  23. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/provider_health.py +92 -29
  24. openrag-0.6.0.dev1/src/api/router.py +297 -0
  25. openrag-0.6.0.dev1/src/api/schemas/tasks.py +22 -0
  26. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/search.py +7 -2
  27. openrag-0.6.0.dev1/src/api/settings/__init__.py +88 -0
  28. openrag-0.5.1.dev20/src/api/settings.py → openrag-0.6.0.dev1/src/api/settings/endpoints.py +540 -1005
  29. openrag-0.6.0.dev1/src/api/settings/helpers.py +230 -0
  30. openrag-0.6.0.dev1/src/api/settings/langflow_sync.py +323 -0
  31. openrag-0.6.0.dev1/src/api/settings/models.py +242 -0
  32. openrag-0.6.0.dev1/src/api/tasks.py +101 -0
  33. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/upload.py +51 -41
  34. openrag-0.6.0.dev1/src/api/users.py +166 -0
  35. openrag-0.6.0.dev1/src/api/v1/_filter_resolution.py +100 -0
  36. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/chat.py +126 -44
  37. openrag-0.6.0.dev1/src/api/v1/documents.py +226 -0
  38. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/knowledge_filters.py +8 -6
  39. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/models.py +26 -10
  40. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/search.py +43 -14
  41. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/settings.py +34 -18
  42. openrag-0.6.0.dev1/src/app/container.py +240 -0
  43. openrag-0.6.0.dev1/src/app/factory.py +55 -0
  44. openrag-0.6.0.dev1/src/app/lifespan.py +435 -0
  45. openrag-0.6.0.dev1/src/app/middleware.py +69 -0
  46. openrag-0.6.0.dev1/src/app/router_app.py +158 -0
  47. openrag-0.6.0.dev1/src/app/routes/__init__.py +23 -0
  48. openrag-0.6.0.dev1/src/app/routes/internal.py +456 -0
  49. openrag-0.6.0.dev1/src/app/routes/mcp.py +29 -0
  50. openrag-0.6.0.dev1/src/app/routes/public_v1.py +132 -0
  51. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/auth/ibm_auth.py +48 -2
  52. openrag-0.6.0.dev1/src/auth/jwt_roles.py +102 -0
  53. openrag-0.6.0.dev1/src/auth/permission_dependencies.py +143 -0
  54. openrag-0.6.0.dev1/src/auth/request_identity.py +698 -0
  55. openrag-0.6.0.dev1/src/auth/user_identity_cache.py +138 -0
  56. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/bootstrap.py +12 -0
  57. openrag-0.6.0.dev1/src/config/config_manager.py +529 -0
  58. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/config/model_constants.py +11 -14
  59. openrag-0.6.0.dev1/src/config/settings.py +1716 -0
  60. openrag-0.6.0.dev1/src/config/storage_mode.py +61 -0
  61. openrag-0.6.0.dev1/src/config/utils.py +202 -0
  62. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/__init__.py +2 -4
  63. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/aws_s3/connector.py +47 -14
  64. openrag-0.6.0.dev1/src/connectors/aws_s3/models.py +13 -0
  65. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/aws_s3/support.py +13 -6
  66. openrag-0.6.0.dev1/src/connectors/base.py +261 -0
  67. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/connection_manager.py +334 -194
  68. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/google_drive/connector.py +201 -30
  69. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/google_drive/oauth.py +92 -28
  70. openrag-0.6.0.dev1/src/connectors/google_drive_acl.py +408 -0
  71. openrag-0.6.0.dev1/src/connectors/microsoft_graph_acl.py +395 -0
  72. openrag-0.6.0.dev1/src/connectors/microsoft_oauth_utils.py +54 -0
  73. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/onedrive/connector.py +325 -53
  74. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/onedrive/oauth.py +17 -4
  75. openrag-0.6.0.dev1/src/connectors/registry.py +73 -0
  76. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/service.py +160 -13
  77. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/sharepoint/connector.py +302 -34
  78. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/sharepoint/oauth.py +148 -57
  79. openrag-0.6.0.dev1/src/db/__init__.py +21 -0
  80. openrag-0.6.0.dev1/src/db/base.py +19 -0
  81. openrag-0.6.0.dev1/src/db/engine.py +82 -0
  82. openrag-0.6.0.dev1/src/db/migrations_runtime.py +351 -0
  83. openrag-0.6.0.dev1/src/db/models/__init__.py +33 -0
  84. openrag-0.6.0.dev1/src/db/models/api_key.py +27 -0
  85. openrag-0.6.0.dev1/src/db/models/audit_log.py +23 -0
  86. openrag-0.6.0.dev1/src/db/models/conversation.py +30 -0
  87. openrag-0.6.0.dev1/src/db/models/migration_status.py +13 -0
  88. openrag-0.6.0.dev1/src/db/models/permission.py +13 -0
  89. openrag-0.6.0.dev1/src/db/models/role.py +14 -0
  90. openrag-0.6.0.dev1/src/db/models/role_permission.py +16 -0
  91. openrag-0.6.0.dev1/src/db/models/session_ownership.py +23 -0
  92. openrag-0.6.0.dev1/src/db/models/user.py +38 -0
  93. openrag-0.6.0.dev1/src/db/models/user_preferences.py +51 -0
  94. openrag-0.6.0.dev1/src/db/models/user_role.py +20 -0
  95. openrag-0.6.0.dev1/src/db/models/workspace_config.py +30 -0
  96. openrag-0.6.0.dev1/src/db/repositories/__init__.py +27 -0
  97. openrag-0.6.0.dev1/src/db/repositories/_helpers.py +9 -0
  98. openrag-0.6.0.dev1/src/db/repositories/api_key_repo.py +43 -0
  99. openrag-0.6.0.dev1/src/db/repositories/audit_repo.py +36 -0
  100. openrag-0.6.0.dev1/src/db/repositories/conversation_repo.py +104 -0
  101. openrag-0.6.0.dev1/src/db/repositories/permission_repo.py +23 -0
  102. openrag-0.6.0.dev1/src/db/repositories/preferences_repo.py +44 -0
  103. openrag-0.6.0.dev1/src/db/repositories/role_repo.py +68 -0
  104. openrag-0.6.0.dev1/src/db/repositories/session_ownership_repo.py +85 -0
  105. openrag-0.6.0.dev1/src/db/repositories/user_repo.py +74 -0
  106. openrag-0.6.0.dev1/src/db/repositories/workspace_config_repo.py +60 -0
  107. openrag-0.6.0.dev1/src/db/seed.py +251 -0
  108. openrag-0.6.0.dev1/src/db/types.py +61 -0
  109. openrag-0.6.0.dev1/src/dependencies.py +313 -0
  110. openrag-0.6.0.dev1/src/main.py +109 -0
  111. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/mcp_http/server.py +62 -27
  112. openrag-0.6.0.dev1/src/models/processors.py +1597 -0
  113. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/models/tasks.py +37 -5
  114. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/models/url.py +8 -11
  115. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1/src/openrag.egg-info}/PKG-INFO +32 -19
  116. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/openrag.egg-info/SOURCES.txt +89 -7
  117. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/openrag.egg-info/requires.txt +24 -7
  118. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/openrag.egg-info/top_level.txt +2 -0
  119. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/api_key_service.py +65 -35
  120. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/auth_service.py +153 -157
  121. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/chat_service.py +301 -92
  122. openrag-0.6.0.dev1/src/services/connector_access_service.py +108 -0
  123. openrag-0.6.0.dev1/src/services/connector_oauth_config_service.py +197 -0
  124. openrag-0.6.0.dev1/src/services/conversation_persistence_service.py +329 -0
  125. openrag-0.6.0.dev1/src/services/default_docs_service.py +696 -0
  126. openrag-0.6.0.dev1/src/services/default_role_sync.py +307 -0
  127. openrag-0.6.0.dev1/src/services/dev_role_toggle.py +48 -0
  128. openrag-0.6.0.dev1/src/services/dls_principal_service.py +449 -0
  129. openrag-0.6.0.dev1/src/services/docling_polling_service.py +224 -0
  130. openrag-0.6.0.dev1/src/services/docling_service.py +474 -0
  131. openrag-0.6.0.dev1/src/services/document_index_writer.py +327 -0
  132. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/document_service.py +36 -25
  133. openrag-0.6.0.dev1/src/services/file_service.py +245 -0
  134. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/flows_service.py +228 -114
  135. openrag-0.6.0.dev1/src/services/group_acl_service.py +117 -0
  136. openrag-0.6.0.dev1/src/services/ingest_preview_service.py +186 -0
  137. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/knowledge_filter_service.py +114 -65
  138. openrag-0.6.0.dev1/src/services/langflow_file_service.py +1088 -0
  139. openrag-0.6.0.dev1/src/services/langflow_ingest_token_service.py +203 -0
  140. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/monitor_service.py +65 -53
  141. openrag-0.6.0.dev1/src/services/onboarding_reset.py +151 -0
  142. openrag-0.6.0.dev1/src/services/rbac_service.py +141 -0
  143. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/search_service.py +117 -113
  144. openrag-0.6.0.dev1/src/services/session_ownership_service.py +246 -0
  145. openrag-0.6.0.dev1/src/services/startup_orchestrator.py +221 -0
  146. openrag-0.6.0.dev1/src/services/task_service.py +1543 -0
  147. openrag-0.6.0.dev1/src/services/user_service.py +324 -0
  148. openrag-0.6.0.dev1/src/services/workspace_config_service.py +411 -0
  149. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/session_manager.py +134 -62
  150. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/docker-compose.yml +77 -23
  151. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/ingestion_flow.json +1589 -3982
  152. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/openrag_agent.json +194 -477
  153. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/openrag_nudges.json +147 -375
  154. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/openrag_url_mcp.json +619 -1880
  155. openrag-0.6.0.dev1/src/tui/config_fields.py +435 -0
  156. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/managers/container_manager.py +248 -210
  157. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/managers/docling_manager.py +20 -9
  158. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/managers/env_manager.py +149 -56
  159. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/validation.py +21 -5
  160. openrag-0.6.0.dev1/src/utils/__init__.py +0 -0
  161. openrag-0.6.0.dev1/src/utils/acl_utils.py +243 -0
  162. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/container_utils.py +63 -0
  163. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/document_processing.py +67 -29
  164. openrag-0.6.0.dev1/src/utils/embeddings.py +70 -0
  165. openrag-0.6.0.dev1/src/utils/env_utils.py +48 -0
  166. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/file_utils.py +17 -12
  167. openrag-0.6.0.dev1/src/utils/group_acl.py +161 -0
  168. openrag-0.6.0.dev1/src/utils/ingest_preview_flag.py +21 -0
  169. openrag-0.6.0.dev1/src/utils/jwt_keygen.py +55 -0
  170. openrag-0.6.0.dev1/src/utils/jwt_verification.py +443 -0
  171. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/langflow_headers.py +51 -11
  172. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/logging_config.py +98 -78
  173. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/opensearch_delete.py +0 -30
  174. openrag-0.6.0.dev1/src/utils/opensearch_init.py +434 -0
  175. openrag-0.6.0.dev1/src/utils/opensearch_queries.py +103 -0
  176. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/opensearch_utils.py +194 -58
  177. openrag-0.6.0.dev1/src/utils/provider_health_cache.py +115 -0
  178. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/run_mode_utils.py +1 -0
  179. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/telemetry/message_id.py +30 -28
  180. openrag-0.6.0.dev1/src/utils/url_content_fetcher.py +72 -0
  181. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/version_utils.py +8 -6
  182. openrag-0.5.1.dev20/pyproject.toml +0 -69
  183. openrag-0.5.1.dev20/src/api/docling.py +0 -130
  184. openrag-0.5.1.dev20/src/api/router.py +0 -172
  185. openrag-0.5.1.dev20/src/api/tasks.py +0 -45
  186. openrag-0.5.1.dev20/src/api/v1/documents.py +0 -93
  187. openrag-0.5.1.dev20/src/config/config_manager.py +0 -386
  188. openrag-0.5.1.dev20/src/config/settings.py +0 -934
  189. openrag-0.5.1.dev20/src/connectors/aws_s3/models.py +0 -13
  190. openrag-0.5.1.dev20/src/connectors/base.py +0 -145
  191. openrag-0.5.1.dev20/src/connectors/ibm_cos/__init__.py +0 -17
  192. openrag-0.5.1.dev20/src/connectors/ibm_cos/api.py +0 -202
  193. openrag-0.5.1.dev20/src/connectors/ibm_cos/auth.py +0 -183
  194. openrag-0.5.1.dev20/src/connectors/ibm_cos/connector.py +0 -370
  195. openrag-0.5.1.dev20/src/connectors/ibm_cos/models.py +0 -20
  196. openrag-0.5.1.dev20/src/connectors/ibm_cos/support.py +0 -68
  197. openrag-0.5.1.dev20/src/dependencies.py +0 -427
  198. openrag-0.5.1.dev20/src/main.py +0 -2225
  199. openrag-0.5.1.dev20/src/models/processors.py +0 -1062
  200. openrag-0.5.1.dev20/src/services/conversation_persistence_service.py +0 -140
  201. openrag-0.5.1.dev20/src/services/langflow_file_service.py +0 -636
  202. openrag-0.5.1.dev20/src/services/session_ownership_service.py +0 -112
  203. openrag-0.5.1.dev20/src/services/task_service.py +0 -806
  204. openrag-0.5.1.dev20/src/tui/config_fields.py +0 -297
  205. openrag-0.5.1.dev20/src/utils/acl_utils.py +0 -245
  206. openrag-0.5.1.dev20/src/utils/embeddings.py +0 -39
  207. openrag-0.5.1.dev20/src/utils/env_utils.py +0 -31
  208. openrag-0.5.1.dev20/src/utils/opensearch_queries.py +0 -55
  209. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/LICENSE +0 -0
  210. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/MANIFEST.in +0 -0
  211. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/setup.cfg +0 -0
  212. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/__init__.py +0 -0
  213. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/provider_validation.py +0 -0
  214. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/api/v1/__init__.py +0 -0
  215. {openrag-0.5.1.dev20/src/auth → openrag-0.6.0.dev1/src/app}/__init__.py +0 -0
  216. {openrag-0.5.1.dev20/src/config → openrag-0.6.0.dev1/src/auth}/__init__.py +0 -0
  217. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/auth_context.py +0 -0
  218. {openrag-0.5.1.dev20/src/mcp_http → openrag-0.6.0.dev1/src/config}/__init__.py +0 -0
  219. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/config/embedding_constants.py +0 -0
  220. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/config/paths.py +0 -0
  221. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/aws_s3/__init__.py +0 -0
  222. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/aws_s3/api.py +0 -0
  223. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/aws_s3/auth.py +0 -0
  224. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/google_drive/__init__.py +0 -0
  225. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/onedrive/__init__.py +0 -0
  226. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/sharepoint/__init__.py +0 -0
  227. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/connectors/sharepoint/utils.py +0 -0
  228. {openrag-0.5.1.dev20/src/models → openrag-0.6.0.dev1/src/mcp_http}/__init__.py +0 -0
  229. {openrag-0.5.1.dev20/src/services → openrag-0.6.0.dev1/src/models}/__init__.py +0 -0
  230. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/openrag.egg-info/dependency_links.txt +0 -0
  231. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/openrag.egg-info/entry_points.txt +0 -0
  232. {openrag-0.5.1.dev20/src/utils → openrag-0.6.0.dev1/src/services}/__init__.py +0 -0
  233. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/langflow_history_service.py +0 -0
  234. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/langflow_mcp_service.py +0 -0
  235. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/services/models_service.py +0 -0
  236. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/__init__.py +0 -0
  237. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/docker-compose.gpu.yml +0 -0
  238. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
  239. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
  240. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
  241. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
  242. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
  243. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
  244. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
  245. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
  246. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
  247. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/cli.py +0 -0
  248. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/main.py +0 -0
  249. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/managers/__init__.py +0 -0
  250. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/__init__.py +0 -0
  251. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/config.py +0 -0
  252. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/diagnostics.py +0 -0
  253. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/logs.py +0 -0
  254. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/monitor.py +0 -0
  255. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/screens/welcome.py +0 -0
  256. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/__init__.py +0 -0
  257. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/clipboard.py +0 -0
  258. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/platform.py +0 -0
  259. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/startup_checks.py +0 -0
  260. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/utils/version_check.py +0 -0
  261. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/__init__.py +0 -0
  262. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/command_modal.py +0 -0
  263. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/diagnostics_notification.py +0 -0
  264. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/error_notification.py +0 -0
  265. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
  266. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
  267. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/prune_options_modal.py +0 -0
  268. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
  269. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
  270. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/tui/widgets/waves.py +0 -0
  271. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/docling_client.py +0 -0
  272. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/embedding_fields.py +0 -0
  273. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/encryption.py +0 -0
  274. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/gpu_detection.py +0 -0
  275. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/hash_utils.py +0 -0
  276. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/langflow_utils.py +0 -0
  277. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/paths.py +0 -0
  278. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/telemetry/__init__.py +0 -0
  279. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/telemetry/category.py +0 -0
  280. {openrag-0.5.1.dev20 → openrag-0.6.0.dev1}/src/utils/telemetry/client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openrag
3
- Version: 0.5.1.dev20
3
+ Version: 0.6.0.dev1
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
@@ -15,22 +15,28 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
15
15
  Requires-Python: >=3.13
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: agentd>=0.8.1
18
+ Requires-Dist: agentd>=0.8.7
19
19
  Requires-Dist: aiofiles>=24.1.0
20
- Requires-Dist: aiohttp>=3.13.4
21
- Requires-Dist: cryptography>=46.0.6
20
+ Requires-Dist: authlib<2.0.0,>=1.7.2
21
+ Requires-Dist: aiohttp>=3.14.1
22
+ Requires-Dist: authlib>=1.7.1
23
+ Requires-Dist: cryptography>=48.0.1
24
+ Requires-Dist: click>=8.3.3
22
25
  Requires-Dist: google-api-python-client>=2.143.0
23
26
  Requires-Dist: google-auth-httplib2>=0.2.0
24
27
  Requires-Dist: google-auth-oauthlib>=1.2.0
25
28
  Requires-Dist: msal>=1.29.0
26
29
  Requires-Dist: httpx>=0.27.0
30
+ Requires-Dist: idna>=3.18
27
31
  Requires-Dist: opensearch-py[async]>=3.0.0
28
- Requires-Dist: pyjwt>=2.12.0
29
- Requires-Dist: python-multipart>=0.0.20
32
+ Requires-Dist: pyjwt>=2.13.0
33
+ Requires-Dist: python-multipart>=0.0.31
30
34
  Requires-Dist: fastapi>=0.115.0
35
+ Requires-Dist: starlette>=1.3.1
31
36
  Requires-Dist: uvicorn>=0.35.0
32
37
  Requires-Dist: boto3>=1.35.0
33
38
  Requires-Dist: ibm-cos-sdk>=2.13.0
39
+ Requires-Dist: azure-storage-blob>=12.20.0
34
40
  Requires-Dist: psutil>=7.0.0
35
41
  Requires-Dist: rich>=13.0.0
36
42
  Requires-Dist: textual>=0.45.0
@@ -38,8 +44,9 @@ Requires-Dist: python-dotenv>=1.0.0
38
44
  Requires-Dist: textual-fspicker>=0.6.0
39
45
  Requires-Dist: structlog>=25.4.0
40
46
  Requires-Dist: zxcvbn>=4.5.0
41
- Requires-Dist: prometheus-fastapi-instrumentator>=7.1.0
42
- Requires-Dist: litellm==1.83.14
47
+ Requires-Dist: prometheus-fastapi-instrumentator>=8.0.0
48
+ Requires-Dist: protobuf>=7.35.0
49
+ Requires-Dist: litellm==1.84.0
43
50
  Requires-Dist: pyyaml>=6.0
44
51
  Requires-Dist: tiktoken>=0.7.0
45
52
  Requires-Dist: fastmcp>=3.2.3
@@ -47,7 +54,17 @@ Requires-Dist: openai==2.24.0
47
54
  Requires-Dist: tenacity>=9.1.4
48
55
  Requires-Dist: pygments>=2.20.0
49
56
  Requires-Dist: pyasn1>=0.6.3
57
+ Requires-Dist: protobuf<8,>=7.35.0
50
58
  Requires-Dist: requests>=2.33.0
59
+ Requires-Dist: urllib3>=2.7.0
60
+ Requires-Dist: sqlmodel>=0.0.22
61
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.36
62
+ Requires-Dist: aiosqlite>=0.20.0
63
+ Requires-Dist: alembic>=1.13.0
64
+ Requires-Dist: asyncpg>=0.30.0
65
+ Requires-Dist: cachetools>=5.5.0
66
+ Requires-Dist: idna>=3.15
67
+ Requires-Dist: urllib3>=2.7.0
51
68
  Dynamic: license-file
52
69
 
53
70
  <div align="center">
@@ -183,31 +200,27 @@ console.log(response.response);
183
200
 
184
201
  ## 🔌 Model Context Protocol (MCP)
185
202
 
186
- Connect AI assistants like Cursor and Claude Desktop to your OpenRAG knowledge base:
203
+ OpenRAG ships a built-in MCP server over **streamable HTTP**, mounted on your instance at `/mcp`. Connect AI assistants like Cursor, Claude Desktop, and IBM Bob to your OpenRAG knowledge base — no subprocess and no separate install. Authenticate with the same OpenRAG API key you use for the REST API, passed via the `X-API-Key` header.
187
204
 
188
- ```bash
189
- pip install openrag-mcp
190
- ```
205
+ > **Important:** The standalone `openrag-mcp` PyPI package is deprecated. Connect your MCP client directly to the `/mcp` endpoint instead.
191
206
 
192
207
  **Quick Example (Cursor/Claude Desktop config):**
193
208
  ```json
194
209
  {
195
210
  "mcpServers": {
196
211
  "openrag": {
197
- "command": "uvx",
198
- "args": ["openrag-mcp"],
199
- "env": {
200
- "OPENRAG_URL": "http://localhost:3000",
201
- "OPENRAG_API_KEY": "your_api_key_here"
212
+ "url": "http://localhost:3000/mcp",
213
+ "headers": {
214
+ "X-API-Key": "orag_your_api_key_here"
202
215
  }
203
216
  }
204
217
  }
205
218
  }
206
219
  ```
207
220
 
208
- The MCP server provides tools for RAG-enhanced chat, semantic search, and settings management.
221
+ The MCP server provides tools for RAG-enhanced chat, semantic search, document ingestion, knowledge filters, and settings management.
209
222
 
210
- 📖 [Full MCP Documentation](https://pypi.org/project/openrag-mcp/)
223
+ 📖 [Full MCP Documentation](https://github.com/langflow-ai/openrag/tree/main/sdks/mcp)
211
224
 
212
225
  ## 🛠️ Development
213
226
 
@@ -131,31 +131,27 @@ console.log(response.response);
131
131
 
132
132
  ## 🔌 Model Context Protocol (MCP)
133
133
 
134
- Connect AI assistants like Cursor and Claude Desktop to your OpenRAG knowledge base:
134
+ OpenRAG ships a built-in MCP server over **streamable HTTP**, mounted on your instance at `/mcp`. Connect AI assistants like Cursor, Claude Desktop, and IBM Bob to your OpenRAG knowledge base — no subprocess and no separate install. Authenticate with the same OpenRAG API key you use for the REST API, passed via the `X-API-Key` header.
135
135
 
136
- ```bash
137
- pip install openrag-mcp
138
- ```
136
+ > **Important:** The standalone `openrag-mcp` PyPI package is deprecated. Connect your MCP client directly to the `/mcp` endpoint instead.
139
137
 
140
138
  **Quick Example (Cursor/Claude Desktop config):**
141
139
  ```json
142
140
  {
143
141
  "mcpServers": {
144
142
  "openrag": {
145
- "command": "uvx",
146
- "args": ["openrag-mcp"],
147
- "env": {
148
- "OPENRAG_URL": "http://localhost:3000",
149
- "OPENRAG_API_KEY": "your_api_key_here"
143
+ "url": "http://localhost:3000/mcp",
144
+ "headers": {
145
+ "X-API-Key": "orag_your_api_key_here"
150
146
  }
151
147
  }
152
148
  }
153
149
  }
154
150
  ```
155
151
 
156
- The MCP server provides tools for RAG-enhanced chat, semantic search, and settings management.
152
+ The MCP server provides tools for RAG-enhanced chat, semantic search, document ingestion, knowledge filters, and settings management.
157
153
 
158
- 📖 [Full MCP Documentation](https://pypi.org/project/openrag-mcp/)
154
+ 📖 [Full MCP Documentation](https://github.com/langflow-ai/openrag/tree/main/sdks/mcp)
159
155
 
160
156
  ## 🛠️ Development
161
157
 
@@ -0,0 +1,170 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "openrag"
7
+ version = "0.6.0.dev1"
8
+ description = "OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations."
9
+ readme = "README.md"
10
+ requires-python = ">=3.13"
11
+ classifiers = [
12
+ "Development Status :: 4 - Beta",
13
+ "Environment :: Console",
14
+ "Intended Audience :: Developers",
15
+ "Intended Audience :: Science/Research",
16
+ "License :: OSI Approved :: Apache Software License",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3 :: Only",
19
+ "Programming Language :: Python :: 3.13",
20
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
21
+ "Topic :: Software Development :: Libraries :: Python Modules",
22
+ ]
23
+ dependencies = [
24
+ "agentd>=0.8.7",
25
+ "aiofiles>=24.1.0",
26
+ "authlib>=1.7.2,<2.0.0",
27
+ "aiohttp>=3.14.1",
28
+ "authlib>=1.7.1",
29
+ "cryptography>=48.0.1",
30
+ "click>=8.3.3",
31
+ "google-api-python-client>=2.143.0",
32
+ "google-auth-httplib2>=0.2.0",
33
+ "google-auth-oauthlib>=1.2.0",
34
+ "msal>=1.29.0",
35
+ "httpx>=0.27.0",
36
+ "idna>=3.18",
37
+ "opensearch-py[async]>=3.0.0",
38
+ "pyjwt>=2.13.0",
39
+ "python-multipart>=0.0.31",
40
+ "fastapi>=0.115.0",
41
+ "starlette>=1.3.1",
42
+ "uvicorn>=0.35.0",
43
+ "boto3>=1.35.0",
44
+ "ibm-cos-sdk>=2.13.0",
45
+ "azure-storage-blob>=12.20.0",
46
+ "psutil>=7.0.0",
47
+ "rich>=13.0.0",
48
+ "textual>=0.45.0",
49
+ "python-dotenv>=1.0.0",
50
+ "textual-fspicker>=0.6.0",
51
+ "structlog>=25.4.0",
52
+ "zxcvbn>=4.5.0",
53
+ "prometheus-fastapi-instrumentator>=8.0.0",
54
+ "protobuf>=7.35.0",
55
+ "litellm==1.84.0",
56
+ "pyyaml>=6.0",
57
+ "tiktoken>=0.7.0",
58
+ "fastmcp>=3.2.3",
59
+ "openai==2.24.0",
60
+ "tenacity>=9.1.4",
61
+ "pygments>=2.20.0",
62
+ "pyasn1>=0.6.3",
63
+ "protobuf>=7.35.0,<8",
64
+ "requests>=2.33.0",
65
+ "urllib3>=2.7.0",
66
+ "sqlmodel>=0.0.22",
67
+ "sqlalchemy[asyncio]>=2.0.36",
68
+ "aiosqlite>=0.20.0",
69
+ "alembic>=1.13.0",
70
+ "asyncpg>=0.30.0",
71
+ "cachetools>=5.5.0",
72
+ "idna>=3.15",
73
+ "urllib3>=2.7.0",
74
+ ]
75
+
76
+ [dependency-groups]
77
+ dev = [
78
+ "pytest>=9.0.3",
79
+ "pytest-asyncio>=0.21.0",
80
+ "pytest-mock>=3.12.0",
81
+ "pytest-cov>=4.0.0",
82
+ "ruff>=0.15.12",
83
+ "mypy>=2.0.0",
84
+ ]
85
+
86
+ [project.scripts]
87
+ openrag = "tui.main:run_tui"
88
+
89
+ [tool.pytest.ini_options]
90
+ filterwarnings = [
91
+ "error::RuntimeWarning",
92
+ ]
93
+ markers = [
94
+ "openrag_skip_app_onboard: selected tests manage their own infrastructure clients and do not need the session app onboarding fixture",
95
+ ]
96
+
97
+ [tool.uv]
98
+ package = true
99
+ override-dependencies = ["python-dotenv>=1.1.0"]
100
+
101
+ # Ruff and mypy run only against files changed in a PR (see
102
+ # .github/workflows/lint-backend.yml). The configs below stay
103
+ # intentionally minimal — broad enforcement is out of scope for the
104
+ # refactor that introduced them.
105
+ [tool.ruff]
106
+ line-length = 100
107
+ target-version = "py312"
108
+ exclude = ["flows/components"]
109
+
110
+ [tool.ruff.lint]
111
+ select = ["E", "F", "I", "B", "UP"]
112
+ ignore = ["E501"] # line-length handled by formatter
113
+
114
+ # FastAPI's idiomatic dependency-injection pattern uses `Depends(...)` and
115
+ # our `require_permission(...)` as call expressions in default-argument
116
+ # position. B008 flags these as bugs ("function call in argument default")
117
+ # but for FastAPI they are by design — the framework introspects them at
118
+ # request time. Whitelist the call sites instead of sprinkling noqa
119
+ # comments across every handler.
120
+ [tool.ruff.lint.flake8-bugbear]
121
+ extend-immutable-calls = [
122
+ "fastapi.Depends",
123
+ "fastapi.Query",
124
+ "fastapi.Path",
125
+ "fastapi.Body",
126
+ "fastapi.Header",
127
+ "fastapi.Cookie",
128
+ "fastapi.File",
129
+ "fastapi.Form",
130
+ "fastapi.Security",
131
+ "dependencies.require_permission",
132
+ "dependencies.require_all_permissions",
133
+ "dependencies.require_api_key_permission",
134
+ ]
135
+
136
+ # `bootstrap` must be the first import in any module that uses it
137
+ # (it loads .env and configures structlog before anything else can
138
+ # read env vars or emit logs). Define it as its own isort section
139
+ # placed above standard-library so the formatter never re-sorts it
140
+ # below other imports.
141
+ [tool.ruff.lint.isort]
142
+ section-order = [
143
+ "future",
144
+ "bootstrap",
145
+ "standard-library",
146
+ "third-party",
147
+ "first-party",
148
+ "local-folder",
149
+ ]
150
+
151
+ [tool.ruff.lint.isort.sections]
152
+ bootstrap = ["bootstrap"]
153
+
154
+ [tool.mypy]
155
+ python_version = "3.13"
156
+ ignore_missing_imports = true
157
+ no_strict_optional = true
158
+ warn_unused_ignores = true
159
+ exclude = ["flows/components"]
160
+
161
+ # FastAPI handlers in these modules declare a Pydantic response model as
162
+ # their return type but legitimately return `JSONResponse(...)` on error
163
+ # paths. The runtime accepts both, but the annotation can't be widened to
164
+ # `SomeResponse | JSONResponse` because FastAPI then tries to derive an
165
+ # OpenAPI schema from the union and fails. Suppress only the resulting
166
+ # return-value mismatches in these files.
167
+ [[tool.mypy.overrides]]
168
+ module = ["api.settings.endpoints", "api.v1.settings"]
169
+ disable_error_code = ["return-value"]
170
+