databricks-tellr-app 0.4.3.dev3401__tar.gz → 0.4.3.dev3432__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 (168) hide show
  1. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/PKG-INFO +1 -1
  2. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
  3. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app.egg-info/SOURCES.txt +2 -0
  4. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/pyproject.toml +1 -1
  5. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/chat.py +6 -31
  6. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/identity_provider.py +4 -1
  7. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/identity_providers/account_provider.py +5 -2
  8. databricks_tellr_app-0.4.3.dev3432/src/services/identity_providers/scim_filter.py +6 -0
  9. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/identity_providers/workspace_provider.py +6 -2
  10. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/README.md +0 -0
  11. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app/__init__.py +0 -0
  12. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app/run.py +0 -0
  13. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
  14. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app.egg-info/requires.txt +0 -0
  15. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/databricks_tellr_app.egg-info/top_level.txt +0 -0
  16. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/setup.cfg +0 -0
  17. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/setup.py +0 -0
  18. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/__init__.py +0 -0
  19. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/__init__.py +0 -0
  20. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/_otel_bootstrap.py +0 -0
  21. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/fixtures/tour_demo_deck.json +0 -0
  22. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/main.py +0 -0
  23. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/mcp_auth.py +0 -0
  24. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/mcp_server.py +0 -0
  25. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/middleware/__init__.py +0 -0
  26. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/middleware/csrf.py +0 -0
  27. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/middleware/request_logging.py +0 -0
  28. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/middleware/security_headers.py +0 -0
  29. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/__init__.py +0 -0
  30. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/_authz.py +0 -0
  31. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/admin.py +0 -0
  32. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/admin_usage.py +0 -0
  33. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/agent_config.py +0 -0
  34. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/deck_contributors.py +0 -0
  35. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/export.py +0 -0
  36. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/feedback.py +0 -0
  37. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/google_slides.py +0 -0
  38. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/images.py +0 -0
  39. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/local_version.py +0 -0
  40. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/profiles.py +0 -0
  41. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/sessions.py +0 -0
  42. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/__init__.py +0 -0
  43. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/contributors.py +0 -0
  44. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/deck_prompts.py +0 -0
  45. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/design_systems.py +0 -0
  46. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/identities.py +0 -0
  47. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/settings/slide_styles.py +0 -0
  48. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/setup.py +0 -0
  49. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/slides.py +0 -0
  50. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/tools.py +0 -0
  51. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/tour.py +0 -0
  52. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/verification.py +0 -0
  53. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/routes/version.py +0 -0
  54. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/__init__.py +0 -0
  55. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/agent_config.py +0 -0
  56. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/feedback.py +0 -0
  57. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/requests.py +0 -0
  58. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/responses.py +0 -0
  59. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/settings/__init__.py +0 -0
  60. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/settings/requests.py +0 -0
  61. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/settings/responses.py +0 -0
  62. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/schemas/streaming.py +0 -0
  63. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/__init__.py +0 -0
  64. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/chat_service.py +0 -0
  65. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/export_job_queue.py +0 -0
  66. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/feedback_service.py +0 -0
  67. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/job_queue.py +0 -0
  68. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/session_manager.py +0 -0
  69. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/session_naming.py +0 -0
  70. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/usage_events.py +0 -0
  71. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/services/usage_service.py +0 -0
  72. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/utils/__init__.py +0 -0
  73. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/api/utils/validation.py +0 -0
  74. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/__init__.py +0 -0
  75. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/config_loader.py +0 -0
  76. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/context_utils.py +0 -0
  77. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/database.py +0 -0
  78. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/databricks_client.py +0 -0
  79. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/defaults.py +0 -0
  80. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/encryption.py +0 -0
  81. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/init_default_profile.py +0 -0
  82. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/lakebase.py +0 -0
  83. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/migrate_profiles_to_agent_config.py +0 -0
  84. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/mlflow_agent_spans.py +0 -0
  85. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/mlflow_tracing.py +0 -0
  86. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/otel_logging.py +0 -0
  87. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/permission_context.py +0 -0
  88. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/prompt_modules.py +0 -0
  89. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/settings_db.py +0 -0
  90. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/core/user_context.py +0 -0
  91. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/__init__.py +0 -0
  92. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/__init__.py +0 -0
  93. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/deck_contributor.py +0 -0
  94. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/design_system.py +0 -0
  95. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/encryption_key.py +0 -0
  96. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/feedback.py +0 -0
  97. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/genie_space.py +0 -0
  98. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/google_global_credentials.py +0 -0
  99. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/google_oauth_token.py +0 -0
  100. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/identity.py +0 -0
  101. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/image.py +0 -0
  102. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/profile.py +0 -0
  103. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/profile_contributor.py +0 -0
  104. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/prompts.py +0 -0
  105. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/request_log.py +0 -0
  106. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/session.py +0 -0
  107. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/slide_deck_prompt.py +0 -0
  108. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/slide_style_library.py +0 -0
  109. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/usage_event.py +0 -0
  110. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/models/user_preference.py +0 -0
  111. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/database/types.py +0 -0
  112. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/domain/__init__.py +0 -0
  113. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/domain/slide.py +0 -0
  114. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/domain/slide_deck.py +0 -0
  115. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/__init__.py +0 -0
  116. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/agent.py +0 -0
  117. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/agent_factory.py +0 -0
  118. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/config_service.py +0 -0
  119. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/config_validator.py +0 -0
  120. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/__init__.py +0 -0
  121. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/ast_guard.py +0 -0
  122. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/codeprep.py +0 -0
  123. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/gslides_runner.py +0 -0
  124. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/jail.py +0 -0
  125. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/pptx_runner.py +0 -0
  126. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/converter_jail/protocol.py +0 -0
  127. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/design_system_compiler.py +0 -0
  128. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/design_system_service.py +0 -0
  129. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/design_system_templates.py +0 -0
  130. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/drive_uploader.py +0 -0
  131. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/evaluation/__init__.py +0 -0
  132. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/evaluation/llm_judge.py +0 -0
  133. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/genie_service.py +0 -0
  134. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/google_slides_auth.py +0 -0
  135. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/google_slides_prompts_defaults.py +0 -0
  136. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/html_to_google_slides.py +0 -0
  137. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/html_to_pptx.py +0 -0
  138. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/identity_providers/__init__.py +0 -0
  139. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/identity_providers/local_provider.py +0 -0
  140. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/image_service.py +0 -0
  141. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/image_tools.py +0 -0
  142. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/permission_service.py +0 -0
  143. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/pptx_from_html_huashu.py +0 -0
  144. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/pptx_from_records.py +0 -0
  145. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/pptx_prompts_defaults.py +0 -0
  146. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/profile_service.py +0 -0
  147. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/streaming_callback.py +0 -0
  148. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/__init__.py +0 -0
  149. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/agent_bricks_tool.py +0 -0
  150. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/ds_asset_tool.py +0 -0
  151. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/genie_tool.py +0 -0
  152. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/mcp_tool.py +0 -0
  153. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/model_endpoint_tool.py +0 -0
  154. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/tools/vector_tool.py +0 -0
  155. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/services/validator.py +0 -0
  156. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/__init__.py +0 -0
  157. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/css_utils.py +0 -0
  158. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/ds_asset_utils.py +0 -0
  159. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/error_handling.py +0 -0
  160. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/html_safety.py +0 -0
  161. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/html_utils.py +0 -0
  162. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/image_utils.py +0 -0
  163. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/js_validator.py +0 -0
  164. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/logging_config.py +0 -0
  165. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/pi_filter.py +0 -0
  166. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/slide_hash.py +0 -0
  167. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/src/utils/spotlight.py +0 -0
  168. {databricks_tellr_app-0.4.3.dev3401 → databricks_tellr_app-0.4.3.dev3432}/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.3.dev3401
3
+ Version: 0.4.3.dev3432
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.3.dev3401
3
+ Version: 0.4.3.dev3432
4
4
  Summary: Tellr application package for Databricks Apps
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -137,6 +137,7 @@ setup.py
137
137
  ./src/services/identity_providers/__init__.py
138
138
  ./src/services/identity_providers/account_provider.py
139
139
  ./src/services/identity_providers/local_provider.py
140
+ ./src/services/identity_providers/scim_filter.py
140
141
  ./src/services/identity_providers/workspace_provider.py
141
142
  ./src/services/tools/__init__.py
142
143
  ./src/services/tools/agent_bricks_tool.py
@@ -299,6 +300,7 @@ src/services/evaluation/llm_judge.py
299
300
  src/services/identity_providers/__init__.py
300
301
  src/services/identity_providers/account_provider.py
301
302
  src/services/identity_providers/local_provider.py
303
+ src/services/identity_providers/scim_filter.py
302
304
  src/services/identity_providers/workspace_provider.py
303
305
  src/services/tools/__init__.py
304
306
  src/services/tools/agent_bricks_tool.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "databricks-tellr-app"
7
- version = "0.4.3.dev3401"
7
+ version = "0.4.3.dev3432"
8
8
  description = "Tellr application package for Databricks Apps"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -25,6 +25,7 @@ from src.api.schemas.agent_config import normalize_style_source_exclusivity
25
25
  from src.api.schemas.requests import ChatRequest
26
26
  from src.api.schemas.responses import ChatResponse
27
27
  from src.api.schemas.streaming import StreamEvent, StreamEventType
28
+ from src.api.routes._authz import _check_deck_permission_for_session
28
29
  from src.api.services.chat_service import get_chat_service
29
30
  from src.api.services.job_queue import enqueue_job
30
31
  from src.api.services.session_manager import SessionNotFoundError, get_session_manager
@@ -120,32 +121,6 @@ def _check_chat_permission(session_id: str, db: DBSession) -> None:
120
121
  )
121
122
 
122
123
 
123
- def _require_chat_request_owner(session_id: str) -> None:
124
- """Allow polling only for the session that owns the chat request.
125
-
126
- ChatRequest rows are bound to a session, and conversations are private
127
- (same rule as ``GET /api/sessions/{id}/messages``): only the session
128
- creator may read them. A viewer's contributor session is a different
129
- session with a different creator, so deck-level CAN_VIEW is not enough.
130
-
131
- Raises:
132
- HTTPException 404: Session no longer exists.
133
- HTTPException 403: Caller is not the session creator.
134
- """
135
- session_manager = get_session_manager()
136
- try:
137
- session_info = session_manager.get_session(session_id)
138
- except SessionNotFoundError:
139
- raise HTTPException(status_code=404, detail="Request not found")
140
-
141
- current_user = get_current_user()
142
- if not current_user or session_info.get("created_by") != current_user:
143
- raise HTTPException(
144
- status_code=403,
145
- detail="Conversations are private. Only the session creator can view chat events.",
146
- )
147
-
148
-
149
124
  def _apply_org_default_style_source(
150
125
  agent_config_data: dict,
151
126
  *,
@@ -696,21 +671,21 @@ async def poll_chat(
696
671
  Dictionary with status, events, last_message_id, and result
697
672
 
698
673
  Raises:
699
- HTTPException: 404 if request not found, 403 if caller is not the
700
- session creator
674
+ HTTPException: 404 if request not found
701
675
  """
702
676
  session_manager = get_session_manager()
703
677
 
704
678
  # SDR-4437 (chat-poll IDOR): a request_id must not grant access to another
705
679
  # user's chat events/result. ChatRequest rows are session-bound — resolve
706
- # the session and require the caller to be its creator (F-CR-31: same
707
- # privacy rule as /messages; deck CAN_VIEW must not expose chat events).
680
+ # the session and require CAN_VIEW on the deck.
708
681
  session_id = await asyncio.to_thread(
709
682
  session_manager.get_session_id_for_request, request_id
710
683
  )
711
684
  if session_id is None:
712
685
  raise HTTPException(status_code=404, detail="Request not found")
713
- await asyncio.to_thread(_require_chat_request_owner, session_id)
686
+ await asyncio.to_thread(
687
+ _check_deck_permission_for_session, session_id, PermissionLevel.CAN_VIEW
688
+ )
714
689
 
715
690
  chat_request = await asyncio.to_thread(
716
691
  session_manager.get_chat_request, request_id
@@ -14,6 +14,8 @@ from enum import Enum
14
14
  from functools import lru_cache
15
15
  from typing import Dict, List, Optional
16
16
 
17
+ from src.services.identity_providers.scim_filter import escape_scim_filter_string
18
+
17
19
  logger = logging.getLogger(__name__)
18
20
 
19
21
 
@@ -33,8 +35,9 @@ def _resolve_cached(email: str) -> str:
33
35
  provider = get_identity_provider()
34
36
  from src.services.identity_providers.workspace_provider import WorkspaceIdentityProvider
35
37
  if isinstance(provider._provider, WorkspaceIdentityProvider):
38
+ escaped_email = escape_scim_filter_string(email)
36
39
  for u in provider._provider._client.users.list(
37
- filter=f'userName eq "{email}"',
40
+ filter=f'userName eq "{escaped_email}"',
38
41
  attributes="id,userName,displayName",
39
42
  ):
40
43
  if u.display_name:
@@ -12,6 +12,8 @@ from typing import List, Optional
12
12
 
13
13
  import requests
14
14
 
15
+ from src.services.identity_providers.scim_filter import escape_scim_filter_string
16
+
15
17
  logger = logging.getLogger(__name__)
16
18
 
17
19
 
@@ -181,9 +183,10 @@ class AccountIdentityProvider:
181
183
  Combined list of matching users and groups
182
184
  """
183
185
  results = []
186
+ escaped_query = escape_scim_filter_string(query)
184
187
 
185
188
  if include_users:
186
- user_filter = f'userName co "{query}" or displayName co "{query}"'
189
+ user_filter = f'userName co "{escaped_query}" or displayName co "{escaped_query}"'
187
190
  try:
188
191
  users = self.list_users(filter_query=user_filter, max_results=max_results)
189
192
  results.extend(users)
@@ -191,7 +194,7 @@ class AccountIdentityProvider:
191
194
  logger.warning("Failed to search users in Account API")
192
195
 
193
196
  if include_groups:
194
- group_filter = f'displayName co "{query}"'
197
+ group_filter = f'displayName co "{escaped_query}"'
195
198
  try:
196
199
  groups = self.list_groups(filter_query=group_filter, max_results=max_results)
197
200
  results.extend(groups)
@@ -0,0 +1,6 @@
1
+ """Helpers for safely constructing SCIM filters."""
2
+
3
+
4
+ def escape_scim_filter_string(value: str) -> str:
5
+ """Escape a value for use inside a SCIM filter string literal."""
6
+ return value.replace("\\", "\\\\").replace('"', '\\"')
@@ -12,6 +12,8 @@ from typing import List, Optional
12
12
 
13
13
  from databricks.sdk import WorkspaceClient
14
14
 
15
+ from src.services.identity_providers.scim_filter import escape_scim_filter_string
16
+
15
17
  logger = logging.getLogger(__name__)
16
18
 
17
19
 
@@ -50,8 +52,9 @@ class WorkspaceIdentityProvider:
50
52
  try:
51
53
  kwargs: dict = {"attributes": "id,userName,displayName"}
52
54
  if filter_query:
55
+ escaped_query = escape_scim_filter_string(filter_query)
53
56
  kwargs["filter"] = (
54
- f'userName co "{filter_query}" or displayName co "{filter_query}"'
57
+ f'userName co "{escaped_query}" or displayName co "{escaped_query}"'
55
58
  )
56
59
 
57
60
  users: List[dict] = []
@@ -90,7 +93,8 @@ class WorkspaceIdentityProvider:
90
93
  try:
91
94
  kwargs: dict = {"attributes": "id,displayName"}
92
95
  if filter_query:
93
- kwargs["filter"] = f'displayName co "{filter_query}"'
96
+ escaped_query = escape_scim_filter_string(filter_query)
97
+ kwargs["filter"] = f'displayName co "{escaped_query}"'
94
98
 
95
99
  groups: List[dict] = []
96
100
  for g in self._client.groups.list(**kwargs):