databricks-tellr-app 0.4.3.dev4__tar.gz → 0.4.3.dev6__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.dev4 → databricks_tellr_app-0.4.3.dev6}/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/pyproject.toml +1 -1
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/main.py +2 -4
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/google_slides.py +47 -94
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/sessions.py +3 -83
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/README.md +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app/run.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app.egg-info/requires.txt +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app.egg-info/top_level.txt +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/setup.cfg +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/setup.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/_otel_bootstrap.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/fixtures/tour_demo_deck.json +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/mcp_auth.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/mcp_server.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/csrf.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/request_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/security_headers.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/_authz.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/admin.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/admin_usage.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/chat.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/deck_contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/export.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/images.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/local_version.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/profiles.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/contributors.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/deck_prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/design_systems.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/identities.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/settings/slide_styles.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/setup.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/tour.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/verification.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/version.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/settings/requests.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/settings/responses.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/streaming.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/chat_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/export_job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/feedback_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/job_queue.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/session_manager.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/session_naming.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/usage_events.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/usage_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/utils/validation.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/config_loader.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/context_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/database.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/databricks_client.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/encryption.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/init_default_profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/lakebase.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/migrate_profiles_to_agent_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/mlflow_agent_spans.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/mlflow_tracing.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/otel_logging.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/permission_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/prompt_modules.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/settings_db.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/user_context.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/deck_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/design_system.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/encryption_key.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/feedback.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/genie_space.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/google_global_credentials.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/google_oauth_token.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/identity.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/image.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/profile.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/profile_contributor.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/prompts.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/request_log.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/session.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/slide_deck_prompt.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/slide_style_library.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/usage_event.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/user_preference.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/types.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/domain/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/domain/slide.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/domain/slide_deck.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/agent.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/agent_factory.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/config_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/config_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/ast_guard.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/codeprep.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/gslides_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/jail.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/pptx_runner.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/converter_jail/protocol.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/design_system_compiler.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/design_system_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/design_system_templates.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/drive_uploader.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/evaluation/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/evaluation/llm_judge.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/genie_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/google_slides_auth.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/google_slides_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/html_to_google_slides.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/html_to_pptx.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/identity_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/identity_providers/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/identity_providers/account_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/identity_providers/local_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/identity_providers/workspace_provider.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/image_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/image_tools.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/permission_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/pptx_from_html_huashu.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/pptx_from_records.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/pptx_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/profile_service.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/streaming_callback.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/agent_bricks_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/ds_asset_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/genie_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/mcp_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/model_endpoint_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/vector_tool.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/css_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/ds_asset_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/error_handling.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/html_safety.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/html_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/image_utils.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/js_validator.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/logging_config.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/pi_filter.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/slide_hash.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/spotlight.py +0 -0
- {databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/text_caps.py +0 -0
|
@@ -337,14 +337,12 @@ async def user_auth_middleware(request: Request, call_next):
|
|
|
337
337
|
user_name = None
|
|
338
338
|
|
|
339
339
|
if token:
|
|
340
|
-
# Diagnostic logging:
|
|
341
|
-
|
|
340
|
+
# Diagnostic logging: flag SP-vs-user tokens. F-CR-9 (SDR-4437): never log
|
|
341
|
+
# any part of the bearer token (no prefix, no length) — only derived booleans.
|
|
342
342
|
is_sp_token = client_id and token.startswith(client_id)
|
|
343
343
|
logger.debug(
|
|
344
344
|
"OBO auth: extracted token from header",
|
|
345
345
|
extra={
|
|
346
|
-
"token_prefix": token_prefix,
|
|
347
|
-
"token_length": len(token),
|
|
348
346
|
"is_service_principal": is_sp_token,
|
|
349
347
|
"header_present": True,
|
|
350
348
|
},
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/google_slides.py
RENAMED
|
@@ -10,10 +10,9 @@ user tokens are stored per-user in the ``google_oauth_tokens`` table.
|
|
|
10
10
|
import json
|
|
11
11
|
import logging
|
|
12
12
|
import os
|
|
13
|
-
import secrets
|
|
14
13
|
from typing import Any, Optional
|
|
15
14
|
|
|
16
|
-
from fastapi import APIRouter, Depends, HTTPException, Query, Request
|
|
15
|
+
from fastapi import APIRouter, Depends, HTTPException, Query, Request
|
|
17
16
|
from fastapi.responses import HTMLResponse
|
|
18
17
|
from pydantic import BaseModel
|
|
19
18
|
from sqlalchemy.orm import Session
|
|
@@ -34,12 +33,6 @@ logger = logging.getLogger(__name__)
|
|
|
34
33
|
|
|
35
34
|
router = APIRouter(prefix="/api/export/google-slides", tags=["google-slides"])
|
|
36
35
|
|
|
37
|
-
# F-CR-3 (SDR-4437): the OAuth "state" carries an unguessable nonce that is also
|
|
38
|
-
# stored in this short-lived cookie; the callback requires them to match before
|
|
39
|
-
# exchanging the authorization code (anti-CSRF / anti-login-CSRF double-submit).
|
|
40
|
-
_OAUTH_STATE_COOKIE = "g_oauth_state"
|
|
41
|
-
_OAUTH_COOKIE_PATH = "/api/export/google-slides"
|
|
42
|
-
|
|
43
36
|
|
|
44
37
|
# -------------------------------------------------------------------------
|
|
45
38
|
# Helpers
|
|
@@ -105,76 +98,32 @@ class AuthUrlResponse(BaseModel):
|
|
|
105
98
|
# -------------------------------------------------------------------------
|
|
106
99
|
|
|
107
100
|
|
|
108
|
-
def
|
|
109
|
-
"""
|
|
101
|
+
def _build_redirect_uri(request: Request) -> str:
|
|
102
|
+
"""Build the OAuth callback redirect URI from the current request.
|
|
103
|
+
|
|
104
|
+
Google requires redirect URIs to match *exactly* what's registered in GCP,
|
|
105
|
+
with no query parameters.
|
|
110
106
|
|
|
111
107
|
Behind a reverse proxy (e.g. Databricks Apps), ``request.base_url``
|
|
112
108
|
returns the internal address (``http://localhost:8000``). We use the
|
|
113
109
|
``X-Forwarded-Host`` / ``X-Forwarded-Proto`` headers set by the proxy
|
|
114
|
-
to reconstruct the public URL instead.
|
|
110
|
+
to reconstruct the public URL instead.
|
|
111
|
+
|
|
112
|
+
For localhost, Google only allows ``http``.
|
|
115
113
|
"""
|
|
116
114
|
forwarded_host = request.headers.get("x-forwarded-host")
|
|
117
115
|
forwarded_proto = request.headers.get("x-forwarded-proto")
|
|
118
116
|
|
|
119
117
|
if forwarded_host:
|
|
120
118
|
scheme = forwarded_proto or "https"
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
base = str(request.base_url).rstrip("/")
|
|
124
|
-
if "://localhost" in base or "://127.0.0.1" in base:
|
|
125
|
-
base = base.replace("https://", "http://")
|
|
126
|
-
return base
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
def _build_redirect_uri(request: Request) -> str:
|
|
130
|
-
"""Build the OAuth callback redirect URI from the current request.
|
|
131
|
-
|
|
132
|
-
Google requires redirect URIs to match *exactly* what's registered in GCP,
|
|
133
|
-
with no query parameters.
|
|
134
|
-
"""
|
|
135
|
-
return f"{_build_app_origin(request)}/api/export/google-slides/auth/callback"
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
# Callback page template. The JS object braces are intentionally literal; the
|
|
139
|
-
# %TOKENS% are substituted below so the postMessage targets the explicit app
|
|
140
|
-
# origin (F-CR-3) instead of the wildcard '*'.
|
|
141
|
-
_CALLBACK_TEMPLATE = """
|
|
142
|
-
<html><body>
|
|
143
|
-
<h2>%TITLE%</h2>
|
|
144
|
-
<p>%MESSAGE%</p>
|
|
145
|
-
<script>
|
|
146
|
-
if (window.opener) {
|
|
147
|
-
window.opener.postMessage({ type: 'google-slides-auth', success: %SUCCESS% }, %ORIGIN%);
|
|
148
|
-
}
|
|
149
|
-
setTimeout(() => window.close(), %DELAY%);
|
|
150
|
-
</script>
|
|
151
|
-
</body></html>
|
|
152
|
-
"""
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
def _callback_response(app_origin: str, *, success: bool) -> HTMLResponse:
|
|
156
|
-
"""Render the popup callback page and clear the anti-CSRF state cookie.
|
|
157
|
-
|
|
158
|
-
``postMessage`` targets ``app_origin`` explicitly (F-CR-3); ``json.dumps``
|
|
159
|
-
yields a safely-quoted JS string literal for the origin.
|
|
160
|
-
"""
|
|
161
|
-
if success:
|
|
162
|
-
title, message, delay = "Authorization Successful", "You can close this window.", "1500"
|
|
119
|
+
base = f"{scheme}://{forwarded_host.split(',')[0].strip()}"
|
|
163
120
|
else:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
.replace("%MESSAGE%", message)
|
|
171
|
-
.replace("%SUCCESS%", "true" if success else "false")
|
|
172
|
-
.replace("%ORIGIN%", json.dumps(app_origin))
|
|
173
|
-
.replace("%DELAY%", delay)
|
|
174
|
-
)
|
|
175
|
-
resp = HTMLResponse(content=body, status_code=200)
|
|
176
|
-
resp.delete_cookie(_OAUTH_STATE_COOKIE, path=_OAUTH_COOKIE_PATH)
|
|
177
|
-
return resp
|
|
121
|
+
base = str(request.base_url).rstrip("/")
|
|
122
|
+
# Force http for localhost (Google rejects https://localhost)
|
|
123
|
+
if "://localhost" in base or "://127.0.0.1" in base:
|
|
124
|
+
base = base.replace("https://", "http://")
|
|
125
|
+
|
|
126
|
+
return f"{base}/api/export/google-slides/auth/callback"
|
|
178
127
|
|
|
179
128
|
|
|
180
129
|
@router.get("/auth/status", response_model=AuthStatusResponse)
|
|
@@ -192,7 +141,6 @@ async def auth_status(db: Session = Depends(get_db)):
|
|
|
192
141
|
@router.get("/auth/url", response_model=AuthUrlResponse)
|
|
193
142
|
async def auth_url(
|
|
194
143
|
request: Request,
|
|
195
|
-
response: Response,
|
|
196
144
|
db: Session = Depends(get_db),
|
|
197
145
|
):
|
|
198
146
|
"""Generate the Google OAuth consent URL.
|
|
@@ -201,26 +149,13 @@ async def auth_url(
|
|
|
201
149
|
passed via the OAuth ``state`` parameter so the callback can persist the
|
|
202
150
|
token for the correct user — the redirect URI itself stays clean
|
|
203
151
|
(no query params) to satisfy Google's exact-match requirement.
|
|
204
|
-
|
|
205
|
-
F-CR-3: an unguessable nonce is bound into both the ``state`` and a
|
|
206
|
-
short-lived cookie; the callback requires them to match.
|
|
207
152
|
"""
|
|
208
153
|
try:
|
|
209
154
|
auth = _get_auth(db)
|
|
210
155
|
redirect_uri = _build_redirect_uri(request)
|
|
211
|
-
|
|
212
|
-
state = json.dumps({"user": _get_user_identity(), "nonce": nonce})
|
|
156
|
+
state = json.dumps({"user": _get_user_identity()})
|
|
213
157
|
url = auth.get_auth_url(redirect_uri=redirect_uri, state=state)
|
|
214
158
|
|
|
215
|
-
response.set_cookie(
|
|
216
|
-
key=_OAUTH_STATE_COOKIE,
|
|
217
|
-
value=nonce,
|
|
218
|
-
max_age=600,
|
|
219
|
-
httponly=True,
|
|
220
|
-
secure=True,
|
|
221
|
-
samesite="lax", # sent on Google's top-level redirect back to us
|
|
222
|
-
path=_OAUTH_COOKIE_PATH,
|
|
223
|
-
)
|
|
224
159
|
return AuthUrlResponse(url=url)
|
|
225
160
|
except GoogleSlidesAuthError as exc:
|
|
226
161
|
raise HTTPException(status_code=400, detail=str(exc)) from exc
|
|
@@ -249,22 +184,12 @@ async def auth_callback(
|
|
|
249
184
|
them in the ``google_oauth_tokens`` table. Returns a small HTML page
|
|
250
185
|
that notifies the opener window and closes itself.
|
|
251
186
|
"""
|
|
252
|
-
app_origin = _build_app_origin(request)
|
|
253
|
-
cookie_nonce = request.cookies.get(_OAUTH_STATE_COOKIE)
|
|
254
187
|
try:
|
|
255
188
|
state_data = json.loads(state) if state else {}
|
|
256
189
|
user = state_data.get("user")
|
|
257
190
|
if not user:
|
|
258
191
|
raise ValueError("Missing user in OAuth state")
|
|
259
192
|
|
|
260
|
-
# F-CR-3: verify the anti-CSRF nonce BEFORE exchanging the code. The
|
|
261
|
-
# state nonce must match the cookie set when the auth URL was issued.
|
|
262
|
-
state_nonce = state_data.get("nonce")
|
|
263
|
-
if not cookie_nonce or not state_nonce or not secrets.compare_digest(
|
|
264
|
-
str(cookie_nonce), str(state_nonce)
|
|
265
|
-
):
|
|
266
|
-
raise ValueError("OAuth state nonce mismatch")
|
|
267
|
-
|
|
268
193
|
auth = _get_auth(db)
|
|
269
194
|
redirect_uri = _build_redirect_uri(request)
|
|
270
195
|
code_verifier = state_data.get("code_verifier")
|
|
@@ -277,9 +202,37 @@ async def auth_callback(
|
|
|
277
202
|
# F-CR-2 (SDR-4437): never reflect the raw exception into the HTML page —
|
|
278
203
|
# it is logged server-side above. Show a static, generic failure message.
|
|
279
204
|
logger.error("OAuth callback failed", exc_info=True)
|
|
280
|
-
return
|
|
205
|
+
return HTMLResponse(
|
|
206
|
+
content="""
|
|
207
|
+
<html><body>
|
|
208
|
+
<h2>Authorization Failed</h2>
|
|
209
|
+
<p>Authorization could not be completed. Please close this window and try again.</p>
|
|
210
|
+
<script>
|
|
211
|
+
if (window.opener) {
|
|
212
|
+
window.opener.postMessage({ type: 'google-slides-auth', success: false }, '*');
|
|
213
|
+
}
|
|
214
|
+
setTimeout(() => window.close(), 3000);
|
|
215
|
+
</script>
|
|
216
|
+
</body></html>
|
|
217
|
+
""",
|
|
218
|
+
status_code=200,
|
|
219
|
+
)
|
|
281
220
|
|
|
282
|
-
return
|
|
221
|
+
return HTMLResponse(
|
|
222
|
+
content="""
|
|
223
|
+
<html><body>
|
|
224
|
+
<h2>Authorization Successful</h2>
|
|
225
|
+
<p>You can close this window.</p>
|
|
226
|
+
<script>
|
|
227
|
+
if (window.opener) {
|
|
228
|
+
window.opener.postMessage({ type: 'google-slides-auth', success: true }, '*');
|
|
229
|
+
}
|
|
230
|
+
setTimeout(() => window.close(), 1500);
|
|
231
|
+
</script>
|
|
232
|
+
</body></html>
|
|
233
|
+
""",
|
|
234
|
+
status_code=200,
|
|
235
|
+
)
|
|
283
236
|
|
|
284
237
|
|
|
285
238
|
# -------------------------------------------------------------------------
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/sessions.py
RENAMED
|
@@ -9,10 +9,7 @@ Session access is controlled by:
|
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
import asyncio
|
|
12
|
-
import json
|
|
13
12
|
import logging
|
|
14
|
-
from datetime import datetime
|
|
15
|
-
from pathlib import Path
|
|
16
13
|
from typing import Optional
|
|
17
14
|
|
|
18
15
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
|
@@ -769,86 +766,9 @@ async def cleanup_expired_sessions():
|
|
|
769
766
|
) from e
|
|
770
767
|
|
|
771
768
|
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
Exports:
|
|
777
|
-
- Session info (id, timestamps, profile)
|
|
778
|
-
- All chat messages (user + AI responses with full content)
|
|
779
|
-
- Full slide deck (HTML, scripts, slide count)
|
|
780
|
-
|
|
781
|
-
Args:
|
|
782
|
-
session_id: Session to export
|
|
783
|
-
|
|
784
|
-
Returns:
|
|
785
|
-
Export confirmation with file path
|
|
786
|
-
"""
|
|
787
|
-
try:
|
|
788
|
-
# Permission check: require CAN_VIEW on the deck
|
|
789
|
-
await asyncio.to_thread(
|
|
790
|
-
_check_deck_permission_for_session, session_id, PermissionLevel.CAN_VIEW
|
|
791
|
-
)
|
|
792
|
-
|
|
793
|
-
session_manager = get_session_manager()
|
|
794
|
-
|
|
795
|
-
# Get all session data
|
|
796
|
-
session = await asyncio.to_thread(session_manager.get_session, session_id)
|
|
797
|
-
messages = await asyncio.to_thread(session_manager.get_messages, session_id)
|
|
798
|
-
slide_deck = await asyncio.to_thread(session_manager.get_slide_deck, session_id)
|
|
799
|
-
|
|
800
|
-
# Build export data
|
|
801
|
-
export_data = {
|
|
802
|
-
"exported_at": datetime.utcnow().isoformat(),
|
|
803
|
-
"session": session,
|
|
804
|
-
"messages": messages,
|
|
805
|
-
"slide_deck": slide_deck,
|
|
806
|
-
"summary": {
|
|
807
|
-
"message_count": len(messages),
|
|
808
|
-
"slide_count": slide_deck.get("slide_count", 0) if slide_deck else 0,
|
|
809
|
-
"user_messages": sum(1 for m in messages if m.get("role") == "user"),
|
|
810
|
-
"ai_messages": sum(1 for m in messages if m.get("role") == "assistant"),
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
# Ensure logs/sessions directory exists
|
|
815
|
-
sessions_dir = Path("logs/sessions")
|
|
816
|
-
sessions_dir.mkdir(parents=True, exist_ok=True)
|
|
817
|
-
|
|
818
|
-
# Write to file
|
|
819
|
-
export_path = sessions_dir / f"{session_id}.json"
|
|
820
|
-
with open(export_path, "w", encoding="utf-8") as f:
|
|
821
|
-
json.dump(export_data, f, indent=2, default=str)
|
|
822
|
-
|
|
823
|
-
logger.info(
|
|
824
|
-
"Session exported",
|
|
825
|
-
extra={
|
|
826
|
-
"session_id": session_id,
|
|
827
|
-
"export_path": str(export_path),
|
|
828
|
-
"message_count": len(messages),
|
|
829
|
-
},
|
|
830
|
-
)
|
|
831
|
-
|
|
832
|
-
return {
|
|
833
|
-
"status": "exported",
|
|
834
|
-
"session_id": session_id,
|
|
835
|
-
"export_path": str(export_path),
|
|
836
|
-
"summary": export_data["summary"],
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
except SessionNotFoundError:
|
|
840
|
-
raise HTTPException(
|
|
841
|
-
status_code=404,
|
|
842
|
-
detail=f"Session not found: {session_id}",
|
|
843
|
-
)
|
|
844
|
-
except HTTPException:
|
|
845
|
-
raise
|
|
846
|
-
except Exception as e:
|
|
847
|
-
logger.error(f"Failed to export session: {e}", exc_info=True)
|
|
848
|
-
raise HTTPException(
|
|
849
|
-
status_code=500,
|
|
850
|
-
detail="Export failed",
|
|
851
|
-
) from e
|
|
769
|
+
# F-CR-10 (SDR-4437): the debug-only POST /{session_id}/export endpoint was
|
|
770
|
+
# removed — it was unused by the frontend and dumped full session data (all chat
|
|
771
|
+
# messages + deck) to logs/sessions/{id}.json.
|
|
852
772
|
|
|
853
773
|
|
|
854
774
|
# =========================================================================
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/databricks_tellr_app/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/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.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/_otel_bootstrap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/middleware/csrf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/_authz.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/admin_usage.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/agent_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/export.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/images.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/local_version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/profiles.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
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/slides.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/verification.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/routes/version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/agent_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/requests.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/schemas/streaming.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/chat_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/job_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/services/usage_events.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/utils/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/api/utils/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/config_loader.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/context_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/databricks_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/init_default_profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/mlflow_agent_spans.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/mlflow_tracing.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/otel_logging.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/permission_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/prompt_modules.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/core/user_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/identity.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/image.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/database/models/session.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
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/domain/slide_deck.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/agent_factory.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/config_service.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/config_validator.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
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/drive_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/genie_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/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.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/image_service.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/image_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/profile_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/genie_tool.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/tools/mcp_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/services/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/ds_asset_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/error_handling.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/html_safety.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/image_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/js_validator.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.3.dev4 → databricks_tellr_app-0.4.3.dev6}/src/utils/logging_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|