databricks-tellr-app 0.4.2.dev17__tar.gz → 0.4.2.dev18__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.
Files changed (167) hide show
  1. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/PKG-INFO +1 -1
  2. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
  3. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/pyproject.toml +1 -1
  4. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/export.py +28 -20
  5. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/html_safety.py +0 -41
  6. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/README.md +0 -0
  7. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app/__init__.py +0 -0
  8. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app/run.py +0 -0
  9. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
  10. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
  11. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app.egg-info/requires.txt +0 -0
  12. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/databricks_tellr_app.egg-info/top_level.txt +0 -0
  13. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/setup.cfg +0 -0
  14. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/setup.py +0 -0
  15. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/__init__.py +0 -0
  16. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/__init__.py +0 -0
  17. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/_otel_bootstrap.py +0 -0
  18. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/fixtures/tour_demo_deck.json +0 -0
  19. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/main.py +0 -0
  20. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/mcp_auth.py +0 -0
  21. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/mcp_server.py +0 -0
  22. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/middleware/__init__.py +0 -0
  23. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/middleware/csrf.py +0 -0
  24. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/middleware/request_logging.py +0 -0
  25. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/middleware/security_headers.py +0 -0
  26. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/__init__.py +0 -0
  27. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/_authz.py +0 -0
  28. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/admin.py +0 -0
  29. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/admin_usage.py +0 -0
  30. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/agent_config.py +0 -0
  31. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/chat.py +0 -0
  32. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/deck_contributors.py +0 -0
  33. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/feedback.py +0 -0
  34. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/google_slides.py +0 -0
  35. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/images.py +0 -0
  36. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/local_version.py +0 -0
  37. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/profiles.py +0 -0
  38. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/sessions.py +0 -0
  39. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/__init__.py +0 -0
  40. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/contributors.py +0 -0
  41. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/deck_prompts.py +0 -0
  42. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/design_systems.py +0 -0
  43. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/identities.py +0 -0
  44. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/settings/slide_styles.py +0 -0
  45. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/setup.py +0 -0
  46. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/slides.py +0 -0
  47. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/tools.py +0 -0
  48. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/tour.py +0 -0
  49. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/verification.py +0 -0
  50. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/routes/version.py +0 -0
  51. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/__init__.py +0 -0
  52. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/agent_config.py +0 -0
  53. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/feedback.py +0 -0
  54. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/requests.py +0 -0
  55. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/responses.py +0 -0
  56. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/settings/__init__.py +0 -0
  57. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/settings/requests.py +0 -0
  58. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/settings/responses.py +0 -0
  59. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/schemas/streaming.py +0 -0
  60. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/__init__.py +0 -0
  61. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/chat_service.py +0 -0
  62. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/export_job_queue.py +0 -0
  63. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/feedback_service.py +0 -0
  64. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/job_queue.py +0 -0
  65. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/session_manager.py +0 -0
  66. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/session_naming.py +0 -0
  67. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/usage_events.py +0 -0
  68. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/services/usage_service.py +0 -0
  69. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/utils/__init__.py +0 -0
  70. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/api/utils/validation.py +0 -0
  71. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/__init__.py +0 -0
  72. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/config_loader.py +0 -0
  73. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/context_utils.py +0 -0
  74. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/database.py +0 -0
  75. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/databricks_client.py +0 -0
  76. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/defaults.py +0 -0
  77. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/encryption.py +0 -0
  78. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/init_default_profile.py +0 -0
  79. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/lakebase.py +0 -0
  80. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/migrate_profiles_to_agent_config.py +0 -0
  81. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/mlflow_agent_spans.py +0 -0
  82. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/mlflow_tracing.py +0 -0
  83. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/otel_logging.py +0 -0
  84. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/permission_context.py +0 -0
  85. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/prompt_modules.py +0 -0
  86. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/settings_db.py +0 -0
  87. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/core/user_context.py +0 -0
  88. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/__init__.py +0 -0
  89. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/__init__.py +0 -0
  90. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/deck_contributor.py +0 -0
  91. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/design_system.py +0 -0
  92. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/encryption_key.py +0 -0
  93. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/feedback.py +0 -0
  94. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/genie_space.py +0 -0
  95. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/google_global_credentials.py +0 -0
  96. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/google_oauth_token.py +0 -0
  97. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/identity.py +0 -0
  98. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/image.py +0 -0
  99. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/profile.py +0 -0
  100. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/profile_contributor.py +0 -0
  101. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/prompts.py +0 -0
  102. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/request_log.py +0 -0
  103. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/session.py +0 -0
  104. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/slide_deck_prompt.py +0 -0
  105. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/slide_style_library.py +0 -0
  106. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/usage_event.py +0 -0
  107. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/models/user_preference.py +0 -0
  108. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/database/types.py +0 -0
  109. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/domain/__init__.py +0 -0
  110. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/domain/slide.py +0 -0
  111. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/domain/slide_deck.py +0 -0
  112. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/__init__.py +0 -0
  113. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/agent.py +0 -0
  114. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/agent_factory.py +0 -0
  115. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/config_service.py +0 -0
  116. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/config_validator.py +0 -0
  117. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/__init__.py +0 -0
  118. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/ast_guard.py +0 -0
  119. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/codeprep.py +0 -0
  120. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/gslides_runner.py +0 -0
  121. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/jail.py +0 -0
  122. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/pptx_runner.py +0 -0
  123. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/converter_jail/protocol.py +0 -0
  124. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/design_system_compiler.py +0 -0
  125. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/design_system_service.py +0 -0
  126. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/design_system_templates.py +0 -0
  127. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/drive_uploader.py +0 -0
  128. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/evaluation/__init__.py +0 -0
  129. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/evaluation/llm_judge.py +0 -0
  130. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/genie_service.py +0 -0
  131. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/google_slides_auth.py +0 -0
  132. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/google_slides_prompts_defaults.py +0 -0
  133. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/html_to_google_slides.py +0 -0
  134. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/html_to_pptx.py +0 -0
  135. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/identity_provider.py +0 -0
  136. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/identity_providers/__init__.py +0 -0
  137. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/identity_providers/account_provider.py +0 -0
  138. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/identity_providers/local_provider.py +0 -0
  139. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/identity_providers/workspace_provider.py +0 -0
  140. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/image_service.py +0 -0
  141. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/image_tools.py +0 -0
  142. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/permission_service.py +0 -0
  143. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/pptx_from_html_huashu.py +0 -0
  144. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/pptx_from_records.py +0 -0
  145. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/pptx_prompts_defaults.py +0 -0
  146. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/profile_service.py +0 -0
  147. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/streaming_callback.py +0 -0
  148. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/__init__.py +0 -0
  149. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/agent_bricks_tool.py +0 -0
  150. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/ds_asset_tool.py +0 -0
  151. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/genie_tool.py +0 -0
  152. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/mcp_tool.py +0 -0
  153. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/model_endpoint_tool.py +0 -0
  154. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/tools/vector_tool.py +0 -0
  155. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/services/validator.py +0 -0
  156. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/__init__.py +0 -0
  157. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/css_utils.py +0 -0
  158. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/ds_asset_utils.py +0 -0
  159. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/error_handling.py +0 -0
  160. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/html_utils.py +0 -0
  161. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/image_utils.py +0 -0
  162. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/js_validator.py +0 -0
  163. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/logging_config.py +0 -0
  164. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/pi_filter.py +0 -0
  165. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/slide_hash.py +0 -0
  166. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/spotlight.py +0 -0
  167. {databricks_tellr_app-0.4.2.dev17 → databricks_tellr_app-0.4.2.dev18}/src/utils/text_caps.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-tellr-app
3
- Version: 0.4.2.dev17
3
+ Version: 0.4.2.dev18
4
4
  Summary: Tellr application package for Databricks Apps
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-tellr-app
3
- Version: 0.4.2.dev17
3
+ Version: 0.4.2.dev18
4
4
  Summary: Tellr application package for Databricks Apps
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "databricks-tellr-app"
7
- version = "0.4.2.dev17"
7
+ version = "0.4.2.dev18"
8
8
  description = "Tellr application package for Databricks Apps"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -22,7 +22,6 @@ from src.utils.html_safety import (
22
22
  SLIDE_CSP_META,
23
23
  SLIDE_ROOT_RESET_STYLE,
24
24
  scan_html_for_unsafe_patterns,
25
- slide_host_frame_style,
26
25
  )
27
26
 
28
27
  logger = logging.getLogger(__name__)
@@ -191,27 +190,38 @@ def build_slide_html(slide: dict, slide_deck: dict) -> str:
191
190
  # There is NO 2000-char sheet-role classifier, despite what this comment used
192
191
  # to claim. Nothing in src/ or tests/ keys off a stylesheet's length; the tests
193
192
  # identify sheets POSITIONALLY (`blocks[0..2]`, `len(blocks) == 3`) and by
194
- # content (the deck's sheet is the one equal to the deck's CSS verbatim). This
195
- # sheet is already over that supposed cap at 2,098 chars, so budgeting against
196
- # it would be budgeting against nothing. The real cost is the LLM budget above.
193
+ # content (the deck's sheet is the one equal to the deck's CSS verbatim), so
194
+ # budgeting against that supposed cap would be budgeting against nothing. The
195
+ # real cost is the LLM budget above.
197
196
  # Pinned by tests/unit/test_preview_box_model_parity.py.
198
197
  #
199
- # THE FRAME CONTRACT GOES IN THIS SHEET ONLY, NEVER SHEET 2 (WF-03). Sheet 2
200
- # must stay byte-equal to the deck's own CSS, or a deck whose CSS opens with
201
- # `@import url(fonts.googleapis…)` loses its webfont: `@import` is only valid
202
- # before every other rule of ITS OWN stylesheet. Pinned by
203
- # tests/unit/test_export_deck_stylesheet.py.
198
+ # NO SLIDE-HOST FRAME CONTRACT HERE, DELIBERATELY. A contract framing `body`
199
+ # and stretching its CHILD to `position: absolute !important; inset: 0
200
+ # !important; width/height: 100% !important` was injected into this sheet at
201
+ # 0.4.2.dev17 and is REVERTED, because on the huashu path it destroys tables.
204
202
  #
205
- # WHY THE CONTRACT IS HERE AT ALL. A design-system-pinned deck nests the slide
206
- # two levels deep: a `<section>` carries the slide ground via a bare TYPE
207
- # selector, and inside it `.slide` is `position: absolute; inset: 0`. The
208
- # wrapper holds no in-flow content, collapses to height 0, and the ground it
209
- # carries never paints — the deck's own dark `html, body` shows through at
210
- # contrast 1.3025. Five preview surfaces injected this contract; no export
211
- # builder did. Latent on this path today (the huashu sidecar reads
203
+ # `services/pptx-emit-huashu/preprocess.mjs::flattenTables()` reads every
204
+ # `<td>/<th>`'s bounding rect and re-emits each cell as an absolutely
205
+ # positioned <div> carrying its own `left/top/width/height` as NON-important
206
+ # INLINE styles, then calls `document.body.appendChild(div)`. Every cell is
207
+ # therefore a DIRECT CHILD of `body` by the time the walker runs, so a
208
+ # stylesheet `!important` rule on `body > *` outranks each cell's inline
209
+ # position and collapses all of them onto one rect. Measured on a real
210
+ # 21-cell deck: distinct cell rects in ppt/slides/slide1.xml went 42 -> 11,
211
+ # with 12 shapes stacked at (12.0, 349.8) and 12 more at (0.0, 719.5).
212
+ #
213
+ # The document itself is unchanged by this — `body` has exactly one rendered
214
+ # child before scripts run — so a document-level geometry probe reads 0.00 px
215
+ # and is structurally blind to the defect. It is an EMIT-TIME regression; only
216
+ # diffing the emitted slide XML can see it.
217
+ #
218
+ # What the contract was for (a section-wrapped design-system deck whose ground
219
+ # never paints) is handled on the capture surfaces by aiming at the slide ROOT
220
+ # instead — see `findSlideRoot` in frontend/src/services/slideDocument.ts. That
221
+ # locator injects no CSS, so it cannot perturb huashu geometry. This path never
222
+ # needed the contract regardless: the sidecar reads
212
223
  # `getComputedStyle(root).backgroundColor`, and a 1280x0 element still computes
213
- # the right colour, so the .pptx was immune BY CONSTRUCTION) — but the
214
- # divergence is real and this is where it stops being one.
224
+ # the right colour, so the .pptx was immune here BY CONSTRUCTION.
215
225
  complete_html = f"""<!DOCTYPE html>
216
226
  <html lang="en">
217
227
  <head>
@@ -263,8 +273,6 @@ def build_slide_html(slide: dict, slide_deck: dict) -> str:
263
273
  shifts content past the clip and truncates the export's bottom edge
264
274
  (same neutralization as every other surface). */
265
275
  {SLIDE_ROOT_RESET_STYLE}
266
- /* After deck CSS: the shared slide-host frame contract. */
267
- {slide_host_frame_style("body")}
268
276
  </style>
269
277
  </head>
270
278
  <body>
@@ -52,47 +52,6 @@ SLIDE_ROOT_RESET_STYLE = """
52
52
  }
53
53
  """
54
54
 
55
- # The fixed 16:9 frame every slide surface renders into. Mirrors the frontend's
56
- # SLIDE_FRAME_W / SLIDE_FRAME_H; tests/unit/test_export_csp.py pins both.
57
- SLIDE_FRAME_W = 1280
58
- SLIDE_FRAME_H = 720
59
-
60
-
61
- def slide_host_frame_style(host_selector: str) -> str:
62
- """The slide-host frame contract: frame ``host_selector``, STRETCH ITS CHILD.
63
-
64
- Byte-identical mirror of the frontend builder's ``slideHostFrameStyle``
65
- (frontend/src/services/slideDocument.ts), which carries the full rationale and
66
- the per-declaration measurements. ``tests/unit/test_export_csp.py`` asserts
67
- this renders exactly what the TS function renders, so the two cannot drift.
68
-
69
- Why any of it is needed: a design-system-pinned deck nests the slide two
70
- levels deep — a ``<section>`` carries the slide ground via a bare TYPE
71
- selector, and inside it ``.slide`` is ``position: absolute; inset: 0``. The
72
- wrapper therefore holds no in-flow content and collapses to ``height: 0``, so
73
- the ground it carries never paints and the deck's own dark ``html, body``
74
- shows through instead. Colour and font still inherit, which is why the result
75
- is readable DARK-ON-DARK rather than an obviously blank slide. Sizing the ROOT
76
- does not fix it; only stretching the host's CHILD gives the
77
- background-carrying element area.
78
- """
79
- return f"""
80
- {host_selector} {{
81
- position: relative !important;
82
- width: {SLIDE_FRAME_W}px !important;
83
- height: {SLIDE_FRAME_H}px !important;
84
- overflow: hidden;
85
- }}
86
- {host_selector} > :not(#tellr-host-frame-boost):not(.slide-wrapper) {{
87
- position: absolute !important;
88
- inset: 0 !important;
89
- width: 100% !important;
90
- height: 100% !important;
91
- box-sizing: border-box !important;
92
- overflow: hidden;
93
- }}
94
- """
95
-
96
55
  # Script sources allowed in slides (Chart.js + Tailwind Play CDN + Google Fonts).
97
56
  # Google Fonts <link>s are allowed by the slide CSP `style-src`/`font-src` at
98
57
  # runtime, so the scanner must not flag them as external resources.