databricks-tellr-app 0.4.2.dev6__tar.gz → 0.4.2.dev7__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 (161) hide show
  1. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/PKG-INFO +8 -10
  2. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app.egg-info/PKG-INFO +8 -10
  3. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app.egg-info/SOURCES.txt +4 -0
  4. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app.egg-info/requires.txt +7 -9
  5. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/pyproject.toml +8 -17
  6. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/main.py +11 -0
  7. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/slides.py +4 -4
  8. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/verification.py +9 -9
  9. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/session_manager.py +796 -43
  10. databricks_tellr_app-0.4.2.dev7/src/api/services/slide_repository.py +378 -0
  11. databricks_tellr_app-0.4.2.dev7/src/core/backfill_session_slides_startup.py +311 -0
  12. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/database.py +68 -0
  13. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/session.py +87 -1
  14. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/README.md +0 -0
  15. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app/__init__.py +0 -0
  16. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app/run.py +0 -0
  17. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
  18. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/databricks_tellr_app.egg-info/top_level.txt +0 -0
  19. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/setup.cfg +0 -0
  20. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/setup.py +0 -0
  21. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/__init__.py +0 -0
  22. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/__init__.py +0 -0
  23. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/_otel_bootstrap.py +0 -0
  24. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/fixtures/tour_demo_deck.json +0 -0
  25. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/mcp_auth.py +0 -0
  26. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/mcp_server.py +0 -0
  27. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/middleware/__init__.py +0 -0
  28. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/middleware/csrf.py +0 -0
  29. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/middleware/request_logging.py +0 -0
  30. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/middleware/security_headers.py +0 -0
  31. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/__init__.py +0 -0
  32. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/_authz.py +0 -0
  33. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/admin.py +0 -0
  34. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/admin_usage.py +0 -0
  35. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/agent_config.py +0 -0
  36. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/chat.py +0 -0
  37. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/deck_contributors.py +0 -0
  38. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/export.py +0 -0
  39. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/feedback.py +0 -0
  40. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/google_slides.py +0 -0
  41. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/images.py +0 -0
  42. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/local_version.py +0 -0
  43. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/profiles.py +0 -0
  44. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/sessions.py +0 -0
  45. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/settings/__init__.py +0 -0
  46. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/settings/contributors.py +0 -0
  47. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/settings/deck_prompts.py +0 -0
  48. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/settings/identities.py +0 -0
  49. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/settings/slide_styles.py +0 -0
  50. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/setup.py +0 -0
  51. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/tools.py +0 -0
  52. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/tour.py +0 -0
  53. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/routes/version.py +0 -0
  54. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/__init__.py +0 -0
  55. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/agent_config.py +0 -0
  56. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/feedback.py +0 -0
  57. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/requests.py +0 -0
  58. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/responses.py +0 -0
  59. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/settings/__init__.py +0 -0
  60. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/settings/requests.py +0 -0
  61. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/settings/responses.py +0 -0
  62. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/schemas/streaming.py +0 -0
  63. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/__init__.py +0 -0
  64. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/chat_service.py +0 -0
  65. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/export_job_queue.py +0 -0
  66. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/feedback_service.py +0 -0
  67. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/job_queue.py +0 -0
  68. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/session_naming.py +0 -0
  69. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/usage_events.py +0 -0
  70. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/services/usage_service.py +0 -0
  71. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/utils/__init__.py +0 -0
  72. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/api/utils/validation.py +0 -0
  73. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/__init__.py +0 -0
  74. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/config_loader.py +0 -0
  75. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/context_utils.py +0 -0
  76. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/databricks_client.py +0 -0
  77. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/defaults.py +0 -0
  78. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/encryption.py +0 -0
  79. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/init_default_profile.py +0 -0
  80. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/lakebase.py +0 -0
  81. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/migrate_profiles_to_agent_config.py +0 -0
  82. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/mlflow_agent_spans.py +0 -0
  83. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/mlflow_tracing.py +0 -0
  84. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/otel_logging.py +0 -0
  85. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/permission_context.py +0 -0
  86. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/prompt_modules.py +0 -0
  87. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/settings_db.py +0 -0
  88. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/core/user_context.py +0 -0
  89. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/__init__.py +0 -0
  90. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/__init__.py +0 -0
  91. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/deck_contributor.py +0 -0
  92. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/encryption_key.py +0 -0
  93. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/feedback.py +0 -0
  94. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/genie_space.py +0 -0
  95. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/google_global_credentials.py +0 -0
  96. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/google_oauth_token.py +0 -0
  97. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/identity.py +0 -0
  98. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/image.py +0 -0
  99. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/profile.py +0 -0
  100. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/profile_contributor.py +0 -0
  101. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/prompts.py +0 -0
  102. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/request_log.py +0 -0
  103. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/slide_deck_prompt.py +0 -0
  104. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/slide_style_library.py +0 -0
  105. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/usage_event.py +0 -0
  106. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/database/models/user_preference.py +0 -0
  107. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/domain/__init__.py +0 -0
  108. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/domain/slide.py +0 -0
  109. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/domain/slide_deck.py +0 -0
  110. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/__init__.py +0 -0
  111. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/agent.py +0 -0
  112. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/agent_factory.py +0 -0
  113. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/config_service.py +0 -0
  114. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/config_validator.py +0 -0
  115. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/__init__.py +0 -0
  116. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/ast_guard.py +0 -0
  117. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/codeprep.py +0 -0
  118. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/gslides_runner.py +0 -0
  119. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/jail.py +0 -0
  120. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/pptx_runner.py +0 -0
  121. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/converter_jail/protocol.py +0 -0
  122. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/drive_uploader.py +0 -0
  123. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/evaluation/__init__.py +0 -0
  124. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/evaluation/llm_judge.py +0 -0
  125. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/genie_service.py +0 -0
  126. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/google_slides_auth.py +0 -0
  127. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/google_slides_prompts_defaults.py +0 -0
  128. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/html_to_google_slides.py +0 -0
  129. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/html_to_pptx.py +0 -0
  130. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/identity_provider.py +0 -0
  131. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/identity_providers/__init__.py +0 -0
  132. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/identity_providers/account_provider.py +0 -0
  133. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/identity_providers/local_provider.py +0 -0
  134. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/identity_providers/workspace_provider.py +0 -0
  135. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/image_service.py +0 -0
  136. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/image_tools.py +0 -0
  137. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/permission_service.py +0 -0
  138. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/pptx_from_html_huashu.py +0 -0
  139. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/pptx_from_records.py +0 -0
  140. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/pptx_prompts_defaults.py +0 -0
  141. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/profile_service.py +0 -0
  142. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/streaming_callback.py +0 -0
  143. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/__init__.py +0 -0
  144. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/agent_bricks_tool.py +0 -0
  145. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/genie_tool.py +0 -0
  146. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/mcp_tool.py +0 -0
  147. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/model_endpoint_tool.py +0 -0
  148. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/tools/vector_tool.py +0 -0
  149. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/services/validator.py +0 -0
  150. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/__init__.py +0 -0
  151. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/css_utils.py +0 -0
  152. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/error_handling.py +0 -0
  153. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/html_safety.py +0 -0
  154. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/html_utils.py +0 -0
  155. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/image_utils.py +0 -0
  156. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/js_validator.py +0 -0
  157. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/logging_config.py +0 -0
  158. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/pi_filter.py +0 -0
  159. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/slide_hash.py +0 -0
  160. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/src/utils/spotlight.py +0 -0
  161. {databricks_tellr_app-0.4.2.dev6 → databricks_tellr_app-0.4.2.dev7}/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.dev6
3
+ Version: 0.4.2.dev7
4
4
  Summary: Tellr application package for Databricks Apps
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -10,10 +10,10 @@ Requires-Dist: python-multipart==0.0.20
10
10
  Requires-Dist: pydantic==2.12.4
11
11
  Requires-Dist: pydantic-settings==2.12.0
12
12
  Requires-Dist: databricks-langchain==0.9.0
13
- Requires-Dist: langchain==1.3.14
14
- Requires-Dist: langchain-core==1.5.3
15
- Requires-Dist: langchain-community==0.4.2
16
- Requires-Dist: langchain-text-splitters==1.1.2
13
+ Requires-Dist: langchain==1.0.5
14
+ Requires-Dist: langchain-core==1.0.4
15
+ Requires-Dist: langchain-community==0.4.1
16
+ Requires-Dist: langchain-text-splitters==1.0.0
17
17
  Requires-Dist: litellm==1.80.11
18
18
  Requires-Dist: mcp==1.27.0
19
19
  Requires-Dist: opentelemetry-api==1.38.0
@@ -46,11 +46,9 @@ Requires-Dist: databricks-ai-bridge==0.21.0
46
46
  Requires-Dist: databricks-ai-search==0.76
47
47
  Requires-Dist: databricks-connect==16.1.7
48
48
  Requires-Dist: databricks-vectorsearch==0.75
49
- Requires-Dist: langchain-classic==1.0.8
50
- Requires-Dist: langgraph==1.2.10
51
- Requires-Dist: langgraph-checkpoint==4.1.1
52
- Requires-Dist: langgraph-prebuilt==1.1.0
53
- Requires-Dist: langgraph-sdk==0.4.2
49
+ Requires-Dist: langchain-classic==1.0.0
50
+ Requires-Dist: langgraph==1.0.10
51
+ Requires-Dist: langgraph-prebuilt==1.0.10
54
52
  Requires-Dist: langsmith==0.9.5
55
53
  Requires-Dist: unitycatalog-ai==0.3.2
56
54
  Requires-Dist: unitycatalog-langchain==0.3.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: databricks-tellr-app
3
- Version: 0.4.2.dev6
3
+ Version: 0.4.2.dev7
4
4
  Summary: Tellr application package for Databricks Apps
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -10,10 +10,10 @@ Requires-Dist: python-multipart==0.0.20
10
10
  Requires-Dist: pydantic==2.12.4
11
11
  Requires-Dist: pydantic-settings==2.12.0
12
12
  Requires-Dist: databricks-langchain==0.9.0
13
- Requires-Dist: langchain==1.3.14
14
- Requires-Dist: langchain-core==1.5.3
15
- Requires-Dist: langchain-community==0.4.2
16
- Requires-Dist: langchain-text-splitters==1.1.2
13
+ Requires-Dist: langchain==1.0.5
14
+ Requires-Dist: langchain-core==1.0.4
15
+ Requires-Dist: langchain-community==0.4.1
16
+ Requires-Dist: langchain-text-splitters==1.0.0
17
17
  Requires-Dist: litellm==1.80.11
18
18
  Requires-Dist: mcp==1.27.0
19
19
  Requires-Dist: opentelemetry-api==1.38.0
@@ -46,11 +46,9 @@ Requires-Dist: databricks-ai-bridge==0.21.0
46
46
  Requires-Dist: databricks-ai-search==0.76
47
47
  Requires-Dist: databricks-connect==16.1.7
48
48
  Requires-Dist: databricks-vectorsearch==0.75
49
- Requires-Dist: langchain-classic==1.0.8
50
- Requires-Dist: langgraph==1.2.10
51
- Requires-Dist: langgraph-checkpoint==4.1.1
52
- Requires-Dist: langgraph-prebuilt==1.1.0
53
- Requires-Dist: langgraph-sdk==0.4.2
49
+ Requires-Dist: langchain-classic==1.0.0
50
+ Requires-Dist: langgraph==1.0.10
51
+ Requires-Dist: langgraph-prebuilt==1.0.10
54
52
  Requires-Dist: langsmith==0.9.5
55
53
  Requires-Dist: unitycatalog-ai==0.3.2
56
54
  Requires-Dist: unitycatalog-langchain==0.3.0
@@ -55,11 +55,13 @@ setup.py
55
55
  ./src/api/services/job_queue.py
56
56
  ./src/api/services/session_manager.py
57
57
  ./src/api/services/session_naming.py
58
+ ./src/api/services/slide_repository.py
58
59
  ./src/api/services/usage_events.py
59
60
  ./src/api/services/usage_service.py
60
61
  ./src/api/utils/__init__.py
61
62
  ./src/api/utils/validation.py
62
63
  ./src/core/__init__.py
64
+ ./src/core/backfill_session_slides_startup.py
63
65
  ./src/core/config_loader.py
64
66
  ./src/core/context_utils.py
65
67
  ./src/core/database.py
@@ -209,11 +211,13 @@ src/api/services/feedback_service.py
209
211
  src/api/services/job_queue.py
210
212
  src/api/services/session_manager.py
211
213
  src/api/services/session_naming.py
214
+ src/api/services/slide_repository.py
212
215
  src/api/services/usage_events.py
213
216
  src/api/services/usage_service.py
214
217
  src/api/utils/__init__.py
215
218
  src/api/utils/validation.py
216
219
  src/core/__init__.py
220
+ src/core/backfill_session_slides_startup.py
217
221
  src/core/config_loader.py
218
222
  src/core/context_utils.py
219
223
  src/core/database.py
@@ -4,10 +4,10 @@ python-multipart==0.0.20
4
4
  pydantic==2.12.4
5
5
  pydantic-settings==2.12.0
6
6
  databricks-langchain==0.9.0
7
- langchain==1.3.14
8
- langchain-core==1.5.3
9
- langchain-community==0.4.2
10
- langchain-text-splitters==1.1.2
7
+ langchain==1.0.5
8
+ langchain-core==1.0.4
9
+ langchain-community==0.4.1
10
+ langchain-text-splitters==1.0.0
11
11
  litellm==1.80.11
12
12
  mcp==1.27.0
13
13
  opentelemetry-api==1.38.0
@@ -40,11 +40,9 @@ databricks-ai-bridge==0.21.0
40
40
  databricks-ai-search==0.76
41
41
  databricks-connect==16.1.7
42
42
  databricks-vectorsearch==0.75
43
- langchain-classic==1.0.8
44
- langgraph==1.2.10
45
- langgraph-checkpoint==4.1.1
46
- langgraph-prebuilt==1.1.0
47
- langgraph-sdk==0.4.2
43
+ langchain-classic==1.0.0
44
+ langgraph==1.0.10
45
+ langgraph-prebuilt==1.0.10
48
46
  langsmith==0.9.5
49
47
  unitycatalog-ai==0.3.2
50
48
  unitycatalog-langchain==0.3.0
@@ -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.dev6"
7
+ version = "0.4.2.dev7"
8
8
  description = "Tellr application package for Databricks Apps"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -15,10 +15,10 @@ dependencies = [
15
15
  "pydantic==2.12.4",
16
16
  "pydantic-settings==2.12.0",
17
17
  "databricks-langchain==0.9.0",
18
- "langchain==1.3.14",
19
- "langchain-core==1.5.3",
20
- "langchain-community==0.4.2",
21
- "langchain-text-splitters==1.1.2",
18
+ "langchain==1.0.5",
19
+ "langchain-core==1.0.4",
20
+ "langchain-community==0.4.1",
21
+ "langchain-text-splitters==1.0.0",
22
22
  "litellm==1.80.11",
23
23
  "mcp==1.27.0",
24
24
  "opentelemetry-api==1.38.0",
@@ -60,13 +60,6 @@ dependencies = [
60
60
  # `pip install databricks-tellr-app` is safe.
61
61
  # SDR-4437 MEDIUM-7 (July 2026): the 7 formerly-ranged direct deps above
62
62
  # this block are now exact-pinned too; same refresh discipline.
63
- # PR2 LangGraph stack bump (August 2026): updated langchain 1.0.5→1.3.14,
64
- # langchain-core 1.0.4→1.5.3, langchain-community 0.4.1→0.4.2,
65
- # langchain-text-splitters 1.0.0→1.1.2, langchain-classic 1.0.0→1.0.8,
66
- # langgraph 1.0.10→1.2.10, added langgraph-checkpoint==4.1.1,
67
- # langgraph-prebuilt 1.0.10→1.1.0, added langgraph-sdk==0.4.2. These match
68
- # the repo-root requirements.txt and pyproject.toml. MUST be re-verified via
69
- # a devloop deploy on db-tellr-dev-pinfix or equivalent before PR3 ships.
70
63
  "databricks-sdk==0.120.0",
71
64
  "mlflow[databricks]==3.14.0",
72
65
  "mlflow-skinny==3.14.0",
@@ -75,11 +68,9 @@ dependencies = [
75
68
  "databricks-ai-search==0.76",
76
69
  "databricks-connect==16.1.7",
77
70
  "databricks-vectorsearch==0.75",
78
- "langchain-classic==1.0.8",
79
- "langgraph==1.2.10",
80
- "langgraph-checkpoint==4.1.1",
81
- "langgraph-prebuilt==1.1.0",
82
- "langgraph-sdk==0.4.2",
71
+ "langchain-classic==1.0.0",
72
+ "langgraph==1.0.10",
73
+ "langgraph-prebuilt==1.0.10",
83
74
  "langsmith==0.9.5",
84
75
  "unitycatalog-ai==0.3.2",
85
76
  "unitycatalog-langchain==0.3.0",
@@ -40,6 +40,7 @@ from src.core.database import (
40
40
  stop_token_refresh,
41
41
  )
42
42
  from src.core.migrate_profiles_to_agent_config import migrate_profiles, backfill_sessions
43
+ from src.core.backfill_session_slides_startup import backfill_unmigrated_decks
43
44
 
44
45
  logger = logging.getLogger(__name__)
45
46
 
@@ -114,6 +115,16 @@ async def lifespan(app: FastAPI):
114
115
  backfilled = backfill_sessions(get_session_local())
115
116
  if backfilled:
116
117
  logger.info(f"Backfilled {backfilled} sessions with agent_config")
118
+
119
+ # Row-per-slide: migrate historical deck_json blobs into session_slides
120
+ # rows. Guarded by a NOT EXISTS anti-join, so this is a no-op scan once
121
+ # every deck has rows. Runs here rather than as a manual script so an
122
+ # upgrade cannot leave decks half-migrated (a deck edited before a
123
+ # hand-run backfill acquires rows without its verdicts, and the
124
+ # idempotency guard then skips it permanently).
125
+ slide_decks = backfill_unmigrated_decks(get_session_local())
126
+ if slide_decks:
127
+ logger.info(f"Backfilled {slide_decks} deck(s) into session_slides rows")
117
128
  except Exception as e:
118
129
  logger.error(f"Failed to initialize database: {e}")
119
130
  raise
@@ -436,12 +436,12 @@ async def update_slide_verification(index: int, request: UpdateVerificationReque
436
436
  content_hash = compute_slide_hash(slide_html)
437
437
 
438
438
  if request.verification is not None:
439
- # Save verification by content hash
439
+ # Save verification by content hash (row-level merge)
440
440
  await asyncio.to_thread(
441
- session_manager.save_verification,
441
+ session_manager.write_slide_verification,
442
442
  request.session_id,
443
- content_hash,
444
- request.verification,
443
+ index,
444
+ {content_hash: request.verification},
445
445
  )
446
446
 
447
447
  logger.info(
@@ -174,10 +174,10 @@ async def verify_slide(slide_index: int, request: VerifySlideRequest):
174
174
 
175
175
  # Save this result by content hash (so it's remembered)
176
176
  await asyncio.to_thread(
177
- session_manager.save_verification,
177
+ session_manager.write_slide_verification,
178
178
  request.session_id,
179
- content_hash,
180
- unknown_result,
179
+ slide_index,
180
+ {content_hash: unknown_result},
181
181
  )
182
182
 
183
183
  return VerifySlideResponse(**unknown_result)
@@ -202,10 +202,10 @@ async def verify_slide(slide_index: int, request: VerifySlideRequest):
202
202
  "error": False,
203
203
  }
204
204
  await asyncio.to_thread(
205
- session_manager.save_verification,
205
+ session_manager.write_slide_verification,
206
206
  request.session_id,
207
- content_hash,
208
- unknown_result,
207
+ slide_index,
208
+ {content_hash: unknown_result},
209
209
  )
210
210
  return VerifySlideResponse(**unknown_result)
211
211
 
@@ -240,10 +240,10 @@ async def verify_slide(slide_index: int, request: VerifySlideRequest):
240
240
 
241
241
  # Save verification by content hash (survives deck regeneration)
242
242
  await asyncio.to_thread(
243
- session_manager.save_verification,
243
+ session_manager.write_slide_verification,
244
244
  request.session_id,
245
- content_hash,
246
- verification_result,
245
+ slide_index,
246
+ {content_hash: verification_result},
247
247
  )
248
248
 
249
249
  logger.info(