databricks-tellr-app 0.4.2.dev9__tar.gz → 0.4.2.dev10__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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/pyproject.toml +1 -1
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/design_system_service.py +104 -10
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/design_system_templates.py +21 -3
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/README.md +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app/run.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app.egg-info/requires.txt +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/databricks_tellr_app.egg-info/top_level.txt +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/setup.cfg +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/setup.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/_otel_bootstrap.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/fixtures/tour_demo_deck.json +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/main.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/mcp_auth.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/mcp_server.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/csrf.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/request_logging.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/security_headers.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/_authz.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/admin.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/admin_usage.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/agent_config.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/chat.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/deck_contributors.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/export.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/feedback.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/google_slides.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/images.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/local_version.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/profiles.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/sessions.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/contributors.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/deck_prompts.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/design_systems.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/identities.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/settings/slide_styles.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/setup.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/slides.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/tools.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/tour.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/verification.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/version.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/agent_config.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/feedback.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/requests.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/responses.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/settings/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/settings/requests.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/settings/responses.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/streaming.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/chat_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/export_job_queue.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/feedback_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/job_queue.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/session_manager.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/session_naming.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/usage_events.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/usage_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/utils/validation.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/config_loader.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/context_utils.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/database.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/databricks_client.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/defaults.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/encryption.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/init_default_profile.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/lakebase.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/migrate_profiles_to_agent_config.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/mlflow_agent_spans.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/mlflow_tracing.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/otel_logging.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/permission_context.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/prompt_modules.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/settings_db.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/user_context.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/deck_contributor.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/design_system.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/encryption_key.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/feedback.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/genie_space.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/google_global_credentials.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/google_oauth_token.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/identity.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/image.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/profile.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/profile_contributor.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/prompts.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/request_log.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/session.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/slide_deck_prompt.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/slide_style_library.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/usage_event.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/user_preference.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/types.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/domain/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/domain/slide.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/domain/slide_deck.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/agent.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/agent_factory.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/config_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/config_validator.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/ast_guard.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/codeprep.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/gslides_runner.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/jail.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/pptx_runner.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/converter_jail/protocol.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/design_system_compiler.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/drive_uploader.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/evaluation/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/evaluation/llm_judge.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/genie_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/google_slides_auth.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/google_slides_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/html_to_google_slides.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/html_to_pptx.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/identity_provider.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/identity_providers/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/identity_providers/account_provider.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/identity_providers/local_provider.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/identity_providers/workspace_provider.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/image_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/image_tools.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/permission_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/pptx_from_html_huashu.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/pptx_from_records.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/pptx_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/profile_service.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/streaming_callback.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/agent_bricks_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/ds_asset_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/genie_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/mcp_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/model_endpoint_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/vector_tool.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/validator.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/__init__.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/css_utils.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/ds_asset_utils.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/error_handling.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/html_safety.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/html_utils.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/image_utils.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/js_validator.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/logging_config.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/pi_filter.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/slide_hash.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/spotlight.py +0 -0
- {databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/text_caps.py +0 -0
|
@@ -11,9 +11,13 @@ Lakebase rows:
|
|
|
11
11
|
custom properties are parsed as an ADDITIONAL token source.
|
|
12
12
|
- ``fonts/**`` and ``assets/**`` — binary files stored as ``design_system_asset``
|
|
13
13
|
rows (bytes in-DB, following the ``image_assets`` pattern). ``preview*`` files
|
|
14
|
-
under ``assets/`` are reference-only and skipped; a template folder's
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
under ``assets/`` are reference-only and skipped; a template folder's screenshot
|
|
15
|
+
IS stored (kind ``template_shot``, v1 Phase 4) so the template picker can serve
|
|
16
|
+
thumbnails. Both shipped shapes count: ``templates/<folder>/preview.<ext>`` and
|
|
17
|
+
the DOT-PREFIXED, EXTENSION-LESS ``templates/<folder>/.thumbnail`` a real export
|
|
18
|
+
writes — the latter is allowlisted past the general dotfile skip and has its
|
|
19
|
+
media type SNIFFED from its magic bytes (unknown content is refused, never
|
|
20
|
+
stored under a guessed type).
|
|
17
21
|
|
|
18
22
|
v1 Phase 1 ("import foundation") extends the importer WITHOUT changing the
|
|
19
23
|
generation seam:
|
|
@@ -280,17 +284,76 @@ _TEMPLATE_PREVIEW_RE = re.compile(
|
|
|
280
284
|
r"^templates/[^/]+/preview[^/]*\.(png|jpe?g|gif|webp)$", re.IGNORECASE
|
|
281
285
|
)
|
|
282
286
|
|
|
287
|
+
# The SAME screenshot as it actually ships in a real export: DOT-PREFIXED, named
|
|
288
|
+
# ``thumbnail`` rather than ``preview``, and carrying NO file extension —
|
|
289
|
+
# ``templates/<folder>/.thumbnail``. Every one of those was discarded, so a real
|
|
290
|
+
# bundle imported with no thumbnail at all and a NULL ``thumbnail_url``.
|
|
291
|
+
#
|
|
292
|
+
# Deliberately the NARROWEST path shape that describes them: exactly one folder
|
|
293
|
+
# segment under ``templates/``, an optional single leading dot, one of the two
|
|
294
|
+
# known basenames, and NOTHING else — no extension, no suffix. It is this
|
|
295
|
+
# tightness that makes it safe for :func:`_iter_safe_entries` to exempt a match
|
|
296
|
+
# from the general dotfile skip; a dotfile anywhere else stays skipped. Because
|
|
297
|
+
# a match carries no extension, its media type is NOT guessable from the name and
|
|
298
|
+
# is sniffed from the content instead (:func:`_sniff_raster_mime`).
|
|
299
|
+
_TEMPLATE_THUMBNAIL_RE = re.compile(
|
|
300
|
+
r"^templates/[^/]+/\.?(thumbnail|preview)$", re.IGNORECASE
|
|
301
|
+
)
|
|
302
|
+
|
|
303
|
+
# Magic-byte signatures for the raster formats a template thumbnail may be. An
|
|
304
|
+
# extension-less file is stored ONLY if its bytes match one of these; unknown
|
|
305
|
+
# content is refused rather than persisted under a guessed content type. SVG is
|
|
306
|
+
# absent on purpose (it can carry inline script and has no magic number).
|
|
307
|
+
_PNG_MAGIC = b"\x89PNG\r\n\x1a\n"
|
|
308
|
+
_JPEG_MAGIC = b"\xff\xd8\xff"
|
|
309
|
+
_GIF_MAGICS = (b"GIF87a", b"GIF89a")
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
def _sniff_raster_mime(data: bytes) -> Optional[str]:
|
|
313
|
+
"""MIME type from an image's MAGIC BYTES, or ``None`` if not a known raster.
|
|
314
|
+
|
|
315
|
+
Content-based detection for files whose name carries no extension. WebP is a
|
|
316
|
+
RIFF container, so ``RIFF`` alone is not enough — the form type at bytes 8:12
|
|
317
|
+
must spell ``WEBP``, otherwise a RIFF/WAVE file would be stored as an image.
|
|
318
|
+
"""
|
|
319
|
+
if data.startswith(_PNG_MAGIC):
|
|
320
|
+
return "image/png"
|
|
321
|
+
if data.startswith(_JPEG_MAGIC):
|
|
322
|
+
return "image/jpeg"
|
|
323
|
+
if data.startswith(_GIF_MAGICS):
|
|
324
|
+
return "image/gif"
|
|
325
|
+
if data[:4] == b"RIFF" and data[8:12] == b"WEBP":
|
|
326
|
+
return "image/webp"
|
|
327
|
+
return None
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
def _is_template_thumbnail(rel_path: str) -> bool:
|
|
331
|
+
"""True for an EXTENSION-LESS template screenshot (``templates/x/.thumbnail``).
|
|
332
|
+
|
|
333
|
+
Distinguished from :func:`_is_template_preview` because the absence of an
|
|
334
|
+
extension is what forces content sniffing.
|
|
335
|
+
"""
|
|
336
|
+
return bool(_TEMPLATE_THUMBNAIL_RE.match(rel_path.lower()))
|
|
337
|
+
|
|
283
338
|
|
|
284
339
|
def _is_template_preview(rel_path: str) -> bool:
|
|
285
|
-
|
|
340
|
+
"""True for a template folder's screenshot in EITHER shipped shape."""
|
|
341
|
+
low = rel_path.lower()
|
|
342
|
+
return bool(_TEMPLATE_PREVIEW_RE.match(low)) or bool(
|
|
343
|
+
_TEMPLATE_THUMBNAIL_RE.match(low)
|
|
344
|
+
)
|
|
286
345
|
|
|
287
346
|
|
|
288
347
|
def _should_skip(rel_path: str) -> bool:
|
|
289
348
|
"""Only ``assets/**`` and ``fonts/**`` files are stored; skip everything else.
|
|
290
349
|
|
|
291
350
|
Directories, OS junk, dotfiles, template screenshots and ``preview*`` files
|
|
292
|
-
(reference-only material) are excluded. Template-folder
|
|
293
|
-
|
|
351
|
+
(reference-only material) are excluded. Template-folder screenshots are the
|
|
352
|
+
exception — the caller checks :func:`_is_template_preview` first.
|
|
353
|
+
|
|
354
|
+
NOTE: this is not the FIRST gate an entry passes. ``_iter_safe_entries`` runs
|
|
355
|
+
upstream and applies its own dotfile skip, so a dot-prefixed screenshot has to
|
|
356
|
+
be allowlisted THERE as well or it never reaches this function at all.
|
|
294
357
|
"""
|
|
295
358
|
low = rel_path.lower()
|
|
296
359
|
base = _basename(low)
|
|
@@ -990,6 +1053,17 @@ def _iter_safe_entries(zf: zipfile.ZipFile, root_prefix: str):
|
|
|
990
1053
|
Skips directories, OS junk (``__MACOSX``, ``.DS_Store``) and dotfiles. Raises
|
|
991
1054
|
:class:`DesignSystemImportError` on a zip-slip path (absolute or ``..``) so a
|
|
992
1055
|
malicious bundle is rejected rather than silently stored.
|
|
1056
|
+
|
|
1057
|
+
This is the ACTUAL first gate every entry passes, so the ONE dot-prefixed shape
|
|
1058
|
+
the importer stores — a template folder's ``.thumbnail`` screenshot
|
|
1059
|
+
(:func:`_is_template_preview`) — is allowlisted HERE too. Without that a fix to
|
|
1060
|
+
the recognizer alone reads as working in a unit test and still drops every real
|
|
1061
|
+
thumbnail, because the entry never reaches the recognizer.
|
|
1062
|
+
|
|
1063
|
+
The zip-slip check runs BEFORE the dotfile decision, so normalization and
|
|
1064
|
+
rejection are never skippable by a dot-prefixed name, and the allowlist is
|
|
1065
|
+
tested against the NORMALIZED path — the same string the recognizer sees
|
|
1066
|
+
downstream, so the gate and the recognizer cannot disagree.
|
|
993
1067
|
"""
|
|
994
1068
|
for info in zf.infolist():
|
|
995
1069
|
name = info.filename
|
|
@@ -1001,15 +1075,17 @@ def _iter_safe_entries(zf: zipfile.ZipFile, root_prefix: str):
|
|
|
1001
1075
|
low = rel_raw.lower()
|
|
1002
1076
|
if low.startswith("__macosx/") or "/__macosx/" in low:
|
|
1003
1077
|
continue
|
|
1004
|
-
base = _basename(low)
|
|
1005
|
-
if base == ".ds_store" or base.startswith("."):
|
|
1006
|
-
continue
|
|
1007
1078
|
safe = _safe_relpath(rel_raw)
|
|
1008
1079
|
if safe is None:
|
|
1009
1080
|
raise DesignSystemImportError(
|
|
1010
1081
|
f"Bundle contains an unsafe path '{rel_raw}' (absolute path or "
|
|
1011
1082
|
"parent-directory traversal); refusing to import."
|
|
1012
1083
|
)
|
|
1084
|
+
base = _basename(safe.lower())
|
|
1085
|
+
if (base == ".ds_store" or base.startswith(".")) and not _is_template_preview(
|
|
1086
|
+
safe
|
|
1087
|
+
):
|
|
1088
|
+
continue
|
|
1013
1089
|
yield info, safe
|
|
1014
1090
|
|
|
1015
1091
|
|
|
@@ -1176,8 +1252,26 @@ def _collect_assets_and_files(
|
|
|
1176
1252
|
# Size-checked read: the declared size is validated BEFORE
|
|
1177
1253
|
# materialisation (bomb guard).
|
|
1178
1254
|
data = budget.read_info(zf, info)
|
|
1179
|
-
mime = _guess_mime(rel)
|
|
1180
1255
|
kind = "template_shot" if _is_template_preview(rel) else _infer_asset_kind(rel)
|
|
1256
|
+
if _is_template_thumbnail(rel):
|
|
1257
|
+
# No extension to guess from, so the type comes from the CONTENT.
|
|
1258
|
+
# Unrecognized bytes are REFUSED rather than stored as
|
|
1259
|
+
# application/octet-stream: a thumbnail is served back to the
|
|
1260
|
+
# browser, so its declared type has to be one we actually verified.
|
|
1261
|
+
# Only THIS entry is dropped — a bundle import is one request, and
|
|
1262
|
+
# one junk screenshot must not cost the whole upload.
|
|
1263
|
+
sniffed = _sniff_raster_mime(data)
|
|
1264
|
+
if sniffed is None:
|
|
1265
|
+
logger.warning(
|
|
1266
|
+
"Bundle entry '%s' is not a PNG/JPEG/GIF/WebP image "
|
|
1267
|
+
"(%d bytes); not stored as a template thumbnail",
|
|
1268
|
+
rel,
|
|
1269
|
+
len(data),
|
|
1270
|
+
)
|
|
1271
|
+
continue
|
|
1272
|
+
mime = sniffed
|
|
1273
|
+
else:
|
|
1274
|
+
mime = _guess_mime(rel)
|
|
1181
1275
|
width, height = _image_dimensions(data, mime)
|
|
1182
1276
|
asset = DesignSystemAsset(
|
|
1183
1277
|
kind=kind,
|
|
@@ -606,9 +606,27 @@ def _entry_path_candidates(entry: dict) -> list[str]:
|
|
|
606
606
|
return out
|
|
607
607
|
|
|
608
608
|
|
|
609
|
+
#: Basenames a template folder's screenshot ships under, with or without a leading
|
|
610
|
+
#: dot and with or without an extension: the documented ``preview.png`` and the
|
|
611
|
+
#: ``.thumbnail`` a real export actually writes. Matching only ``preview*`` left
|
|
612
|
+
#: every real bundle's ``thumbnail_url`` NULL even once the importer stored the
|
|
613
|
+
#: bytes — the importer and this lookup are two separate gates on the same file.
|
|
614
|
+
_THUMBNAIL_BASENAME_PREFIXES = ("preview", "thumbnail")
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
def _is_thumbnail_basename(basename: str) -> bool:
|
|
618
|
+
return basename.lstrip(".").startswith(_THUMBNAIL_BASENAME_PREFIXES)
|
|
619
|
+
|
|
620
|
+
|
|
609
621
|
def _find_thumbnail_asset_id(files: list[Any], template_dir: str) -> Optional[int]:
|
|
610
|
-
"""The template folder's
|
|
611
|
-
|
|
622
|
+
"""The template folder's screenshot: the smallest-path image reference row
|
|
623
|
+
under ``template_dir`` whose basename names a preview or a thumbnail.
|
|
624
|
+
|
|
625
|
+
Smallest path is the tie-break when a folder ships more than one, so the choice
|
|
626
|
+
is deterministic. The ``image/*`` requirement is what keeps a non-image file
|
|
627
|
+
named ``thumbnail`` out: the importer only records a verified, sniffed media
|
|
628
|
+
type on these rows.
|
|
629
|
+
"""
|
|
612
630
|
previews: list[tuple[str, int]] = []
|
|
613
631
|
for ds_file in files:
|
|
614
632
|
asset_id = getattr(ds_file, "asset_id", None)
|
|
@@ -619,7 +637,7 @@ def _find_thumbnail_asset_id(files: list[Any], template_dir: str) -> Optional[in
|
|
|
619
637
|
continue
|
|
620
638
|
basename = path.rsplit("/", 1)[-1].lower()
|
|
621
639
|
mime = (getattr(ds_file, "mime", "") or "").lower()
|
|
622
|
-
if basename
|
|
640
|
+
if _is_thumbnail_basename(basename) and mime.startswith("image/"):
|
|
623
641
|
previews.append((path, asset_id))
|
|
624
642
|
return min(previews)[1] if previews else None
|
|
625
643
|
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/middleware/csrf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/_authz.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/admin.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/admin_usage.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/agent_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/export.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/google_slides.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/images.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/local_version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/profiles.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/setup.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/slides.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/verification.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/routes/version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/agent_config.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/requests.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/schemas/streaming.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/utils/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/api/utils/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/config_loader.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/context_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/databricks_client.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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/mlflow_agent_spans.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/mlflow_tracing.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/otel_logging.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/permission_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/prompt_modules.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/settings_db.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/core/user_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/identity.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/image.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/database/models/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/domain/slide_deck.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/agent_factory.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/drive_uploader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/genie_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/image_service.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/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.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/profile_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/tools/mcp_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/services/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/ds_asset_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/error_handling.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/html_safety.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/html_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/image_utils.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/js_validator.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/logging_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.4.2.dev9 → databricks_tellr_app-0.4.2.dev10}/src/utils/slide_hash.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|