databricks-tellr-app 0.4.3.dev34__tar.gz → 0.4.3.dev36__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.dev34 → databricks_tellr_app-0.4.3.dev36}/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/pyproject.toml +1 -1
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/setup.py +22 -2
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/database.py +38 -12
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/README.md +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app/run.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app.egg-info/requires.txt +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/databricks_tellr_app.egg-info/top_level.txt +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/setup.cfg +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/setup.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/_otel_bootstrap.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/fixtures/tour_demo_deck.json +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/main.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/mcp_auth.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/mcp_server.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/csrf.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/request_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/security_headers.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/_authz.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/admin.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/admin_usage.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/chat.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/deck_contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/export.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/google_slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/images.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/local_version.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/profiles.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/sessions.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/deck_prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/design_systems.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/identities.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/settings/slide_styles.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/tour.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/verification.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/version.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/settings/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/settings/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/streaming.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/chat_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/export_job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/feedback_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/session_manager.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/session_naming.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/usage_events.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/usage_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/utils/validation.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/config_loader.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/context_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/databricks_client.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/encryption.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/init_default_profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/lakebase.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/migrate_profiles_to_agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/mlflow_agent_spans.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/mlflow_tracing.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/otel_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/permission_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/prompt_modules.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/settings_db.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/user_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/deck_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/design_system.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/encryption_key.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/genie_space.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/google_global_credentials.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/google_oauth_token.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/identity.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/image.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/profile_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/request_log.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/session.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/slide_deck_prompt.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/slide_style_library.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/usage_event.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/user_preference.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/types.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/domain/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/domain/slide.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/domain/slide_deck.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/agent.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/agent_factory.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/config_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/config_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/ast_guard.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/codeprep.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/gslides_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/jail.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/pptx_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/converter_jail/protocol.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/design_system_compiler.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/design_system_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/design_system_templates.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/drive_uploader.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/evaluation/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/evaluation/llm_judge.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/genie_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/google_slides_auth.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/google_slides_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/html_to_google_slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/html_to_pptx.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/identity_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/identity_providers/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/identity_providers/account_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/identity_providers/local_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/identity_providers/workspace_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/image_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/image_tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/permission_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/pptx_from_html_huashu.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/pptx_from_records.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/pptx_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/profile_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/streaming_callback.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/agent_bricks_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/ds_asset_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/genie_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/mcp_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/model_endpoint_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/vector_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/css_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/ds_asset_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/error_handling.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/html_safety.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/html_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/image_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/js_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/logging_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/pi_filter.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/slide_hash.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/spotlight.py +0 -0
- {databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/text_caps.py +0 -0
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/setup.py
RENAMED
|
@@ -6,6 +6,7 @@ Databricks workspace URL.
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
import logging
|
|
9
|
+
import os
|
|
9
10
|
import re
|
|
10
11
|
from typing import Optional
|
|
11
12
|
|
|
@@ -23,6 +24,25 @@ logger = logging.getLogger(__name__)
|
|
|
23
24
|
router = APIRouter(prefix="/api/setup", tags=["setup"])
|
|
24
25
|
|
|
25
26
|
|
|
27
|
+
def _is_already_configured() -> bool:
|
|
28
|
+
"""True once a workspace host is set via ~/.tellr/config.yaml or env."""
|
|
29
|
+
return is_tellr_configured() or bool(os.getenv("DATABRICKS_HOST"))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _refuse_reconfigure() -> None:
|
|
33
|
+
"""Block mutating setup once the app already has a workspace host.
|
|
34
|
+
|
|
35
|
+
On Databricks Apps, DATABRICKS_HOST is always set, so configure/test-connection
|
|
36
|
+
are unreachable. That is the intended production posture: these routes exist
|
|
37
|
+
only for a true first-run local install.
|
|
38
|
+
"""
|
|
39
|
+
if _is_already_configured():
|
|
40
|
+
raise HTTPException(
|
|
41
|
+
status_code=409,
|
|
42
|
+
detail="Workspace is already configured.",
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
|
|
26
46
|
class SetupStatusResponse(BaseModel):
|
|
27
47
|
"""Response for setup status check."""
|
|
28
48
|
configured: bool
|
|
@@ -79,8 +99,6 @@ async def get_setup_status():
|
|
|
79
99
|
Returns configured=True if ~/.tellr/config.yaml exists with a valid host,
|
|
80
100
|
or if DATABRICKS_HOST environment variable is set.
|
|
81
101
|
"""
|
|
82
|
-
import os
|
|
83
|
-
|
|
84
102
|
# Check tellr config file first
|
|
85
103
|
if is_tellr_configured():
|
|
86
104
|
config = get_tellr_config()
|
|
@@ -104,6 +122,7 @@ async def configure_workspace(request: ConfigureWorkspaceRequest):
|
|
|
104
122
|
authentication enabled. On the next API call that requires Databricks
|
|
105
123
|
access, the browser will open for SSO login.
|
|
106
124
|
"""
|
|
125
|
+
_refuse_reconfigure()
|
|
107
126
|
try:
|
|
108
127
|
# Save the configuration
|
|
109
128
|
save_tellr_config(host=request.host, auth_type="external-browser")
|
|
@@ -135,6 +154,7 @@ async def test_connection():
|
|
|
135
154
|
This will trigger the OAuth browser flow if using external-browser auth.
|
|
136
155
|
Returns user info on success.
|
|
137
156
|
"""
|
|
157
|
+
_refuse_reconfigure()
|
|
138
158
|
try:
|
|
139
159
|
from src.core.databricks_client import get_system_client
|
|
140
160
|
|
|
@@ -195,6 +195,20 @@ async def stop_token_refresh() -> None:
|
|
|
195
195
|
logger.info("Background token refresh task stopped")
|
|
196
196
|
|
|
197
197
|
|
|
198
|
+
def _with_psycopg2_driver(url: str) -> str:
|
|
199
|
+
"""Pin PostgreSQL URLs to psycopg2, matching the declared dependency.
|
|
200
|
+
|
|
201
|
+
SQLAlchemy 2.1 changed bare ``postgresql://`` to mean psycopg (v3). CI
|
|
202
|
+
installs ``sqlalchemy>=2.0`` via pip, so that default now imports a
|
|
203
|
+
package we do not ship (``psycopg2-binary`` is the driver). Explicit
|
|
204
|
+
``postgresql+psycopg2://`` keeps both 2.0 and 2.1 on the installed driver.
|
|
205
|
+
URLs that already name a driver, and non-Postgres URLs, are left alone.
|
|
206
|
+
"""
|
|
207
|
+
if url.startswith("postgresql://"):
|
|
208
|
+
return "postgresql+psycopg2://" + url[len("postgresql://") :]
|
|
209
|
+
return url
|
|
210
|
+
|
|
211
|
+
|
|
198
212
|
def _get_database_url() -> str:
|
|
199
213
|
"""
|
|
200
214
|
Determine database URL based on environment.
|
|
@@ -213,7 +227,7 @@ def _get_database_url() -> str:
|
|
|
213
227
|
# Check for explicit DATABASE_URL first
|
|
214
228
|
explicit_url = os.getenv("DATABASE_URL")
|
|
215
229
|
if explicit_url and not explicit_url.startswith("jdbc:"):
|
|
216
|
-
return explicit_url
|
|
230
|
+
return _with_psycopg2_driver(explicit_url)
|
|
217
231
|
|
|
218
232
|
# Check for autoscaling Lakebase (env vars set by deployment)
|
|
219
233
|
lakebase_type = _get_lakebase_type()
|
|
@@ -237,7 +251,7 @@ def _get_database_url() -> str:
|
|
|
237
251
|
url = f"postgresql://{pg_user}@{pg_host}:5432/{database}?sslmode=require"
|
|
238
252
|
if schema:
|
|
239
253
|
url += f"&options=-csearch_path%3D{schema}"
|
|
240
|
-
return url
|
|
254
|
+
return _with_psycopg2_driver(url)
|
|
241
255
|
|
|
242
256
|
# Check for provisioned Lakebase (PGHOST auto-set by Databricks Apps)
|
|
243
257
|
pg_host = os.getenv("PGHOST")
|
|
@@ -258,10 +272,10 @@ def _get_database_url() -> str:
|
|
|
258
272
|
if schema:
|
|
259
273
|
url += f"&options=-csearch_path%3D{schema}"
|
|
260
274
|
|
|
261
|
-
return url
|
|
275
|
+
return _with_psycopg2_driver(url)
|
|
262
276
|
|
|
263
277
|
# Default to local PostgreSQL for development
|
|
264
|
-
return "postgresql://localhost/ai_slide_generator"
|
|
278
|
+
return _with_psycopg2_driver("postgresql://localhost/ai_slide_generator")
|
|
265
279
|
|
|
266
280
|
|
|
267
281
|
def _create_engine():
|
|
@@ -291,14 +305,26 @@ def _create_engine():
|
|
|
291
305
|
|
|
292
306
|
logger.info("Configuring database connection")
|
|
293
307
|
|
|
294
|
-
#
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
308
|
+
# sqlite:///:memory: with the default QueuePool gives each checkout a
|
|
309
|
+
# different empty database. Unit tests use an in-memory URL; StaticPool
|
|
310
|
+
# keeps one shared connection. Postgres keeps the production pool settings.
|
|
311
|
+
if database_url.startswith("sqlite"):
|
|
312
|
+
from sqlalchemy.pool import StaticPool
|
|
313
|
+
|
|
314
|
+
engine = create_engine(
|
|
315
|
+
database_url,
|
|
316
|
+
connect_args={"check_same_thread": False},
|
|
317
|
+
poolclass=StaticPool,
|
|
318
|
+
echo=sql_echo,
|
|
319
|
+
)
|
|
320
|
+
else:
|
|
321
|
+
engine = create_engine(
|
|
322
|
+
database_url,
|
|
323
|
+
pool_pre_ping=True,
|
|
324
|
+
pool_size=80,
|
|
325
|
+
max_overflow=20,
|
|
326
|
+
echo=sql_echo,
|
|
327
|
+
)
|
|
302
328
|
|
|
303
329
|
# For Lakebase: register event listener to inject fresh tokens
|
|
304
330
|
if is_lakebase_environment():
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/_otel_bootstrap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/middleware/csrf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/_authz.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/admin.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/admin_usage.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/agent_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/chat.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/export.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/images.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/profiles.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/slides.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/tools.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/tour.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/verification.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/routes/version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/requests.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/schemas/streaming.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/utils/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/api/utils/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/config_loader.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/context_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/databricks_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/encryption.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/mlflow_agent_spans.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/mlflow_tracing.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/otel_logging.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/permission_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/prompt_modules.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/settings_db.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/core/user_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/image.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/database/models/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/domain/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/domain/slide_deck.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/agent_factory.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/drive_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/genie_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/image_service.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/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.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/tools/mcp_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/services/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/css_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/ds_asset_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/error_handling.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/html_safety.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/html_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/image_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/js_validator.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/logging_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/pi_filter.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/slide_hash.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/spotlight.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev34 → databricks_tellr_app-0.4.3.dev36}/src/utils/text_caps.py
RENAMED
|
File without changes
|