databricks-tellr-app 0.4.2.dev20__tar.gz → 0.4.3.dev2__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.dev20 → databricks_tellr_app-0.4.3.dev2}/PKG-INFO +1 -1
  2. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
  3. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/pyproject.toml +1 -1
  4. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/middleware/security_headers.py +22 -0
  5. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/types.py +12 -1
  6. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/README.md +0 -0
  7. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app/__init__.py +0 -0
  8. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app/run.py +0 -0
  9. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
  10. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
  11. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app.egg-info/requires.txt +0 -0
  12. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/databricks_tellr_app.egg-info/top_level.txt +0 -0
  13. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/setup.cfg +0 -0
  14. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/setup.py +0 -0
  15. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/__init__.py +0 -0
  16. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/__init__.py +0 -0
  17. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/_otel_bootstrap.py +0 -0
  18. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/fixtures/tour_demo_deck.json +0 -0
  19. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/main.py +0 -0
  20. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/mcp_auth.py +0 -0
  21. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/mcp_server.py +0 -0
  22. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/middleware/__init__.py +0 -0
  23. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/middleware/csrf.py +0 -0
  24. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/middleware/request_logging.py +0 -0
  25. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/__init__.py +0 -0
  26. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/_authz.py +0 -0
  27. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/admin.py +0 -0
  28. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/admin_usage.py +0 -0
  29. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/agent_config.py +0 -0
  30. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/chat.py +0 -0
  31. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/deck_contributors.py +0 -0
  32. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/export.py +0 -0
  33. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/feedback.py +0 -0
  34. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/google_slides.py +0 -0
  35. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/images.py +0 -0
  36. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/local_version.py +0 -0
  37. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/profiles.py +0 -0
  38. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/sessions.py +0 -0
  39. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/__init__.py +0 -0
  40. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/contributors.py +0 -0
  41. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/deck_prompts.py +0 -0
  42. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/design_systems.py +0 -0
  43. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/identities.py +0 -0
  44. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/settings/slide_styles.py +0 -0
  45. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/setup.py +0 -0
  46. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/slides.py +0 -0
  47. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/tools.py +0 -0
  48. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/tour.py +0 -0
  49. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/verification.py +0 -0
  50. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/routes/version.py +0 -0
  51. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/__init__.py +0 -0
  52. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/agent_config.py +0 -0
  53. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/feedback.py +0 -0
  54. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/requests.py +0 -0
  55. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/responses.py +0 -0
  56. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/settings/__init__.py +0 -0
  57. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/settings/requests.py +0 -0
  58. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/settings/responses.py +0 -0
  59. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/schemas/streaming.py +0 -0
  60. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/__init__.py +0 -0
  61. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/chat_service.py +0 -0
  62. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/export_job_queue.py +0 -0
  63. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/feedback_service.py +0 -0
  64. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/job_queue.py +0 -0
  65. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/session_manager.py +0 -0
  66. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/session_naming.py +0 -0
  67. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/usage_events.py +0 -0
  68. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/services/usage_service.py +0 -0
  69. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/utils/__init__.py +0 -0
  70. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/api/utils/validation.py +0 -0
  71. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/__init__.py +0 -0
  72. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/config_loader.py +0 -0
  73. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/context_utils.py +0 -0
  74. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/database.py +0 -0
  75. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/databricks_client.py +0 -0
  76. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/defaults.py +0 -0
  77. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/encryption.py +0 -0
  78. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/init_default_profile.py +0 -0
  79. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/lakebase.py +0 -0
  80. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/migrate_profiles_to_agent_config.py +0 -0
  81. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/mlflow_agent_spans.py +0 -0
  82. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/mlflow_tracing.py +0 -0
  83. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/otel_logging.py +0 -0
  84. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/permission_context.py +0 -0
  85. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/prompt_modules.py +0 -0
  86. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/settings_db.py +0 -0
  87. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/core/user_context.py +0 -0
  88. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/__init__.py +0 -0
  89. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/__init__.py +0 -0
  90. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/deck_contributor.py +0 -0
  91. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/design_system.py +0 -0
  92. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/encryption_key.py +0 -0
  93. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/feedback.py +0 -0
  94. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/genie_space.py +0 -0
  95. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/google_global_credentials.py +0 -0
  96. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/google_oauth_token.py +0 -0
  97. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/identity.py +0 -0
  98. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/image.py +0 -0
  99. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/profile.py +0 -0
  100. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/profile_contributor.py +0 -0
  101. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/prompts.py +0 -0
  102. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/request_log.py +0 -0
  103. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/session.py +0 -0
  104. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/slide_deck_prompt.py +0 -0
  105. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/slide_style_library.py +0 -0
  106. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/usage_event.py +0 -0
  107. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/database/models/user_preference.py +0 -0
  108. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/domain/__init__.py +0 -0
  109. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/domain/slide.py +0 -0
  110. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/domain/slide_deck.py +0 -0
  111. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/__init__.py +0 -0
  112. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/agent.py +0 -0
  113. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/agent_factory.py +0 -0
  114. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/config_service.py +0 -0
  115. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/config_validator.py +0 -0
  116. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/__init__.py +0 -0
  117. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/ast_guard.py +0 -0
  118. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/codeprep.py +0 -0
  119. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/gslides_runner.py +0 -0
  120. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/jail.py +0 -0
  121. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/pptx_runner.py +0 -0
  122. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/converter_jail/protocol.py +0 -0
  123. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/design_system_compiler.py +0 -0
  124. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/design_system_service.py +0 -0
  125. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/design_system_templates.py +0 -0
  126. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/drive_uploader.py +0 -0
  127. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/evaluation/__init__.py +0 -0
  128. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/evaluation/llm_judge.py +0 -0
  129. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/genie_service.py +0 -0
  130. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/google_slides_auth.py +0 -0
  131. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/google_slides_prompts_defaults.py +0 -0
  132. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/html_to_google_slides.py +0 -0
  133. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/html_to_pptx.py +0 -0
  134. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/identity_provider.py +0 -0
  135. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/identity_providers/__init__.py +0 -0
  136. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/identity_providers/account_provider.py +0 -0
  137. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/identity_providers/local_provider.py +0 -0
  138. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/identity_providers/workspace_provider.py +0 -0
  139. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/image_service.py +0 -0
  140. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/image_tools.py +0 -0
  141. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/permission_service.py +0 -0
  142. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/pptx_from_html_huashu.py +0 -0
  143. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/pptx_from_records.py +0 -0
  144. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/pptx_prompts_defaults.py +0 -0
  145. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/profile_service.py +0 -0
  146. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/streaming_callback.py +0 -0
  147. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/__init__.py +0 -0
  148. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/agent_bricks_tool.py +0 -0
  149. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/ds_asset_tool.py +0 -0
  150. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/genie_tool.py +0 -0
  151. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/mcp_tool.py +0 -0
  152. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/model_endpoint_tool.py +0 -0
  153. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/tools/vector_tool.py +0 -0
  154. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/services/validator.py +0 -0
  155. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/__init__.py +0 -0
  156. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/css_utils.py +0 -0
  157. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/ds_asset_utils.py +0 -0
  158. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/error_handling.py +0 -0
  159. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/html_safety.py +0 -0
  160. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/html_utils.py +0 -0
  161. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/image_utils.py +0 -0
  162. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/js_validator.py +0 -0
  163. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/logging_config.py +0 -0
  164. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/pi_filter.py +0 -0
  165. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/slide_hash.py +0 -0
  166. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/src/utils/spotlight.py +0 -0
  167. {databricks_tellr_app-0.4.2.dev20 → databricks_tellr_app-0.4.3.dev2}/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.dev20
3
+ Version: 0.4.3.dev2
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.dev20
3
+ Version: 0.4.3.dev2
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.dev20"
7
+ version = "0.4.3.dev2"
8
8
  description = "Tellr application package for Databricks Apps"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -31,6 +31,28 @@ Content-Security-Policy differentiated by response type:
31
31
  'none', no eval) plus the html_safety.py scanner, and any header at
32
32
  all is a strict improvement over the previous no-CSP state.
33
33
 
34
+ SDR-4437 M-CSP — ACCEPTED RESIDUAL (pending SE sign-off). M-CSP asks
35
+ to move ``script-src`` off ``'unsafe-inline'`` to hashes/nonces. That
36
+ is infeasible here and was verified:
37
+ * The SPA's own document has NO inline <script> — index.html loads a
38
+ single external module (``/src/main.tsx``), already covered by
39
+ ``'self'``. So the SPA itself does not need 'unsafe-inline'.
40
+ * The 'unsafe-inline' exists ONLY for the srcdoc slide iframes, whose
41
+ generated HTML contains arbitrary inline <script> (Chart.js init,
42
+ etc.) and which inherit THIS document policy in addition to their
43
+ own SLIDE_CSP meta (both enforce; most restrictive wins).
44
+ * Per CSP2+, adding any nonce or hash to ``script-src`` makes the
45
+ browser IGNORE 'unsafe-inline'. A nonce on the parent would
46
+ therefore disable inline execution for the inherited srcdoc slide
47
+ scripts and break slide rendering app-wide — you cannot have
48
+ "nonce + unsafe-inline" both take effect.
49
+ Removing it would require re-architecting slides away from srcdoc
50
+ (backend-served ``src`` iframes), which the frame-ancestors / no-src
51
+ design above deliberately avoids. The residual is bounded: slides stay
52
+ confined by SLIDE_CSP (an egress boundary) + the html_safety scanner,
53
+ and the DOCUMENT_CSP ⊇ SLIDE_CSP superset invariant is locked by
54
+ tests/unit/test_export_csp.py::test_document_csp_header_is_superset_of_slide_csp.
55
+
34
56
  - Everything else (JSON APIs, assets, SSE) gets the deny-all
35
57
  ``API_CSP`` — nothing executes in a JSON response.
36
58
 
@@ -70,9 +70,20 @@ class NormalizedAgentConfig(TypeDecorator):
70
70
  not have its caller's dict edited underneath it).
71
71
 
72
72
  Emits an ordinary ``JSON`` column, so adopting it needs no migration.
73
+
74
+ ``none_as_null=True`` is load-bearing, not tidiness. ``sqlalchemy.JSON`` defaults
75
+ to ``none_as_null=False``, which serializes a bound ``None`` into the two-byte
76
+ document ``null`` instead of leaving the column as SQL NULL — and the JSON scalar
77
+ ``null`` is NOT SQL NULL. It is a stored value that merely READS as empty:
78
+ ``IS NULL`` does not match it, while the ORM attribute deserializes it to ``None``
79
+ exactly like SQL NULL, so nothing above the driver can tell the two apart. The
80
+ startup backfill ``migrate_profiles`` selects the rows it has to fill with
81
+ ``agent_config.is_(None)``, so adopting this type silently made every freshly
82
+ seeded profile invisible to it. See
83
+ ``tests/unit/test_unset_agent_config_is_sql_null.py``.
73
84
  """
74
85
 
75
- impl = JSON
86
+ impl = JSON(none_as_null=True)
76
87
  cache_ok = True
77
88
 
78
89
  def process_bind_param(self, value: Any, dialect: Any) -> Any: