databricks-tellr-app 0.4.3.dev14__tar.gz → 0.4.3.dev15__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.
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/pyproject.toml +1 -1
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/mcp_auth.py +36 -25
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/README.md +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app/run.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app.egg-info/requires.txt +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app.egg-info/top_level.txt +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/setup.cfg +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/setup.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/_otel_bootstrap.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/fixtures/tour_demo_deck.json +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/main.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/mcp_server.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/csrf.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/request_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/security_headers.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/_authz.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/admin.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/admin_usage.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/chat.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/deck_contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/export.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/google_slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/images.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/local_version.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/profiles.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/sessions.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/deck_prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/design_systems.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/identities.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/settings/slide_styles.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/setup.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/tour.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/verification.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/version.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/settings/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/settings/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/streaming.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/chat_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/export_job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/feedback_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/session_manager.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/session_naming.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/usage_events.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/usage_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/utils/validation.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/config_loader.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/context_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/database.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/databricks_client.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/encryption.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/init_default_profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/lakebase.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/migrate_profiles_to_agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/mlflow_agent_spans.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/mlflow_tracing.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/otel_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/permission_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/prompt_modules.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/settings_db.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/user_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/deck_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/design_system.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/encryption_key.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/genie_space.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/google_global_credentials.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/google_oauth_token.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/identity.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/image.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/profile_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/request_log.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/session.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/slide_deck_prompt.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/slide_style_library.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/usage_event.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/user_preference.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/types.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/domain/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/domain/slide.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/domain/slide_deck.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/agent.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/agent_factory.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/config_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/config_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/ast_guard.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/codeprep.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/gslides_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/jail.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/pptx_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/converter_jail/protocol.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/design_system_compiler.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/design_system_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/design_system_templates.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/drive_uploader.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/evaluation/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/evaluation/llm_judge.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/genie_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/google_slides_auth.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/google_slides_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/html_to_google_slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/html_to_pptx.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/identity_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/identity_providers/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/identity_providers/account_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/identity_providers/local_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/identity_providers/workspace_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/image_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/image_tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/permission_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/pptx_from_html_huashu.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/pptx_from_records.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/pptx_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/profile_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/streaming_callback.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/agent_bricks_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/ds_asset_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/genie_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/mcp_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/model_endpoint_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/vector_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/css_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/ds_asset_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/error_handling.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/html_safety.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/html_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/image_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/js_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/logging_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/pi_filter.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/slide_hash.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/spotlight.py +0 -0
- {databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/text_caps.py +0 -0
|
@@ -16,19 +16,22 @@ Accepts three identity sources, evaluated in priority order:
|
|
|
16
16
|
identity headers. The receiving app (tellr) trusts those headers
|
|
17
17
|
because the same proxy sets them, strips any caller-supplied versions,
|
|
18
18
|
and cannot be bypassed by external traffic. This path has no user
|
|
19
|
-
token, so
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
token, so the user-client ContextVar is left **unset**: agent tools
|
|
20
|
+
that resolve their client via ``get_user_client()`` fail closed rather
|
|
21
|
+
than silently running as tellr's service principal (SDR-4437 / F-CR-3).
|
|
22
|
+
Code that legitimately needs SP credentials on this path must call
|
|
23
|
+
``get_system_client()`` explicitly. Attribution (``created_by`` on
|
|
24
|
+
decks, etc.) remains the real user via ``user_name``.
|
|
22
25
|
|
|
23
26
|
The priority-3 path is gated on ``TELLR_TRUST_FORWARDED_IDENTITY=true``
|
|
24
27
|
so the behaviour is explicit at deploy time. Production Databricks Apps
|
|
25
28
|
deployments enable it; local dev does not.
|
|
26
29
|
|
|
27
30
|
The resolved identity is bound into the same request-scoped ContextVars
|
|
28
|
-
the browser flow uses (``set_current_user``, ``
|
|
29
|
-
``
|
|
30
|
-
permission service, MLflow, Google
|
|
31
|
-
without any MCP-specific plumbing.
|
|
31
|
+
the browser flow uses (``set_current_user``, ``set_permission_context``,
|
|
32
|
+
and — only when a user token is present — ``set_user_client``), so
|
|
33
|
+
downstream services (session manager, permission service, MLflow, Google
|
|
34
|
+
OAuth) see the caller's identity without any MCP-specific plumbing.
|
|
32
35
|
"""
|
|
33
36
|
|
|
34
37
|
from __future__ import annotations
|
|
@@ -43,7 +46,6 @@ from fastapi import Request
|
|
|
43
46
|
|
|
44
47
|
from src.core.databricks_client import (
|
|
45
48
|
get_or_create_user_client,
|
|
46
|
-
get_system_client,
|
|
47
49
|
set_user_client,
|
|
48
50
|
)
|
|
49
51
|
from src.core.permission_context import (
|
|
@@ -150,28 +152,24 @@ def extract_mcp_identity(request: Request) -> MCPIdentity:
|
|
|
150
152
|
def mcp_auth_scope(request: Request) -> Iterator[MCPIdentity]:
|
|
151
153
|
"""Authenticate an MCP request and bind identity ContextVars for the block.
|
|
152
154
|
|
|
153
|
-
On entry: resolves identity
|
|
154
|
-
|
|
155
|
+
On entry: resolves identity and binds ``current_user`` and
|
|
156
|
+
``permission_context``. The ``user_client`` ContextVar is bound only when
|
|
157
|
+
a real user token is present (priority 1/2); on the token-less priority-3
|
|
158
|
+
app-to-app path it is deliberately left unset.
|
|
155
159
|
|
|
156
160
|
On exit: clears all three ContextVars, even if the wrapped block raised.
|
|
157
161
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
Leaving ``user_client`` unset on priority 3 makes it true by construction
|
|
163
|
+
that agent tools (which resolve their client via ``get_user_client()``)
|
|
164
|
+
can never execute as tellr's service principal on the app-to-app path —
|
|
165
|
+
they fail closed with ``UserClientRequiredError`` in production
|
|
166
|
+
(SDR-4437 / F-CR-3). Code that legitimately needs SP credentials must call
|
|
167
|
+
``get_system_client()`` explicitly. Attribution (``created_by``) is
|
|
168
|
+
unaffected: it uses ``user_name`` from the forwarded identity headers,
|
|
169
|
+
which the proxy attests.
|
|
164
170
|
"""
|
|
165
171
|
identity = extract_mcp_identity(request)
|
|
166
172
|
|
|
167
|
-
if identity.token is not None:
|
|
168
|
-
user_client = get_or_create_user_client(identity.token)
|
|
169
|
-
else:
|
|
170
|
-
# Priority-3 path: no user token, so downstream Databricks API
|
|
171
|
-
# calls use tellr's service principal. Safe because the app-to-app
|
|
172
|
-
# model explicitly delegates credentialing to the receiving app.
|
|
173
|
-
user_client = get_system_client()
|
|
174
|
-
|
|
175
173
|
permission_ctx = build_permission_context(
|
|
176
174
|
user_id=identity.user_id,
|
|
177
175
|
user_name=identity.user_name,
|
|
@@ -179,9 +177,22 @@ def mcp_auth_scope(request: Request) -> Iterator[MCPIdentity]:
|
|
|
179
177
|
)
|
|
180
178
|
|
|
181
179
|
set_current_user(identity.user_name)
|
|
182
|
-
set_user_client(user_client)
|
|
183
180
|
set_permission_context(permission_ctx)
|
|
184
181
|
|
|
182
|
+
if identity.token is not None:
|
|
183
|
+
# Priority 1/2: a real user token is present. Bind the OBO client so
|
|
184
|
+
# downstream services (agent tools included) act as the user.
|
|
185
|
+
set_user_client(get_or_create_user_client(identity.token))
|
|
186
|
+
else:
|
|
187
|
+
# Priority-3 (app-to-app) path: no user token is available. Do NOT
|
|
188
|
+
# bind any client into the user-client ContextVar. Leaving it unset
|
|
189
|
+
# makes it true by construction that agent tools — which resolve their
|
|
190
|
+
# client via get_user_client() — can never run as the app service
|
|
191
|
+
# principal on this path: they fail closed with UserClientRequiredError
|
|
192
|
+
# in production (SDR-4437 / F-CR-3). Anything that legitimately needs
|
|
193
|
+
# the SP here must call get_system_client() explicitly.
|
|
194
|
+
set_user_client(None)
|
|
195
|
+
|
|
185
196
|
logger.debug(
|
|
186
197
|
"MCP auth scope entered",
|
|
187
198
|
extra={
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/databricks_tellr_app/run.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
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/_otel_bootstrap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/middleware/csrf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/_authz.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/admin.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/admin_usage.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/agent_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/chat.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/export.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/images.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/profiles.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/sessions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/setup.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/slides.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/tools.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/tour.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/verification.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/routes/version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/requests.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/schemas/streaming.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/services/job_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/utils/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/api/utils/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/config_loader.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/context_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/databricks_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/encryption.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/mlflow_agent_spans.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/mlflow_tracing.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/otel_logging.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/permission_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/prompt_modules.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/settings_db.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/core/user_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/__init__.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
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/image.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/database/models/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/domain/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/domain/slide_deck.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/agent_factory.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/config_service.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
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/drive_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/genie_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/html_to_pptx.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/image_service.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/image_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/tools/mcp_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/services/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/css_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/ds_asset_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/error_handling.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/html_safety.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/html_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/image_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/js_validator.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/logging_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/pi_filter.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/slide_hash.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/spotlight.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev14 → databricks_tellr_app-0.4.3.dev15}/src/utils/text_caps.py
RENAMED
|
File without changes
|