openrag 0.6.0.dev18__tar.gz → 0.6.0.dev20__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.6.0.dev18/src/openrag.egg-info → openrag-0.6.0.dev20}/PKG-INFO +1 -1
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/pyproject.toml +1 -1
- openrag-0.6.0.dev20/src/api/flows.py +117 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/routes/internal.py +20 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20/src/openrag.egg-info}/PKG-INFO +1 -1
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/flows_service.py +429 -239
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/startup_orchestrator.py +3 -39
- openrag-0.6.0.dev18/src/api/flows.py +0 -57
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/LICENSE +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/MANIFEST.in +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/README.md +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/setup.cfg +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/agent.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/acl.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/auth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/chat.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/config.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/connectors.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/docling.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/documents.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/files.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/health.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/ingest_preview.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/keys.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/knowledge_filter.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/langflow_files.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/langflow_ingest.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/models.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/nudges.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/oidc.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/provider_health.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/provider_validation.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/router.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/schemas/tasks.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/search.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/settings/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/settings/endpoints.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/settings/helpers.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/settings/langflow_sync.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/settings/models.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/tasks.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/upload.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/users.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/_filter_resolution.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/chat.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/documents.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/knowledge_filters.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/models.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/search.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/api/v1/settings.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/container.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/factory.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/lifespan.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/middleware.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/router_app.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/routes/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/routes/mcp.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/app/routes/public_v1.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/ibm_auth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/jwt_roles.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/permission_dependencies.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/request_identity.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth/user_identity_cache.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/auth_context.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/bootstrap.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/config_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/embedding_constants.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/model_constants.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/paths.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/settings.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/storage_mode.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/config/utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/api.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/auth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/connector.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/models.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/aws_s3/support.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/base.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/connection_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/google_drive/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/google_drive/connector.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/google_drive/oauth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/google_drive_acl.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/microsoft_graph_acl.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/microsoft_oauth_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/onedrive/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/onedrive/connector.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/onedrive/oauth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/registry.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/sharepoint/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/sharepoint/connector.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/sharepoint/oauth.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/connectors/sharepoint/utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/base.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/engine.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/migrations_runtime.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/api_key.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/audit_log.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/conversation.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/migration_status.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/permission.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/role.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/role_permission.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/session_ownership.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/user.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/user_preferences.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/user_role.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/models/workspace_config.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/_helpers.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/api_key_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/audit_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/conversation_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/permission_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/preferences_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/role_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/session_ownership_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/user_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/repositories/workspace_config_repo.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/seed.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/db/types.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/dependencies.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/main.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/mcp_http/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/mcp_http/server.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/models/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/models/processors.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/models/tasks.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/models/url.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/openrag.egg-info/SOURCES.txt +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/openrag.egg-info/dependency_links.txt +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/openrag.egg-info/entry_points.txt +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/openrag.egg-info/requires.txt +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/openrag.egg-info/top_level.txt +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/api_key_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/auth_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/chat_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/connector_access_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/connector_oauth_config_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/conversation_persistence_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/default_docs_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/default_role_sync.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/dev_role_toggle.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/dls_principal_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/docling_polling_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/docling_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/document_index_writer.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/document_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/file_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/group_acl_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/ingest_preview_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/knowledge_filter_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/langflow_file_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/langflow_history_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/langflow_ingest_token_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/langflow_mcp_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/models_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/monitor_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/onboarding_reset.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/rbac_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/search_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/session_ownership_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/task_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/user_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/services/workspace_config_service.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/session_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/docker-compose.gpu.yml +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/docker-compose.yml +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/ingestion_flow.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/openrag_agent.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/openrag_nudges.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/flows/openrag_url_mcp.json +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/cli.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/config_fields.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/main.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/managers/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/managers/container_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/managers/docling_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/managers/env_manager.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/config.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/diagnostics.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/logs.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/monitor.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/screens/welcome.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/clipboard.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/platform.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/startup_checks.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/validation.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/utils/version_check.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/command_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/diagnostics_notification.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/error_notification.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/prune_options_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/tui/widgets/waves.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/acl_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/container_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/docling_client.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/document_processing.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/embedding_fields.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/embeddings.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/encryption.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/env_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/file_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/gpu_detection.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/group_acl.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/hash_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/ingest_preview_flag.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/jwt_keygen.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/jwt_verification.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/langflow_headers.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/langflow_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/logging_config.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/opensearch_delete.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/opensearch_init.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/opensearch_queries.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/opensearch_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/paths.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/provider_health_cache.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/run_mode_utils.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/telemetry/__init__.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/telemetry/category.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/telemetry/client.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/telemetry/message_id.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/url_content_fetcher.py +0 -0
- {openrag-0.6.0.dev18 → openrag-0.6.0.dev20}/src/utils/version_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrag
|
|
3
|
-
Version: 0.6.0.
|
|
3
|
+
Version: 0.6.0.dev20
|
|
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.6.0.
|
|
7
|
+
version = "0.6.0.dev20"
|
|
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"
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""Reset Flow API endpoints"""
|
|
2
|
+
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
from fastapi import Depends
|
|
6
|
+
from fastapi.responses import JSONResponse
|
|
7
|
+
from pydantic import BaseModel
|
|
8
|
+
|
|
9
|
+
from dependencies import get_flows_service, require_permission
|
|
10
|
+
from session_manager import User
|
|
11
|
+
from utils.logging_config import get_logger
|
|
12
|
+
|
|
13
|
+
logger = get_logger(__name__)
|
|
14
|
+
|
|
15
|
+
FlowType = Literal["nudges", "retrieval", "ingest"]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _is_oss_mode() -> bool:
|
|
19
|
+
from config.settings import IBM_AUTH_ENABLED, is_dev_ibm_cos_enabled
|
|
20
|
+
|
|
21
|
+
return not (IBM_AUTH_ENABLED or is_dev_ibm_cos_enabled())
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
async def reset_flow_endpoint(
|
|
25
|
+
flow_type: str,
|
|
26
|
+
flows_service=Depends(get_flows_service),
|
|
27
|
+
user: User = Depends(require_permission("flows:edit")),
|
|
28
|
+
):
|
|
29
|
+
"""Reset a Langflow flow by type (nudges, retrieval, or ingest)"""
|
|
30
|
+
if flow_type not in ["nudges", "retrieval", "ingest"]:
|
|
31
|
+
return JSONResponse(
|
|
32
|
+
{
|
|
33
|
+
"success": False,
|
|
34
|
+
"error": "Invalid flow type. Must be 'nudges', 'retrieval', or 'ingest'",
|
|
35
|
+
},
|
|
36
|
+
status_code=400,
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
try:
|
|
40
|
+
result = await flows_service.reset_langflow_flow(flow_type)
|
|
41
|
+
|
|
42
|
+
if result.get("success"):
|
|
43
|
+
logger.info("Flow reset successful", flow_type=flow_type, flow_id=result.get("flow_id"))
|
|
44
|
+
return JSONResponse(result, status_code=200)
|
|
45
|
+
else:
|
|
46
|
+
logger.error("Flow reset failed", flow_type=flow_type, error=result.get("error"))
|
|
47
|
+
return JSONResponse(result, status_code=500)
|
|
48
|
+
|
|
49
|
+
except ValueError as e:
|
|
50
|
+
logger.error("Invalid request for flow reset", error=str(e))
|
|
51
|
+
return JSONResponse({"success": False, "error": str(e)}, status_code=400)
|
|
52
|
+
except Exception as e:
|
|
53
|
+
logger.error("Unexpected error in flow reset", error=str(e))
|
|
54
|
+
return JSONResponse({"success": False, "error": "Internal server error"}, status_code=500)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class BulkUpdateFlowsRequest(BaseModel):
|
|
58
|
+
flow_types: list[str]
|
|
59
|
+
backup_custom: bool = True
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
async def get_flows_updates_endpoint(
|
|
63
|
+
flows_service=Depends(get_flows_service),
|
|
64
|
+
user: User = Depends(require_permission("flows:read")),
|
|
65
|
+
):
|
|
66
|
+
"""Get available updates for core flows"""
|
|
67
|
+
if not _is_oss_mode():
|
|
68
|
+
return JSONResponse({"success": True, "updates": []}, status_code=200)
|
|
69
|
+
try:
|
|
70
|
+
user_id = getattr(user, "db_user_id", None) or getattr(user, "user_id", None)
|
|
71
|
+
updates = await flows_service.get_flows_updates_available(user_id=user_id)
|
|
72
|
+
return JSONResponse({"success": True, "updates": updates}, status_code=200)
|
|
73
|
+
except Exception as e:
|
|
74
|
+
logger.error("Error getting flow updates", error=str(e))
|
|
75
|
+
return JSONResponse({"success": False, "error": "Internal server error"}, status_code=500)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
async def bulk_update_flows_endpoint(
|
|
79
|
+
request: BulkUpdateFlowsRequest,
|
|
80
|
+
flows_service=Depends(get_flows_service),
|
|
81
|
+
user: User = Depends(require_permission("flows:edit")),
|
|
82
|
+
):
|
|
83
|
+
"""Bulk update multiple flows and optionally backup custom flows"""
|
|
84
|
+
if not _is_oss_mode():
|
|
85
|
+
return JSONResponse(
|
|
86
|
+
{"success": False, "error": "Flow updates are only available in OSS mode"},
|
|
87
|
+
status_code=403,
|
|
88
|
+
)
|
|
89
|
+
try:
|
|
90
|
+
results = await flows_service.bulk_update_flows(request.flow_types, request.backup_custom)
|
|
91
|
+
overall_success = all(r.get("success", False) for r in results)
|
|
92
|
+
return JSONResponse({"success": overall_success, "results": results}, status_code=200)
|
|
93
|
+
except Exception as e:
|
|
94
|
+
logger.error("Error bulk updating flows", error=str(e))
|
|
95
|
+
return JSONResponse({"success": False, "error": "Internal server error"}, status_code=500)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class DismissFlowsUpdateRequest(BaseModel):
|
|
99
|
+
flow_types: list[str] | None = None
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
async def dismiss_flows_update_endpoint(
|
|
103
|
+
request: DismissFlowsUpdateRequest | None = None,
|
|
104
|
+
flows_service=Depends(get_flows_service),
|
|
105
|
+
user: User = Depends(require_permission("flows:read")),
|
|
106
|
+
):
|
|
107
|
+
"""Dismiss available flow update notifications ephemerally in backend memory"""
|
|
108
|
+
if not _is_oss_mode():
|
|
109
|
+
return JSONResponse({"success": True}, status_code=200)
|
|
110
|
+
try:
|
|
111
|
+
flow_types = request.flow_types if request else None
|
|
112
|
+
user_id = getattr(user, "db_user_id", None) or getattr(user, "user_id", None)
|
|
113
|
+
flows_service.dismiss_flows_updates(flow_types, user_id=user_id)
|
|
114
|
+
return JSONResponse({"success": True}, status_code=200)
|
|
115
|
+
except Exception as e:
|
|
116
|
+
logger.error("Error dismissing flow updates", error=str(e))
|
|
117
|
+
return JSONResponse({"success": False, "error": "Internal server error"}, status_code=500)
|
|
@@ -426,6 +426,26 @@ def register_internal_routes(app: FastAPI):
|
|
|
426
426
|
tags=["internal"],
|
|
427
427
|
)
|
|
428
428
|
|
|
429
|
+
# Flow updates endpoints
|
|
430
|
+
app.add_api_route(
|
|
431
|
+
"/settings/flows/updates-available",
|
|
432
|
+
flows.get_flows_updates_endpoint,
|
|
433
|
+
methods=["GET"],
|
|
434
|
+
tags=["internal"],
|
|
435
|
+
)
|
|
436
|
+
app.add_api_route(
|
|
437
|
+
"/settings/flows/update",
|
|
438
|
+
flows.bulk_update_flows_endpoint,
|
|
439
|
+
methods=["POST"],
|
|
440
|
+
tags=["internal"],
|
|
441
|
+
)
|
|
442
|
+
app.add_api_route(
|
|
443
|
+
"/settings/flows/dismiss-update",
|
|
444
|
+
flows.dismiss_flows_update_endpoint,
|
|
445
|
+
methods=["POST"],
|
|
446
|
+
tags=["internal"],
|
|
447
|
+
)
|
|
448
|
+
|
|
429
449
|
# Router upload ingest endpoint
|
|
430
450
|
app.add_api_route(
|
|
431
451
|
"/router/upload_ingest",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrag
|
|
3
|
-
Version: 0.6.0.
|
|
3
|
+
Version: 0.6.0.dev20
|
|
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
|