openrag 0.5.0.dev38__tar.gz → 0.5.1.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.
- {openrag-0.5.0.dev38/src/openrag.egg-info → openrag-0.5.1.dev1}/PKG-INFO +1 -1
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/pyproject.toml +1 -1
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/settings.py +1 -4
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/main.py +3 -96
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1/src/openrag.egg-info}/PKG-INFO +1 -1
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/flows_service.py +4 -6
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/LICENSE +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/MANIFEST.in +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/README.md +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/setup.cfg +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/agent.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/auth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/chat.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/connectors.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/docling.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/documents.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/flows.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/keys.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/knowledge_filter.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/langflow_files.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/models.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/nudges.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/oidc.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/provider_health.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/provider_validation.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/router.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/search.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/tasks.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/upload.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/chat.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/documents.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/knowledge_filters.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/models.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/search.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/api/v1/settings.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/auth/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/auth/ibm_auth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/auth_context.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/bootstrap.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/config_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/embedding_constants.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/model_constants.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/paths.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/config/settings.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/api.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/auth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/connector.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/models.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/aws_s3/support.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/base.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/connection_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/google_drive/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/google_drive/connector.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/google_drive/oauth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/api.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/auth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/connector.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/models.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/ibm_cos/support.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/onedrive/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/onedrive/connector.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/onedrive/oauth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/sharepoint/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/sharepoint/connector.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/sharepoint/oauth.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/connectors/sharepoint/utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/dependencies.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/mcp_http/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/mcp_http/server.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/models/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/models/processors.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/models/tasks.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/models/url.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/openrag.egg-info/SOURCES.txt +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/openrag.egg-info/dependency_links.txt +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/openrag.egg-info/entry_points.txt +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/openrag.egg-info/requires.txt +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/openrag.egg-info/top_level.txt +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/api_key_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/auth_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/chat_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/conversation_persistence_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/document_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/knowledge_filter_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/langflow_file_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/langflow_history_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/langflow_mcp_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/models_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/monitor_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/search_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/session_ownership_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/services/task_service.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/session_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/docker-compose.gpu.yml +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/docker-compose.yml +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/ingestion_flow.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/openrag_agent.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/openrag_nudges.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/openrag_url_mcp.json +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/cli.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/config_fields.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/main.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/managers/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/managers/container_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/managers/docling_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/managers/env_manager.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/config.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/diagnostics.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/logs.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/monitor.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/screens/welcome.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/clipboard.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/platform.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/startup_checks.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/validation.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/utils/version_check.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/command_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/diagnostics_notification.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/error_notification.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/prune_options_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/waves.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/acl_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/container_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/docling_client.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/document_processing.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/embedding_fields.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/embeddings.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/encryption.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/env_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/file_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/gpu_detection.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/hash_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/langflow_headers.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/langflow_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/logging_config.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/opensearch_delete.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/opensearch_queries.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/opensearch_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/paths.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/run_mode_utils.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/telemetry/__init__.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/telemetry/category.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/telemetry/client.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/utils/telemetry/message_id.py +0 -0
- {openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/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.
|
|
3
|
+
Version: 0.5.1.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
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "openrag"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.1.dev1"
|
|
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"
|
|
@@ -1676,10 +1676,7 @@ async def _update_langflow_model_values(config, flows_service, llm_model=None, l
|
|
|
1676
1676
|
async def _update_langflow_system_prompt(config, flows_service):
|
|
1677
1677
|
"""Update system prompt in chat flow"""
|
|
1678
1678
|
try:
|
|
1679
|
-
|
|
1680
|
-
await flows_service.update_chat_flow_system_prompt(
|
|
1681
|
-
config.agent.system_prompt, llm_provider
|
|
1682
|
-
)
|
|
1679
|
+
await flows_service.update_chat_flow_system_prompt(config.agent.system_prompt)
|
|
1683
1680
|
logger.info("Successfully updated chat flow system prompt")
|
|
1684
1681
|
except Exception as e:
|
|
1685
1682
|
logger.error(f"Failed to update chat flow system prompt: {str(e)}")
|
|
@@ -1619,7 +1619,7 @@ async def create_app():
|
|
|
1619
1619
|
"""Create and configure the FastAPI application"""
|
|
1620
1620
|
services = await initialize_services()
|
|
1621
1621
|
|
|
1622
|
-
app = FastAPI(title="OpenRAG API", version=OPENRAG_VERSION, debug=True)
|
|
1622
|
+
app = FastAPI(title="OpenRAG API", version=OPENRAG_VERSION, debug=True, lifespan=lifespan)
|
|
1623
1623
|
app.state.services = services # Store services for cleanup
|
|
1624
1624
|
app.state.background_tasks = set()
|
|
1625
1625
|
|
|
@@ -2139,102 +2139,9 @@ async def create_app():
|
|
|
2139
2139
|
# FastMCP requires its own lifespan to be run so that the
|
|
2140
2140
|
# StreamableHTTPSessionManager task group is initialized before requests arrive.
|
|
2141
2141
|
# FastAPI does not automatically propagate lifespan to mounted sub-apps,
|
|
2142
|
-
# so we wire it in manually via
|
|
2142
|
+
# so we wire it in manually via the parent's lifespan (using app.state).
|
|
2143
2143
|
_mcp_lifespan_ctx = mcp_http_app.router.lifespan_context(mcp_http_app)
|
|
2144
|
-
|
|
2145
|
-
async def _start_mcp_lifespan():
|
|
2146
|
-
await _mcp_lifespan_ctx.__aenter__()
|
|
2147
|
-
logger.info("FastMCP lifespan started")
|
|
2148
|
-
|
|
2149
|
-
async def _stop_mcp_lifespan():
|
|
2150
|
-
await _mcp_lifespan_ctx.__aexit__(None, None, None)
|
|
2151
|
-
logger.info("FastMCP lifespan stopped")
|
|
2152
|
-
|
|
2153
|
-
app.add_event_handler("startup", _start_mcp_lifespan)
|
|
2154
|
-
app.add_event_handler("shutdown", _stop_mcp_lifespan)
|
|
2155
|
-
|
|
2156
|
-
# Add startup event handler
|
|
2157
|
-
@app.on_event("startup")
|
|
2158
|
-
async def startup_event():
|
|
2159
|
-
await TelemetryClient.send_event(
|
|
2160
|
-
Category.APPLICATION_STARTUP, MessageId.ORB_APP_STARTED
|
|
2161
|
-
)
|
|
2162
|
-
# Start index initialization in background to avoid blocking OIDC endpoints
|
|
2163
|
-
t1 = asyncio.create_task(startup_tasks(services))
|
|
2164
|
-
app.state.background_tasks.add(t1)
|
|
2165
|
-
t1.add_done_callback(app.state.background_tasks.discard)
|
|
2166
|
-
|
|
2167
|
-
# Start periodic task cleanup scheduler
|
|
2168
|
-
services["task_service"].start_cleanup_scheduler()
|
|
2169
|
-
|
|
2170
|
-
# Start periodic flow backup task (every 5 minutes)
|
|
2171
|
-
async def periodic_backup():
|
|
2172
|
-
"""Periodic backup task that runs every 15 minutes"""
|
|
2173
|
-
while True:
|
|
2174
|
-
try:
|
|
2175
|
-
await asyncio.sleep(5 * 60) # Wait 5 minutes
|
|
2176
|
-
|
|
2177
|
-
# Check if onboarding has been completed
|
|
2178
|
-
config = get_openrag_config()
|
|
2179
|
-
if not config.edited:
|
|
2180
|
-
logger.debug(
|
|
2181
|
-
"Onboarding not completed yet, skipping periodic backup"
|
|
2182
|
-
)
|
|
2183
|
-
continue
|
|
2184
|
-
|
|
2185
|
-
flows_service = services.get("flows_service")
|
|
2186
|
-
if flows_service:
|
|
2187
|
-
logger.info("Running periodic flow backup")
|
|
2188
|
-
backup_results = await flows_service.backup_all_flows(
|
|
2189
|
-
only_if_changed=True
|
|
2190
|
-
)
|
|
2191
|
-
if backup_results["backed_up"]:
|
|
2192
|
-
logger.info(
|
|
2193
|
-
"Periodic backup completed",
|
|
2194
|
-
backed_up=len(backup_results["backed_up"]),
|
|
2195
|
-
skipped=len(backup_results["skipped"]),
|
|
2196
|
-
)
|
|
2197
|
-
else:
|
|
2198
|
-
logger.debug(
|
|
2199
|
-
"Periodic backup: no flows changed",
|
|
2200
|
-
skipped=len(backup_results["skipped"]),
|
|
2201
|
-
)
|
|
2202
|
-
except asyncio.CancelledError:
|
|
2203
|
-
logger.info("Periodic backup task cancelled")
|
|
2204
|
-
break
|
|
2205
|
-
except Exception as e:
|
|
2206
|
-
logger.error(f"Error in periodic backup task: {str(e)}")
|
|
2207
|
-
# Continue running even if one backup fails
|
|
2208
|
-
|
|
2209
|
-
backup_task = asyncio.create_task(periodic_backup())
|
|
2210
|
-
app.state.background_tasks.add(backup_task)
|
|
2211
|
-
backup_task.add_done_callback(app.state.background_tasks.discard)
|
|
2212
|
-
|
|
2213
|
-
# Add shutdown event handler
|
|
2214
|
-
@app.on_event("shutdown")
|
|
2215
|
-
async def shutdown_event():
|
|
2216
|
-
await TelemetryClient.send_event(
|
|
2217
|
-
Category.APPLICATION_SHUTDOWN, MessageId.ORB_APP_SHUTDOWN
|
|
2218
|
-
)
|
|
2219
|
-
logger.info("Application shutdown initiated")
|
|
2220
|
-
|
|
2221
|
-
# Gracefully shutdown OpenSearch connection first
|
|
2222
|
-
try:
|
|
2223
|
-
from utils.opensearch_utils import graceful_opensearch_shutdown
|
|
2224
|
-
await graceful_opensearch_shutdown(clients.opensearch)
|
|
2225
|
-
except Exception as e:
|
|
2226
|
-
logger.error("Error during graceful OpenSearch shutdown", error=str(e))
|
|
2227
|
-
|
|
2228
|
-
await cleanup_subscriptions_proper(services)
|
|
2229
|
-
# Cleanup task service (cancels background tasks and process pool)
|
|
2230
|
-
await services["task_service"].shutdown()
|
|
2231
|
-
# Cleanup async clients (this will also close OpenSearch client if not already closed)
|
|
2232
|
-
await clients.cleanup()
|
|
2233
|
-
# Cleanup telemetry client
|
|
2234
|
-
from utils.telemetry.client import cleanup_telemetry_client
|
|
2235
|
-
|
|
2236
|
-
await cleanup_telemetry_client()
|
|
2237
|
-
logger.info("Application shutdown completed")
|
|
2144
|
+
app.state.mcp_lifespan_ctx = _mcp_lifespan_ctx
|
|
2238
2145
|
|
|
2239
2146
|
return app
|
|
2240
2147
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrag
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1.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
|
|
@@ -673,16 +673,14 @@ class FlowsService:
|
|
|
673
673
|
await self._update_flow_field(LANGFLOW_CHAT_FLOW_ID, "model_name", model_name,
|
|
674
674
|
node_display_name=target_llm_id)
|
|
675
675
|
|
|
676
|
-
async def update_chat_flow_system_prompt(self, system_prompt: str
|
|
676
|
+
async def update_chat_flow_system_prompt(self, system_prompt: str):
|
|
677
677
|
"""Helper function to update the system prompt in the chat flow"""
|
|
678
678
|
if not LANGFLOW_CHAT_FLOW_ID:
|
|
679
679
|
raise ValueError("LANGFLOW_CHAT_FLOW_ID is not configured")
|
|
680
680
|
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
await self._update_flow_field(LANGFLOW_CHAT_FLOW_ID, "system_prompt", system_prompt,
|
|
685
|
-
node_display_name=target_agent_id)
|
|
681
|
+
await self._update_flow_field(
|
|
682
|
+
LANGFLOW_CHAT_FLOW_ID, "system_prompt", system_prompt, node_display_name=AGENT_COMPONENT_DISPLAY_NAME
|
|
683
|
+
)
|
|
686
684
|
|
|
687
685
|
async def update_flow_docling_preset(self, preset: str, preset_config: dict):
|
|
688
686
|
"""Helper function to update docling preset in the ingest flow"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/ollama_embedding.json
RENAMED
|
File without changes
|
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/ollama_llm_text.json
RENAMED
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_embedding.json
RENAMED
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_llm.json
RENAMED
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/flows/components/watsonx_llm_text.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openrag-0.5.0.dev38 → openrag-0.5.1.dev1}/src/tui/widgets/version_mismatch_warning_modal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|