databricks-tellr-app 0.5.1.dev2__tar.gz → 0.5.1.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/PKG-INFO +1 -1
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app.egg-info/PKG-INFO +1 -1
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/pyproject.toml +1 -1
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/session_manager.py +25 -17
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/nodes.py +88 -13
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/README.md +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app/run.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app.egg-info/SOURCES.txt +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app.egg-info/dependency_links.txt +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app.egg-info/requires.txt +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app.egg-info/top_level.txt +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/setup.cfg +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/setup.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/_otel_bootstrap.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/fixtures/tour_demo_deck.json +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/main.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/mcp_auth.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/mcp_server.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/csrf.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/request_logging.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/security_headers.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/_authz.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/admin.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/admin_usage.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/agent_config.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/agent_definitions.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/chat.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/deck_contributors.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/export.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/feedback.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/google_slides.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/images.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/local_version.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/profiles.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/sessions.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/contributors.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/deck_prompts.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/design_systems.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/identities.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/settings/slide_styles.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/setup.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/slides.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/tools.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/tour.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/verification.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/version.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/agent_config.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/agent_definitions.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/feedback.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/graph_release_history.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/graph_releases.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/requests.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/responses.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/settings/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/settings/requests.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/settings/responses.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/streaming.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/chat_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/deck_level_writer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/export_job_queue.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/feedback_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/job_queue.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/session_naming.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/slide_repository.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/slide_style_preview_queue.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/usage_events.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/usage_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/utils/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/utils/validation.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/backfill_session_slides_startup.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/checkpointer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/config_loader.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/context_utils.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/database.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/databricks_client.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/defaults.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/encryption.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/init_default_profile.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/lakebase.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/migrate_profiles_to_agent_config.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/mlflow_agent_spans.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/mlflow_tracing.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/otel_logging.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/permission_context.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/prompt_modules.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/settings_db.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/architect.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/build_reviewer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/builder.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/data_analyst.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/deck_reviewer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/fix_reviewer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/fixer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/strip_retired_prompt_keys.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/user_context.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/data_migration.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/deck_contributor.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/deck_review.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/design_system.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/encryption_key.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/feedback.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/genie_space.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/google_global_credentials.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/google_oauth_token.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/graph_checkpoint.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/graph_configuration.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/identity.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/image.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/profile.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/profile_contributor.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/prompts.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/request_log.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/session.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/slide_deck_prompt.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/slide_style_library.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/slide_style_preview.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/usage_event.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/user_preference.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/types.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/conversation_engine.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/conversation_turns.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/deck_spec.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/deck_spec_slides.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/finding.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/finding_copy.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/skill_io.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/slide.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/slide_alignment.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/slide_deck.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/slide_numbering.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/slide_operations.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_definition_manifest_v1.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_factory.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_model_payload.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_resolution.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_runtime.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_runtime_identity.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_schema_registry.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_schema_types.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/agent_test_workbench.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/collaboration_history.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/config_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/config_validator.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/conversation_pins.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/ast_guard.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/codeprep.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/gslides_runner.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/jail.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/pptx_runner.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/converter_jail/protocol.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/deck_css_aggregator.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/deck_review_store.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/design_system_compiler.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/design_system_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/design_system_templates.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/drive_uploader.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/evaluation/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/evaluation/llm_judge.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/foreman_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/gateway_openai.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/genie_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/google_slides_auth.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/google_slides_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/builder.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/event_emitter.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/progress.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/routers.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/state.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/user_notices.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_bootstrap.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_content.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_draft.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_publication.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_rollback.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_seed.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_configuration_workbench.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_definition_manifest.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_release_evidence.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph_release_history.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/html_to_google_slides.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/html_to_pptx.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_provider.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_providers/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_providers/account_provider.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_providers/local_provider.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_providers/scim_filter.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/identity_providers/workspace_provider.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/image_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/image_tools.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/model_endpoint_catalog.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/model_endpoint_probe.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/permission_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/persisted_graph_release.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/pptx_from_html_huashu.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/pptx_from_records.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/pptx_prompts_defaults.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/profile_service.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/prompt_assembler.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/shared_deck_attribution.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/slide_style_preview_fixture.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/slide_style_preview_storage.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/spec_sync.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/streaming_callback.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/svg_sanitizer.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/template_sections.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/agent_bricks_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/ds_asset_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/genie_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/mcp_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/model_endpoint_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/tools/vector_tool.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/validator.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/__init__.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/css_utils.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/ds_asset_utils.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/error_handling.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/graph_safety.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/html_safety.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/html_utils.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/image_utils.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/js_validator.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/logging_config.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/pi_filter.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/slide_hash.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/spotlight.py +0 -0
- {databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/utils/text_caps.py +0 -0
|
@@ -712,8 +712,11 @@ def _rewrite_slide_rows(
|
|
|
712
712
|
) -> None:
|
|
713
713
|
"""THE per-slide rewrite of a whole deck: one copy, so its callers cannot diverge.
|
|
714
714
|
|
|
715
|
-
``save_slide_deck``, ``restore_version`` and
|
|
716
|
-
|
|
715
|
+
``save_slide_deck``, ``restore_version`` and :func:`_lay_out_slide_rows` all
|
|
716
|
+
rewrite every row of a deck through here. ``_lay_out_slide_rows`` is the
|
|
717
|
+
exact-map shift behind ``SlideWriter.apply_slide_layout`` (and so its
|
|
718
|
+
``insert_pending_slides`` special case) and, through :func:`_splice_slide_rows`,
|
|
719
|
+
the manual ``SessionManager.insert_slide``. Hand-copied versions of this
|
|
717
720
|
block once drifted apart, and a reorder then attached slide identity and
|
|
718
721
|
verdicts to the wrong slide.
|
|
719
722
|
|
|
@@ -817,22 +820,22 @@ def _splice_slide_rows(
|
|
|
817
820
|
old_rows: List[SessionSlide],
|
|
818
821
|
new_slides: Mapping[int, Tuple[Dict[str, Any], Dict[str, Any]]],
|
|
819
822
|
) -> None:
|
|
820
|
-
"""
|
|
823
|
+
"""Splice new slides in among a deck's rows, in order: the in-order wrapper.
|
|
821
824
|
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
+
The manual ``SessionManager.insert_slide``'s shift. It only builds the
|
|
826
|
+
in-order layout and hands it to :func:`_lay_out_slide_rows`, THE shift
|
|
827
|
+
primitive, which the graph's ``SlideWriter.apply_slide_layout`` (and so its
|
|
828
|
+
``insert_pending_slides`` special case) calls directly — so there is one
|
|
829
|
+
shift primitive and one row writer.
|
|
825
830
|
|
|
826
|
-
1.
|
|
827
|
-
(:func:`_attribution_from`) BEFORE any write: ``_upsert_slide_row``
|
|
828
|
-
rewrites those ORM rows in place.
|
|
829
|
-
2. ``len(old_rows) + len(new_slides)`` positions are laid out: position ``i``
|
|
831
|
+
1. ``len(old_rows) + len(new_slides)`` positions are laid out: position ``i``
|
|
830
832
|
holds ``new_slides[i]``'s slide when ``i`` is a key, otherwise the next old
|
|
831
833
|
row in order.
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
stays NULL and no moved row
|
|
834
|
+
2. :func:`_lay_out_slide_rows` snapshots and attributes every old row BEFORE
|
|
835
|
+
any write and rewrites every position with that exact map, never the
|
|
836
|
+
attribution heuristic, and with ``now_dt=None`` / ``author_fallback=None``,
|
|
837
|
+
so a moved row with a NULL author or timestamp stays NULL and no moved row
|
|
838
|
+
gets a fresh ``modified_at``.
|
|
836
839
|
|
|
837
840
|
Args:
|
|
838
841
|
db: live SQLAlchemy session; the caller owns the transaction.
|
|
@@ -878,7 +881,11 @@ def _lay_out_slide_rows(
|
|
|
878
881
|
at new index ``i``, or ``None`` for a new slide, whose
|
|
879
882
|
``(slide_dict, incoming_record)`` is ``new_slides[i]``. An old index may
|
|
880
883
|
appear at most once; one that is absent is deleted (pruned, with its record
|
|
881
|
-
and spec fragment).
|
|
884
|
+
and spec fragment). Every exact-map writer goes through here:
|
|
885
|
+
``SlideWriter.apply_slide_layout`` (the graph's operations layout, and its
|
|
886
|
+
``insert_pending_slides`` special case) directly, and the manual
|
|
887
|
+
``SessionManager.insert_slide`` through :func:`_splice_slide_rows`, the
|
|
888
|
+
in-order wrapper.
|
|
882
889
|
|
|
883
890
|
1. Every old row is snapshotted (:func:`_snapshot_row`) and attributed
|
|
884
891
|
(:func:`_attribution_from`) BEFORE any write: ``_upsert_slide_row``
|
|
@@ -2220,8 +2227,9 @@ class SessionManager:
|
|
|
2220
2227
|
"""Insert one slide (the viewer's manual insert) in ONE transaction.
|
|
2221
2228
|
|
|
2222
2229
|
The manual insert shifts every later slide by one, so it moves rows with
|
|
2223
|
-
the EXACT old-row map (:func:`_splice_slide_rows`,
|
|
2224
|
-
|
|
2230
|
+
the EXACT old-row map (:func:`_splice_slide_rows`, the in-order wrapper of
|
|
2231
|
+
:func:`_lay_out_slide_rows`, the shift primitive the graph's
|
|
2232
|
+
``SlideWriter.apply_slide_layout`` also uses), never ``save_slide_deck``'s
|
|
2225
2233
|
attribution heuristic. Rows, spec, deck columns and evidence are written
|
|
2226
2234
|
in one ``get_db_session()``, in this order:
|
|
2227
2235
|
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/services/graph/nodes.py
RENAMED
|
@@ -1919,6 +1919,43 @@ _ALIGNMENT_REFUSALS = {
|
|
|
1919
1919
|
),
|
|
1920
1920
|
}
|
|
1921
1921
|
|
|
1922
|
+
# What a refused edit without operations tells the MODEL (spec §4: "the problem
|
|
1923
|
+
# tells the model to list the changes as operations"). The user's sentence above
|
|
1924
|
+
# and ``error_state`` keep their text; only the retry's problem (and the refusal
|
|
1925
|
+
# row's, which the next turn's note replays) says this. Each problem says what
|
|
1926
|
+
# went wrong and then how to answer instead — never that the change cannot be
|
|
1927
|
+
# made, because as operations it can: the prompt's ``rejected_edit`` rule turns
|
|
1928
|
+
# "cannot be done" into a ``discuss`` that tells the user deleting or moving is
|
|
1929
|
+
# impossible, the very symptom operations exist to remove. So the alignment's
|
|
1930
|
+
# own detail ("removing slides is not supported", "an edit cannot move a slide")
|
|
1931
|
+
# reaches ``error_state`` only, never the model.
|
|
1932
|
+
_AS_OPERATIONS = (
|
|
1933
|
+
"return this edit as `operations` (insert, update, delete, replace or move, "
|
|
1934
|
+
"at the positions of current_deck_spec) instead of a revised deck_spec: "
|
|
1935
|
+
"removing a slide is a delete and reordering slides is a move"
|
|
1936
|
+
)
|
|
1937
|
+
|
|
1938
|
+
# What the alignment could not read, by ``AlignmentRefused.code``, in the model's
|
|
1939
|
+
# terms and with no verdict on what an edit may do.
|
|
1940
|
+
_ALIGNMENT_PROBLEM_DETAILS = {
|
|
1941
|
+
"ambiguous": (
|
|
1942
|
+
"your revised deck_spec can be matched to current_deck_spec in more than "
|
|
1943
|
+
"one way, so it is unclear which slides are new and which were changed"
|
|
1944
|
+
),
|
|
1945
|
+
"moves_slides": (
|
|
1946
|
+
"your revised deck_spec moves a slide: one of its slides is a copy of a "
|
|
1947
|
+
"different slide of current_deck_spec"
|
|
1948
|
+
),
|
|
1949
|
+
"removes_slides": (
|
|
1950
|
+
"your revised deck_spec has fewer slides than current_deck_spec"
|
|
1951
|
+
),
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
|
|
1955
|
+
def _as_operations_problem(code: str, what_went_wrong: str) -> OperationProblem:
|
|
1956
|
+
"""A refused full-spec edit's problem: what went wrong, then answer as operations."""
|
|
1957
|
+
return OperationProblem(code, (), f"{what_went_wrong}; {_AS_OPERATIONS}")
|
|
1958
|
+
|
|
1922
1959
|
# The two ways a row write planned against the committed rows can fail to land
|
|
1923
1960
|
# (#314 D4). The insert shift and the operations layout share the CODES, so an
|
|
1924
1961
|
# operator sees one code per cause whichever path wrote. They do not share the
|
|
@@ -1966,12 +2003,14 @@ def _rows_failed_degrade(exc: Exception, *, operations: bool = False) -> Dict[st
|
|
|
1966
2003
|
|
|
1967
2004
|
# The planning refusals the model can fix (spec §5), by degrade code: operations
|
|
1968
2005
|
# problems (and the DeckSpec problems composing reports with them), template
|
|
1969
|
-
# binding errors,
|
|
1970
|
-
# edit
|
|
1971
|
-
#
|
|
1972
|
-
#
|
|
1973
|
-
#
|
|
1974
|
-
# was
|
|
2006
|
+
# binding errors, today's alignment and position-set refusals of a full-spec
|
|
2007
|
+
# edit, and an edit that returned neither operations nor a spec (a slip the new
|
|
2008
|
+
# prompt's "deck_spec is not needed" invites). The full-spec and spec-less ones
|
|
2009
|
+
# tell the model to answer with operations (_AS_OPERATIONS). On one of these
|
|
2010
|
+
# the architect is asked ONCE more, told what it answered and exactly why that
|
|
2011
|
+
# was refused, and the turn degrades only if the second answer is refused too.
|
|
2012
|
+
# Everything else is the deck's state, not the answer's — no persisted spec, a
|
|
2013
|
+
# spec the rows have outgrown, and a row write that did not land — so asking
|
|
1975
2014
|
# again would only spend a model call to reach the same refusal.
|
|
1976
2015
|
RETRYABLE_EDIT_CODES = frozenset(
|
|
1977
2016
|
{
|
|
@@ -1980,6 +2019,7 @@ RETRYABLE_EDIT_CODES = frozenset(
|
|
|
1980
2019
|
"edit_insert_ambiguous",
|
|
1981
2020
|
"edit_spec_moves_slides",
|
|
1982
2021
|
"edit_spec_positions_changed",
|
|
2022
|
+
"edit_without_revised_spec",
|
|
1983
2023
|
}
|
|
1984
2024
|
)
|
|
1985
2025
|
|
|
@@ -2003,8 +2043,10 @@ def _refusal_problems(degrade: Dict[str, Any]) -> Tuple[OperationProblem, ...]:
|
|
|
2003
2043
|
"""Why *degrade* refused, as problems: what a retry is told and the row records.
|
|
2004
2044
|
|
|
2005
2045
|
A planning refusal carries its own under ``"problems"`` (an operations list's,
|
|
2006
|
-
one per binding error, an
|
|
2007
|
-
|
|
2046
|
+
one per binding error, and for an edit without operations — refused by the
|
|
2047
|
+
alignment or the position-set guard, or carrying no spec at all — one that
|
|
2048
|
+
says what went wrong and to answer with operations). Any other refusal is
|
|
2049
|
+
one problem: its code and its model-facing message.
|
|
2008
2050
|
"""
|
|
2009
2051
|
problems = degrade.get("problems")
|
|
2010
2052
|
if problems:
|
|
@@ -2611,6 +2653,18 @@ def _plan_answer(
|
|
|
2611
2653
|
"plan for the deck, so nothing has been changed. Please "
|
|
2612
2654
|
"try asking again."
|
|
2613
2655
|
),
|
|
2656
|
+
# What the retry is told: a slip the model can fix (M4).
|
|
2657
|
+
"problems": (
|
|
2658
|
+
OperationProblem(
|
|
2659
|
+
"edit_without_revised_spec",
|
|
2660
|
+
(),
|
|
2661
|
+
"your edit returned neither `operations` nor a deck_spec, "
|
|
2662
|
+
"so it changes nothing; an edit must list its changes as "
|
|
2663
|
+
"`operations` (insert, update, delete, replace or move, at "
|
|
2664
|
+
"the positions of current_deck_spec), or return the full "
|
|
2665
|
+
"revised deck_spec only to re-describe the deck as it stands",
|
|
2666
|
+
),
|
|
2667
|
+
),
|
|
2614
2668
|
}
|
|
2615
2669
|
elif not describe_only and (
|
|
2616
2670
|
len(spec.slides) < len(prior_spec.slides)
|
|
@@ -2625,14 +2679,25 @@ def _plan_answer(
|
|
|
2625
2679
|
# shorter spec would silently drop a committed row's spec; an
|
|
2626
2680
|
# equal-length one with other positions describes rows that are not
|
|
2627
2681
|
# there.
|
|
2682
|
+
revised_positions = sorted(s.position for s in spec.slides)
|
|
2683
|
+
current_positions = sorted(s.position for s in prior_spec.slides)
|
|
2628
2684
|
edit_degrade = {
|
|
2629
2685
|
"code": "edit_spec_positions_changed",
|
|
2630
2686
|
"message": (
|
|
2631
|
-
"the edit's deck_spec has slide positions "
|
|
2632
|
-
f"
|
|
2633
|
-
f"deck_spec has {sorted(s.position for s in prior_spec.slides)}"
|
|
2687
|
+
f"the edit's deck_spec has slide positions {revised_positions} "
|
|
2688
|
+
f"but the persisted deck_spec has {current_positions}"
|
|
2634
2689
|
),
|
|
2635
2690
|
"user": _POSITIONS_CHANGED_TEXT,
|
|
2691
|
+
# What the retry is told (spec §4): what went wrong, and to list
|
|
2692
|
+
# the change as operations, where a delete or a move is fine.
|
|
2693
|
+
"problems": (
|
|
2694
|
+
_as_operations_problem(
|
|
2695
|
+
"edit_spec_positions_changed",
|
|
2696
|
+
f"your revised deck_spec has slide positions "
|
|
2697
|
+
f"{revised_positions} but current_deck_spec has "
|
|
2698
|
+
f"{current_positions}",
|
|
2699
|
+
),
|
|
2700
|
+
),
|
|
2636
2701
|
}
|
|
2637
2702
|
|
|
2638
2703
|
# #314 follow-up (N2): a describe-only turn sees no HTML, so on a deck its
|
|
@@ -2718,12 +2783,22 @@ def _plan_answer(
|
|
|
2718
2783
|
"code": code,
|
|
2719
2784
|
"message": exc.detail,
|
|
2720
2785
|
"user": user,
|
|
2721
|
-
# What the retry is told (spec §5): the alignment
|
|
2786
|
+
# What the retry is told (spec §4-§5): what the alignment could
|
|
2787
|
+
# not read, then to list the change as operations — not the
|
|
2788
|
+
# alignment's own detail, whose "is not supported" / "cannot
|
|
2789
|
+
# move" would steer the model to tell the user it is impossible.
|
|
2722
2790
|
# It names no position, because what it could not read is the
|
|
2723
2791
|
# relation between two lists, not a slide. Its prefix keeps it
|
|
2724
2792
|
# apart from an operations problem's code.
|
|
2725
2793
|
"problems": (
|
|
2726
|
-
|
|
2794
|
+
_as_operations_problem(
|
|
2795
|
+
f"alignment_{exc.code}",
|
|
2796
|
+
_ALIGNMENT_PROBLEM_DETAILS.get(
|
|
2797
|
+
exc.code,
|
|
2798
|
+
"your revised deck_spec does not line up with "
|
|
2799
|
+
"current_deck_spec",
|
|
2800
|
+
),
|
|
2801
|
+
),
|
|
2727
2802
|
),
|
|
2728
2803
|
}
|
|
2729
2804
|
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/databricks_tellr_app/run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/_otel_bootstrap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/middleware/csrf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/_authz.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/admin_usage.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/agent_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/export.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/feedback.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/google_slides.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/images.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/local_version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/profiles.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/sessions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/slides.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/verification.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/routes/version.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/agent_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/requests.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/responses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/schemas/streaming.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/chat_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/job_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/services/usage_events.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/utils/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/api/utils/validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/checkpointer.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/config_loader.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/context_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/databricks_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/init_default_profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/mlflow_agent_spans.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/mlflow_tracing.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/otel_logging.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/permission_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/prompt_modules.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/architect.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/builder.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/data_analyst.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/deck_reviewer.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/fix_reviewer.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/skills/fixer.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/core/user_context.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/__init__.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/feedback.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/identity.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/image.py
RENAMED
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/database/models/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{databricks_tellr_app-0.5.1.dev2 → databricks_tellr_app-0.5.1.dev3}/src/domain/conversation_turns.py
RENAMED
|
File without changes
|