sqlmesh 0.208.2.dev3__tar.gz → 0.209.1.dev1__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.
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/PKG-INFO +1 -1
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/_version.py +2 -2
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/dialect.py +35 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/loader.py +0 -1
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/definition.py +6 -10
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/meta.py +2 -32
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/PKG-INFO +1 -1
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_audit.py +112 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_integration.py +262 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_model.py +14 -11
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/config.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/continue_config.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/install-prerequisites.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/manage-test-db.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/test_migration.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/update-pypirc.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.circleci/wait-for-db.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.claude/agents/code-reviewer.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.claude/agents/developer.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.claude/agents/technical-writer.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.github/dependabot.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.github/scripts/get_scm_version.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.github/workflows/pr.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.github/workflows/private-repo-test.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.github/workflows/release_extension.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.nvmrc +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.pre-commit-config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.prettierignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.prettierrc.cjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/.readthedocs.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/CLAUDE.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/LICENSE +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/MANIFEST.in +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/Makefile +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/README.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/benchmarks/lsp_render_model_bench.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/custom_materializations/custom_materializations/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/custom_materializations/custom_materializations/custom_kind.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/custom_materializations/custom_materializations/full.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/custom_materializations/pyproject.toml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/audits/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/audits/assert_positive_order_ids.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/constants.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/data/.keep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/macros/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/full_model.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/ibis_full_model_python.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/ibis_full_model_sql.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/incremental_model.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/models/seed_model.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/seeds/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/seeds/seed_data.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/ibis/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/audits/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/linter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/linter/user.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/macros/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/models/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/models/a.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/models/b.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_1/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/audits/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/macros/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/models/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/models/c.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/models/d.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/models/e.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi/repo_2/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/bronze/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/bronze/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/bronze/models/a.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/bronze/models/b.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/bronze/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/macros/store_schemas.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/models/c.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/models/d.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_dbt/silver/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/macros/round_dollars.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/models/c.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/models/d.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/models/e.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/dbt_repo/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/sqlmesh_repo/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/sqlmesh_repo/models/a.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/multi_hybrid/sqlmesh_repo/models/b.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/audits/assert_item_price_above_zero.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/audits/items.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/audits/order_items.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/audits/raw_demographics.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/data/.keep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/external_models/model1/model1.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/external_models/model2/model2.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/external_models/prod.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/external_models.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/helper.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/linter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/linter/user.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/macros/macros.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/macros/macros.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/macros/utils.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/metrics/metrics.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/active_customers.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/blueprint.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/customer_revenue_lifetime.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/customers.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/disabled.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/disabled.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/items.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/latest_order.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/marketing.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/order_items.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/orders.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/raw_marketing.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/top_waiters.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/waiter_names.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/models/waiters.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/signals/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/sqlmesh-requirements.lock +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/tests/test_customer_revenue_by_day.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/tests/test_customer_revenue_lifetime.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi/tests/test_order_items.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/.user.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/analyses/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/macros/incremental.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/macros/log_value.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/customers.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/top_waiters.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/waiter_revenue_by_day_v1.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/models/waiters.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/analyses/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/macros/current_engine.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/macros/distinct.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/seeds/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/snapshots/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/packages/customers/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/seeds/items.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/seeds/order_items.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/seeds/orders.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/seeds/properties.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/snapshots/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/tests/assert_item_price_above_zero.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dbt/tests/generic/less_than_amount.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/sushi_dlt/sushi_pipeline.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/audits/db/order_f.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/macros/macros.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/db/customer_d.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/db/item_d.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/db/order_f.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/db/order_item_f.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/src/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/src/customer_details.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/src/menu_item_details.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/src/order_item_details.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/models/src/shared.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/seeds/src/menu_item_details.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/tests/test_customer_d.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/examples/wursthall/tests/test_order_item_f.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/mkdocs.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/pdoc/cli.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/pdoc/templates/module.html.jinja2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/pnpm-lock.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/pnpm-workspace.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/pyproject.toml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/setup.cfg +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/.airflowignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cicd/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cicd/bot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cicd/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cli/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cli/main.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cli/options.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/cli/project_init.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/_typing.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/analytics/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/analytics/collector.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/analytics/dispatcher.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/audit/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/audit/builtin.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/audit/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/base.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/categorizer.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/common.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/connection.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/feature_flag.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/format.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/gateway.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/janitor.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/linter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/loader.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/migration.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/naming.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/plan.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/root.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/run.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/scheduler.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/config/ui.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/console.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/constants.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/context_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/_typing.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/athena.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/base.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/base_postgres.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/bigquery.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/clickhouse.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/databricks.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/duckdb.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/mixins.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/mssql.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/mysql.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/postgres.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/redshift.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/risingwave.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/shared.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/snowflake.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/spark.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/engine_adapter/trino.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/environment.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/lineage.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/helpers.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/rule.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/rules/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/linter/rules/builtin.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/macros.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/metric/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/metric/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/metric/rewriter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/cache.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/common.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/decorator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/kind.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/schema.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/model/seed.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/node.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/notification_target.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/builder.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/evaluator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/explainer.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/plan/stages.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/reference.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/renderer.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/scheduler.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/schema_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/schema_loader.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/selector.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/signal.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/snapshot/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/snapshot/cache.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/snapshot/categorizer.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/snapshot/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/snapshot/evaluator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/base.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/cache.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/common.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/environment.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/facade.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/interval.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/migrator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/snapshot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/utils.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/db/version.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/state_sync/export_import.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/table_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/definition.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/discovery.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/result.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/test/runner.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/core/user.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/adapter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/basemodel.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/builtin.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/column.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/common.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/common.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/console.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/convert.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/jinja.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/jinja_builtins.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/converter/jinja_transforms.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/loader.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/manifest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/package.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/profile.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/project.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/relation.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/seed.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/source.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/target.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/test.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/dbt/util.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/engines/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/engines/spark/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/engines/spark/db_api/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/engines/spark/db_api/errors.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/engines/spark/db_api/spark_session.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/dlt.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/github/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/github/cicd/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/github/cicd/command.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/github/cicd/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/github/cicd/controller.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/llm.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/integrations/slack.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/api.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/commands.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/completions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/custom.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/errors.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/helpers.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/hints.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/main.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/reference.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/rename.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/tests_ranges.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/lsp/uri.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/magics.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0001_init.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0002_remove_identify.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0003_move_batch_size.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0004_environmnent_add_finalized_at.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0005_create_seed_table.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0006_change_seed_hash.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0007_env_table_info_to_kind.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0008_create_intervals_table.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0009_remove_pre_post_hooks.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0010_seed_hash_batch_size.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0011_add_model_kind_name.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0012_update_jinja_expressions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0013_serde_using_model_dialects.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0014_fix_dev_intervals.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0015_environment_add_promoted_snapshot_ids.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0016_fix_windows_path.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0017_fix_windows_seed_path.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0019_add_env_suffix_target.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0021_fix_table_properties.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0022_move_project_to_model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0023_fix_added_models_with_forward_only_parents.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0026_remove_dialect_from_seed.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0027_minute_interval_to_five.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0028_add_plan_dags_table.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0030_update_unrestorable_snapshots.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0031_remove_dbt_target_fields.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0032_add_sqlmesh_version.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0033_mysql_fix_blob_text_type.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0034_add_default_catalog.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0035_add_catalog_name_override.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0036_delete_plan_dags_bug_fix.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0040_add_previous_finalized_snapshots.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0042_trim_indirect_versions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0044_quote_identifiers_in_model_attributes.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0045_move_gateway_variable.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0046_add_batch_concurrency.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0047_change_scd_string_to_column.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0048_drop_indirect_versions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0049_replace_identifier_with_version_in_seeds_table.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0050_drop_seeds_table.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0051_rename_column_descriptions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0052_add_normalize_name_in_environment_naming_info.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0053_custom_model_kind_extra_attributes.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0054_fix_trailing_comments.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0056_restore_table_indexes.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0057_add_table_format.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0058_add_requirements.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0059_add_physical_version.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0060_move_audits_to_model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0061_mysql_fix_blob_text_type.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0062_add_model_gateway.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0063_change_signals.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0064_join_when_matched_strings.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0065_add_model_optimize.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0066_add_auto_restatements.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0067_add_tsql_date_full_precision.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0068_include_unrendered_query_in_metadata_hash.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0069_update_dev_table_suffix.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0070_include_grains_in_metadata_hash.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0071_add_dev_version_to_intervals.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0072_add_environment_statements.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0074_add_partition_by_time_column_property.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0075_remove_validate_query.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0076_add_cron_tz.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0077_fix_column_type_hash_calculation.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0078_warn_if_non_migratable_python_env.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0079_add_gateway_managed_property.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0080_add_batch_size_to_scd_type_2_models.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0081_update_partitioned_by.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0082_warn_if_incorrectly_duplicated_statements.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0083_use_sql_for_scd_time_data_type_data_hash.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0084_normalize_quote_when_matched_and_merge_filter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0085_deterministic_repr.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0086_check_deterministic_bug.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/migrations/v0087_normalize_blueprint_variables.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/py.typed +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/schedulers/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/aws.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/cache.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/concurrency.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/connection_pool.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/conversions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/cron.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/dag.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/date.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/errors.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/git.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/hashing.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/jinja.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/lineage.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/metaprogramming.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/migration.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/pandas.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/process.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/pydantic.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/rich.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/windows.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh/utils/yaml.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/SOURCES.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/dependency_links.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/entry_points.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/requires.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/sqlmesh.egg-info/top_level.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/cli/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/cli/test_cli.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/cli/test_integration_cli.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/analytics/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/analytics/test_collector.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/analytics/test_dispatcher.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/config.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/_common-hive.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/clickhouse/config.xml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/clickhouse/keeper.xml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.clickhouse.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.mssql.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.mysql.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.postgres.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.risingwave.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.spark.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/compose.trino.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/init-metastore-db.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/spark/Dockerfile +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/spark/conf/hive-site.xml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/spark/conf/spark-defaults.conf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake.properties +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_delta.properties +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_iceberg.properties +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_nessie.properties +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/docker/trino/catalog/testing.properties +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_athena.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_bigquery.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_clickhouse.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_duckdb.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_postgres.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_redshift.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_risingwave.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_snowflake.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/integration/test_integration_trino.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_athena.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_base.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_base_postgres.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_bigquery.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_clickhouse.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_databricks.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_duckdb.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_mixins.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_mssql.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_mysql.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_postgres.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_redshift.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_risingwave.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_snowflake.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_spark.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/engine_adapter/test_trino.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/linter/test_builtin.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/linter/test_helpers.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/metric/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/metric/test_metric.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/metric/test_rewriter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/state_sync/test_export_import.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/state_sync/test_state_sync.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_connection_config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_console.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_dialect.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_environment.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_format.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_lineage.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_loader.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_macros.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_notification_target.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_plan.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_plan_evaluator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_plan_stages.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_reference.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_rule.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_scheduler.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_schema_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_schema_loader.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_seed.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_selector.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_snapshot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_snapshot_evaluator.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_table_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/core/test_test.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/analyses/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/macros/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/models/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/models/sources.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/packages/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/items.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/properties.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/snapshots/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/empty_dbt_project/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/jinja_nested_if.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/macro_dbt_incremental.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/macro_func_with_params.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/fixtures/model_query_incremental.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/test_convert.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/test_jinja.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/converter/test_jinja_transforms.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_adapter.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_integration.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_manifest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_test.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_transformation.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/dbt/test_util.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/engines/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/engines/spark/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/engines/spark/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/engines/spark/test_db_api.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/analyses/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/logs/dbt.log.legacy +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/macros/create_tables.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/macros/incremental.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/macros/log_value.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/macros/test_dependencies.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/disabled_model.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/simple_model_a.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/simple_model_b.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/top_waiters.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day_v1.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/models/waiters.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/analyses/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/dbt_project.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/macros/current_engine.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/macros/distinct.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/macros/packaged_tables.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/models/customers.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/models/schema.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/seeds/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/snapshots/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages/customers/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/packages.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/profiles.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/schema.yaml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/seed_sources.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/seeds/properties.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/snapshots/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/snapshots/items_check_snapshot.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/snapshots/items_no_hard_delete_snapshot.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/snapshots/items_snapshot.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/source_data/items.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/source_data/order_items.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/source_data/orders.csv +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/dbt/sushi_test/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_closed.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_command_deploy.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_comment.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_review_submit.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_synchronized.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/github/pull_request_synchronized_enterprise.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/migrations/environments.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/migrations/snapshots.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/audits/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/macros/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/macros/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/models/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/models/first_schema/model_one.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/models/first_schema/model_two.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/models/second_schema/model_one.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/models/second_schema/model_two.sql +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/multi_virtual_layer/tests/.gitkeep +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/snowflake/rsa_key_no_pass.p8 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/fixtures/snowflake/rsa_key_pass.p8 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/test_config.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/test_github_commands.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/test_github_controller.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/test_github_event.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/github/cicd/test_integration.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/jupyter/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/jupyter/example_outputs.ipynb +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/integrations/jupyter/test_magics.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_code_actions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_completions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_context.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_diagnostics.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_document_highlight.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_hints.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_cte.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_cte_find_all.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_external_model.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_macro.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_macro_find_all.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_macro_multi.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_model_column_prefix.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_reference_model_find_all.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/lsp/test_rename_cte.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/pyproject.toml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/schedulers/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/setup.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/test_forking.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/pandas.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_aws.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_cache.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_concurrency.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_connection_pool.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_dag.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_date.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_filesystem.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_filters.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_helpers.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_jinja.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_lineage_description.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_metaprogramming.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_pydantic.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/utils/test_yaml.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/web/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/web/conftest.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/web/test_lineage.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tests/web/test_main.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/README.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/validating_migration_numbers.sh +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/vscode/extensions.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/vscode/launch.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/vscode/settings.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/tooling/vscode/tasks.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/src/brand.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/src/callbacks.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/src/result.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/bus/tsconfig.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/.vscodeignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/CHANGELOG.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/README.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/assets/logo.png +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/assets/logo.svg +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/esbuild.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/eslint.config.mjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/playwright.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/auth/auth.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/commands.test.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/format.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/printEnvironment.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/renderModel.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/signin.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/signinSpecifyFlow.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/signout.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/commands/stop.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/completion/completion.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/extension.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/lsp/custom.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/lsp/lsp.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/providers/renderedModelProvider.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/tests/tests.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/constants.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/log.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/python.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/settings.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/utilities.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/common/vscodeapi.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/errors.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/exec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/isCodespaces.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/isWindows.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/python.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/semver.test.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/semver.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/sleep.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/utilities/sqlmesh/sqlmesh.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/src/webviews/lineagePanel.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/bad_setup.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/broken_project.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/commands.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/completions.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/configuration.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/diagnostics.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/extension.setup.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/extension.teardown.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/external_models.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/find_references.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/fixtures.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/format.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/go_to_definition.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/hints.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/lineage.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/lineage_settings.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/python_env.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/quickfix.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/rename_cte.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/render.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/stop.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud/README.md +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud/mock_tcloud/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud/mock_tcloud/cli.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud/pyproject.toml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tcloud_utils.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/tests.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/utils.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/utils_code_server.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tests/venv_naming.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tsconfig.build.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tsconfig.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/tsconfig.test.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/extension/vitest.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/openapi.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.cta.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.storybook/main.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.storybook/preview.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.storybook/storybook.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/.storybook/vitest.setup.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/index.html +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/orval.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/App.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/api/client.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/api/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/api/instance.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/button/Button.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/CogIcon.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/Graph.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/ModelColumns.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/ModelLineage.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/ModelNode.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/ModelNodeHeaderHandles.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/SettingsControl.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/constants.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/context.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/types.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/workers/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/graph/workers/lineage.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/input/Input.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/input/InputToggle.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/input/Selector.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/input/Textfield.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/loading/Loading.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/loading/LoadingSegment.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/loading/LoadingStatus.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/logo/Spinner.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/sourceList/SourceList.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/sourceList/SourceListItem.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/components/title/Title.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/domain/column.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/domain/initial.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/domain/lineage.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/domain/models.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/domain/sqlmesh-model.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/hooks/eventBus.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/hooks/vscode.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/main.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/pages/lineage.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/reportWebVitals.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/routeTree.gen.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/routes/__root.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/routes/index.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/routes/lineage.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/style/variants.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/styles.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/utils/index.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/utils/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/utils/receiveEvents.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/utils/rpc.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/src/utils/vscodeapi.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/tailwind.config.cjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/tsconfig.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/vite.config.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/vscode/react/vitest.shims.d.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/.dockerignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/Dockerfile.api +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/Dockerfile.app +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Audits-Jm353fhk.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Banner-DzWLWxS2.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/ChevronDownIcon-DND34_0j.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/ChevronRightIcon-BrnG7zJd.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Content-BaMgXJRh.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Content-DphTMPPH.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Data-MJRTjiHp.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/DataCatalog-DnhHmqO9.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Editor-Bsp2nRii.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Editor-CD1DYOmd.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Errors-CwLLcKXv.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/FileExplorer-CjiHTJqb.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Footer-BeDVe5W7.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Header-dh7a7qX-.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Input-B-Ounlv_.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Lineage-DDBcnPQX.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/ListboxShow-CV2BuG5q.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/ModelLineage-B1JusHLp.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Models-BILTGfK2.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Page-SvStklIG.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Plan-BHC6Jsvb.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/PlusCircleIcon-BWbZTVU_.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/ReportErrors-h8_M9bTF.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Root-yarU-KP7.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/SearchList-BLcpQVJH.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/SelectEnvironment-BcN1dphw.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/SourceList-Kt2aCd0O.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/SourceListItem-B7x_VFKR.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/SplitPane-BH6IQnVH.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Tests-ClEdNkg6.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/Welcome-D2UIox3v.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/context-DieJUDVl.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/context-DykI9LSF.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/editor-DNt3hEcu.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/file-y5ZNtlGh.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/floating-ui.react-dom-BX3awo09.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/help-B59vE3aE.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/help-DeXhqTBT.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/index-DXRmsAbz.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/index-DyOMAzII.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/plan-B4z00b85.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/popover-B6Q1laIx.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/assets/project-BraqCC5X.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/css/base.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/css/design.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/favicons/favicon.svg +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/OFL.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/README.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Black.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Bold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Light.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Medium.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Regular.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Inter/static/Inter-Thin.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/OFL.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/README.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-buch.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-buch.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-kraftig.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-kraftig.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-mono-buch.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/dist/index.html +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/eslint.config.mjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/index.html +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/openapi.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/orval.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/playwright.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/postcss.config.cjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/css/base.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/css/design.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/favicons/favicon.svg +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/OFL.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/README.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Black.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Bold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Light.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Medium.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Regular.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Inter/static/Inter-Thin.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/OFL.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/README.txt +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-buch.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-buch.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-kraftig.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-kraftig.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-mono-buch.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/public/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/App.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/api/channels.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/api/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/api/instance.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/context/context.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/context/editor.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/context/plan.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/context/project.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/context/theme.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/hooks/useActiveFocus.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/hooks/useLocalStorage.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/banner/Banner.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/banner/Welcome.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/button/Button.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/button/tests/Button.spec.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/container/Container.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/divider/Divider.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/divider/tests/Divider.spec.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/documentation/Documentation.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/Editor.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/Editor.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorCode.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorFooter.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorIndicator.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorInspector.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorPreview.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorTab.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/EditorTabs.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/extensions/SQLMeshDialect.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/extensions/SQLMeshModel.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/extensions/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/extensions/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/editor/hooks.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/environmentDetails/AddEnvironment.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/environmentDetails/EnvironmentChanges.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/environmentDetails/EnvironmentChangesPreview.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/environmentDetails/EnvironmentDetails.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/environmentDetails/SelectEnvironment.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/fileExplorer/Directory.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/fileExplorer/DragLayer.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/fileExplorer/File.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/fileExplorer/FileExplorer.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/fileExplorer/context.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/Graph.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelColumns.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelLineage.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelLineageDetails.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelLineageSearch.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelNode.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/ModelNodeHeaderHandles.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/context.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/graph/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/historyNavigation/historyNavigation.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/input/Input.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/input/InputToggle.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/input/Selector.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/input/Textfield.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/listbox/ListboxShow.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/loading/Loading.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/loading/LoadingSegment.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/loading/LoadingStatus.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/logo/Spinner.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/logo/SqlMesh.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/logo/Tobiko.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/modal/Modal.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/modal/ModalConfirmation.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/moduleNavigation/ModuleLink.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/moduleNavigation/ModuleNavigation.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/Plan.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanActions.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanApplyStageTracker.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanBackfillDates.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanChangePreview.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanHeader.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/PlanOptions.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/context.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/help.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/plan/hooks.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/progress/Progress.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/report/ReportErrors.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/report/ReportTestsErrors.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/search/SearchList.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/search/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/sourceList/SourceList.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/sourceList/SourceListItem.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/splitPane/SplitPane.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/splitPane/SplitPane.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/tab/Tab.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/table/Table.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/table/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/tableDiff/TableDiff.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/tableDiff/help.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/tasksOverview/TasksOverview.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/title/Title.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/components/toggle/Toggle.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/audits/Audits.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/data/Data.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/data-catalog/DataCatalog.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/editor/Editor.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/errors/Content.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/errors/Errors.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/lineage/Lineage.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/models/Models.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/plan/Content.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/plan/Plan.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/Footer.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/Header.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/Navigation.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/NotFound.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/Page.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/Root.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/root/context/notificationCenter.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/library/pages/tests/Tests.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/main.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/artifact.posix.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/artifact.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/artifact.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/artifact.win.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/directory.posix.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/directory.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/directory.win.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/environment.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/file.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/file.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/initial.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/module-controller.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/plan-action.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/sqlmesh-change-display.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/sqlmesh-model.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/tracker-plan-apply.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/tracker-plan-cancel.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/tracker-plan-overview.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/models/tracker-plan.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/routes.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/styles/index.css +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/tests/setup.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/tests/utils.tsx +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/types/enum.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/types/index.d.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/utils/additional-components.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/utils/index.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/utils/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/utils/tbk-components.js +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/workers/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/workers/lineage.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/workers/sqlglot/sqlglot.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/src/workers/sqlglot/sqlglot.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/tailwind.config.cjs +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/tests/initial.spec.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/tsconfig.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/client/vite.config.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/docker-compose.build.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/docker-compose.yml +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/__init__.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/commands.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/directories.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/environments.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/events.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/files.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/lineage.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/meta.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/models.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/modules.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/plan.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/api/endpoints/table_diff.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/app.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/console.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/exceptions.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/main.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/models.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/openapi.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/settings.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/utils.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/server/watcher.py +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/.gitignore +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/package.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/src/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/src/types/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/src/utils/index.ts +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/tsconfig.json +0 -0
- {sqlmesh-0.208.2.dev3 → sqlmesh-0.209.1.dev1}/web/shared_ui/vite.config.js +0 -0
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '0.
|
|
21
|
-
__version_tuple__ = version_tuple = (0,
|
|
20
|
+
__version__ = version = '0.209.1.dev1'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 209, 1, 'dev1')
|
|
@@ -1408,6 +1408,41 @@ def extract_func_call(
|
|
|
1408
1408
|
return func.lower(), kwargs
|
|
1409
1409
|
|
|
1410
1410
|
|
|
1411
|
+
def extract_function_calls(func_calls: t.Any, allow_tuples: bool = False) -> t.Any:
|
|
1412
|
+
"""Used for extracting function calls for signals or audits."""
|
|
1413
|
+
|
|
1414
|
+
if isinstance(func_calls, (exp.Tuple, exp.Array)):
|
|
1415
|
+
return [extract_func_call(i, allow_tuples=allow_tuples) for i in func_calls.expressions]
|
|
1416
|
+
if isinstance(func_calls, exp.Paren):
|
|
1417
|
+
return [extract_func_call(func_calls.this, allow_tuples=allow_tuples)]
|
|
1418
|
+
if isinstance(func_calls, exp.Expression):
|
|
1419
|
+
return [extract_func_call(func_calls, allow_tuples=allow_tuples)]
|
|
1420
|
+
if isinstance(func_calls, list):
|
|
1421
|
+
function_calls = []
|
|
1422
|
+
for entry in func_calls:
|
|
1423
|
+
if isinstance(entry, dict):
|
|
1424
|
+
args = entry
|
|
1425
|
+
name = "" if allow_tuples else entry.pop("name")
|
|
1426
|
+
elif isinstance(entry, (tuple, list)):
|
|
1427
|
+
name, args = entry
|
|
1428
|
+
else:
|
|
1429
|
+
raise ConfigError(f"Audit must be a dictionary or named tuple. Got {entry}.")
|
|
1430
|
+
|
|
1431
|
+
function_calls.append(
|
|
1432
|
+
(
|
|
1433
|
+
name.lower(),
|
|
1434
|
+
{
|
|
1435
|
+
key: parse_one(value) if isinstance(value, str) else value
|
|
1436
|
+
for key, value in args.items()
|
|
1437
|
+
},
|
|
1438
|
+
)
|
|
1439
|
+
)
|
|
1440
|
+
|
|
1441
|
+
return function_calls
|
|
1442
|
+
|
|
1443
|
+
return func_calls or []
|
|
1444
|
+
|
|
1445
|
+
|
|
1411
1446
|
def is_meta_expression(v: t.Any) -> bool:
|
|
1412
1447
|
return isinstance(v, (Audit, Metric, Model))
|
|
1413
1448
|
|
|
@@ -594,7 +594,6 @@ class SqlMeshLoader(Loader):
|
|
|
594
594
|
macros=macros,
|
|
595
595
|
jinja_macros=jinja_macros,
|
|
596
596
|
audit_definitions=audits,
|
|
597
|
-
default_audits=self.config.model_defaults.audits,
|
|
598
597
|
module_path=self.config_path,
|
|
599
598
|
dialect=self.config.model_defaults.dialect,
|
|
600
599
|
time_column_format=self.config.time_column_format,
|
|
@@ -32,7 +32,7 @@ from sqlmesh.core.model.common import (
|
|
|
32
32
|
sorted_python_env_payloads,
|
|
33
33
|
validate_extra_and_required_fields,
|
|
34
34
|
)
|
|
35
|
-
from sqlmesh.core.model.meta import ModelMeta
|
|
35
|
+
from sqlmesh.core.model.meta import ModelMeta
|
|
36
36
|
from sqlmesh.core.model.kind import (
|
|
37
37
|
ModelKindName,
|
|
38
38
|
SeedKind,
|
|
@@ -2038,7 +2038,6 @@ def load_sql_based_model(
|
|
|
2038
2038
|
macros: t.Optional[MacroRegistry] = None,
|
|
2039
2039
|
jinja_macros: t.Optional[JinjaMacroRegistry] = None,
|
|
2040
2040
|
audits: t.Optional[t.Dict[str, ModelAudit]] = None,
|
|
2041
|
-
default_audits: t.Optional[t.List[FunctionCall]] = None,
|
|
2042
2041
|
python_env: t.Optional[t.Dict[str, Executable]] = None,
|
|
2043
2042
|
dialect: t.Optional[str] = None,
|
|
2044
2043
|
physical_schema_mapping: t.Optional[t.Dict[re.Pattern, str]] = None,
|
|
@@ -2211,7 +2210,6 @@ Learn more at https://sqlmesh.readthedocs.io/en/stable/concepts/models/overview
|
|
|
2211
2210
|
physical_schema_mapping=physical_schema_mapping,
|
|
2212
2211
|
default_catalog=default_catalog,
|
|
2213
2212
|
variables=variables,
|
|
2214
|
-
default_audits=default_audits,
|
|
2215
2213
|
inline_audits=inline_audits,
|
|
2216
2214
|
blueprint_variables=blueprint_variables,
|
|
2217
2215
|
**meta_fields,
|
|
@@ -2431,7 +2429,6 @@ def _create_model(
|
|
|
2431
2429
|
physical_schema_mapping: t.Optional[t.Dict[re.Pattern, str]] = None,
|
|
2432
2430
|
python_env: t.Optional[t.Dict[str, Executable]] = None,
|
|
2433
2431
|
audit_definitions: t.Optional[t.Dict[str, ModelAudit]] = None,
|
|
2434
|
-
default_audits: t.Optional[t.List[FunctionCall]] = None,
|
|
2435
2432
|
inline_audits: t.Optional[t.Dict[str, ModelAudit]] = None,
|
|
2436
2433
|
module_path: Path = Path(),
|
|
2437
2434
|
macros: t.Optional[MacroRegistry] = None,
|
|
@@ -2541,6 +2538,10 @@ def _create_model(
|
|
|
2541
2538
|
for jinja_macro in jinja_macros.root_macros.values():
|
|
2542
2539
|
used_variables.update(extract_macro_references_and_variables(jinja_macro.definition)[1])
|
|
2543
2540
|
|
|
2541
|
+
# Merge model-specific audits with default audits
|
|
2542
|
+
if default_audits := defaults.pop("audits", None):
|
|
2543
|
+
kwargs["audits"] = default_audits + d.extract_function_calls(kwargs.pop("audits", []))
|
|
2544
|
+
|
|
2544
2545
|
model = klass(
|
|
2545
2546
|
name=name,
|
|
2546
2547
|
**{
|
|
@@ -2558,12 +2559,7 @@ def _create_model(
|
|
|
2558
2559
|
**(inline_audits or {}),
|
|
2559
2560
|
}
|
|
2560
2561
|
|
|
2561
|
-
|
|
2562
|
-
# are silently dropped today because we add them in audit_definitions. We also need
|
|
2563
|
-
# to check for duplicates when we implement this merging logic.
|
|
2564
|
-
used_audits: t.Set[str] = set()
|
|
2565
|
-
used_audits.update(audit_name for audit_name, _ in default_audits or [])
|
|
2566
|
-
used_audits.update(audit_name for audit_name, _ in model.audits)
|
|
2562
|
+
used_audits: t.Set[str] = {audit_name for audit_name, _ in model.audits}
|
|
2567
2563
|
|
|
2568
2564
|
audit_definitions = {
|
|
2569
2565
|
audit_name: audit_definitions[audit_name]
|
|
@@ -11,7 +11,7 @@ from sqlglot.optimizer.normalize_identifiers import normalize_identifiers
|
|
|
11
11
|
|
|
12
12
|
from sqlmesh.core import dialect as d
|
|
13
13
|
from sqlmesh.core.config.linter import LinterConfig
|
|
14
|
-
from sqlmesh.core.dialect import normalize_model_name
|
|
14
|
+
from sqlmesh.core.dialect import normalize_model_name
|
|
15
15
|
from sqlmesh.core.model.common import (
|
|
16
16
|
bool_validator,
|
|
17
17
|
default_catalog_validator,
|
|
@@ -94,37 +94,7 @@ class ModelMeta(_Node):
|
|
|
94
94
|
def _func_call_validator(cls, v: t.Any, field: t.Any) -> t.Any:
|
|
95
95
|
is_signal = getattr(field, "name" if hasattr(field, "name") else "field_name") == "signals"
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
return [extract_func_call(i, allow_tuples=is_signal) for i in v.expressions]
|
|
99
|
-
if isinstance(v, exp.Paren):
|
|
100
|
-
return [extract_func_call(v.this, allow_tuples=is_signal)]
|
|
101
|
-
if isinstance(v, exp.Expression):
|
|
102
|
-
return [extract_func_call(v, allow_tuples=is_signal)]
|
|
103
|
-
if isinstance(v, list):
|
|
104
|
-
audits = []
|
|
105
|
-
|
|
106
|
-
for entry in v:
|
|
107
|
-
if isinstance(entry, dict):
|
|
108
|
-
args = entry
|
|
109
|
-
name = "" if is_signal else entry.pop("name")
|
|
110
|
-
elif isinstance(entry, (tuple, list)):
|
|
111
|
-
name, args = entry
|
|
112
|
-
else:
|
|
113
|
-
raise ConfigError(f"Audit must be a dictionary or named tuple. Got {entry}.")
|
|
114
|
-
|
|
115
|
-
audits.append(
|
|
116
|
-
(
|
|
117
|
-
name.lower(),
|
|
118
|
-
{
|
|
119
|
-
key: d.parse_one(value) if isinstance(value, str) else value
|
|
120
|
-
for key, value in args.items()
|
|
121
|
-
},
|
|
122
|
-
)
|
|
123
|
-
)
|
|
124
|
-
|
|
125
|
-
return audits
|
|
126
|
-
|
|
127
|
-
return v or []
|
|
97
|
+
return d.extract_function_calls(v, allow_tuples=is_signal)
|
|
128
98
|
|
|
129
99
|
@field_validator("tags", mode="before")
|
|
130
100
|
def _value_or_tuple_validator(cls, v: t.Any, info: ValidationInfo) -> t.Any:
|
|
@@ -3,6 +3,7 @@ import pytest
|
|
|
3
3
|
from sqlglot import exp, parse_one
|
|
4
4
|
|
|
5
5
|
from sqlmesh.core import constants as c
|
|
6
|
+
from sqlmesh.core.config.model import ModelDefaultsConfig
|
|
6
7
|
from sqlmesh.core.context import Context
|
|
7
8
|
from sqlmesh.core.audit import (
|
|
8
9
|
ModelAudit,
|
|
@@ -962,6 +963,117 @@ def test_multiple_audits_with_same_name():
|
|
|
962
963
|
assert model.audits[1][1] == model.audits[2][1]
|
|
963
964
|
|
|
964
965
|
|
|
966
|
+
def test_default_audits_included_when_no_model_audits():
|
|
967
|
+
expressions = parse("""
|
|
968
|
+
MODEL (
|
|
969
|
+
name test.basic_model
|
|
970
|
+
);
|
|
971
|
+
SELECT 1 as id, 'test' as name;
|
|
972
|
+
""")
|
|
973
|
+
|
|
974
|
+
model_defaults = ModelDefaultsConfig(
|
|
975
|
+
dialect="duckdb", audits=["not_null(columns := ['id'])", "unique_values(columns := ['id'])"]
|
|
976
|
+
)
|
|
977
|
+
model = load_sql_based_model(expressions, defaults=model_defaults.dict())
|
|
978
|
+
|
|
979
|
+
assert len(model.audits) == 2
|
|
980
|
+
audit_names = [audit[0] for audit in model.audits]
|
|
981
|
+
assert "not_null" in audit_names
|
|
982
|
+
assert "unique_values" in audit_names
|
|
983
|
+
|
|
984
|
+
# Verify arguments are preserved
|
|
985
|
+
for audit_name, audit_args in model.audits:
|
|
986
|
+
if audit_name == "not_null":
|
|
987
|
+
assert "columns" in audit_args
|
|
988
|
+
assert audit_args["columns"].expressions[0].this == "id"
|
|
989
|
+
elif audit_name == "unique_values":
|
|
990
|
+
assert "columns" in audit_args
|
|
991
|
+
assert audit_args["columns"].expressions[0].this == "id"
|
|
992
|
+
|
|
993
|
+
for audit_name, audit_args in model.audits_with_args:
|
|
994
|
+
if audit_name == "not_null":
|
|
995
|
+
assert "columns" in audit_args
|
|
996
|
+
assert audit_args["columns"].expressions[0].this == "id"
|
|
997
|
+
elif audit_name == "unique_values":
|
|
998
|
+
assert "columns" in audit_args
|
|
999
|
+
assert audit_args["columns"].expressions[0].this == "id"
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
def test_model_defaults_audits_with_same_name():
|
|
1003
|
+
expressions = parse(
|
|
1004
|
+
"""
|
|
1005
|
+
MODEL (
|
|
1006
|
+
name db.table,
|
|
1007
|
+
dialect spark,
|
|
1008
|
+
audits(
|
|
1009
|
+
does_not_exceed_threshold(column := id, threshold := 1000),
|
|
1010
|
+
does_not_exceed_threshold(column := price, threshold := 100),
|
|
1011
|
+
unique_values(columns := ['id'])
|
|
1012
|
+
)
|
|
1013
|
+
);
|
|
1014
|
+
|
|
1015
|
+
SELECT id, price FROM tbl;
|
|
1016
|
+
|
|
1017
|
+
AUDIT (
|
|
1018
|
+
name does_not_exceed_threshold,
|
|
1019
|
+
);
|
|
1020
|
+
SELECT * FROM @this_model
|
|
1021
|
+
WHERE @column >= @threshold;
|
|
1022
|
+
"""
|
|
1023
|
+
)
|
|
1024
|
+
|
|
1025
|
+
model_defaults = ModelDefaultsConfig(
|
|
1026
|
+
dialect="duckdb",
|
|
1027
|
+
audits=[
|
|
1028
|
+
"does_not_exceed_threshold(column := price, threshold := 33)",
|
|
1029
|
+
"does_not_exceed_threshold(column := id, threshold := 65)",
|
|
1030
|
+
"not_null(columns := ['id'])",
|
|
1031
|
+
],
|
|
1032
|
+
)
|
|
1033
|
+
model = load_sql_based_model(expressions, defaults=model_defaults.dict())
|
|
1034
|
+
assert len(model.audits) == 6
|
|
1035
|
+
assert len(model.audits_with_args) == 6
|
|
1036
|
+
assert len(model.audit_definitions) == 1
|
|
1037
|
+
|
|
1038
|
+
expected_audits = [
|
|
1039
|
+
(
|
|
1040
|
+
"does_not_exceed_threshold",
|
|
1041
|
+
{"column": exp.column("price"), "threshold": exp.Literal.number(33)},
|
|
1042
|
+
),
|
|
1043
|
+
(
|
|
1044
|
+
"does_not_exceed_threshold",
|
|
1045
|
+
{"column": exp.column("id"), "threshold": exp.Literal.number(65)},
|
|
1046
|
+
),
|
|
1047
|
+
("not_null", {"columns": exp.convert(["id"])}),
|
|
1048
|
+
(
|
|
1049
|
+
"does_not_exceed_threshold",
|
|
1050
|
+
{"column": exp.column("id"), "threshold": exp.Literal.number(1000)},
|
|
1051
|
+
),
|
|
1052
|
+
(
|
|
1053
|
+
"does_not_exceed_threshold",
|
|
1054
|
+
{"column": exp.column("price"), "threshold": exp.Literal.number(100)},
|
|
1055
|
+
),
|
|
1056
|
+
("unique_values", {"columns": exp.convert(["id"])}),
|
|
1057
|
+
]
|
|
1058
|
+
|
|
1059
|
+
for (actual_name, actual_args), (expected_name, expected_args) in zip(
|
|
1060
|
+
model.audits, expected_audits
|
|
1061
|
+
):
|
|
1062
|
+
# Validate the audit names are preserved
|
|
1063
|
+
assert actual_name == expected_name
|
|
1064
|
+
for key in expected_args:
|
|
1065
|
+
# comparing sql representaion is easier
|
|
1066
|
+
assert actual_args[key].sql() == expected_args[key].sql()
|
|
1067
|
+
|
|
1068
|
+
# Validate audits with args as well along with their arguments
|
|
1069
|
+
for (actual_audit, actual_args), (expected_name, expected_args) in zip(
|
|
1070
|
+
model.audits_with_args, expected_audits
|
|
1071
|
+
):
|
|
1072
|
+
assert actual_audit.name == expected_name
|
|
1073
|
+
for key in expected_args:
|
|
1074
|
+
assert actual_args[key].sql() == expected_args[key].sql()
|
|
1075
|
+
|
|
1076
|
+
|
|
965
1077
|
def test_audit_formatting_flag_serde():
|
|
966
1078
|
expressions = parse(
|
|
967
1079
|
"""
|
|
@@ -7242,3 +7242,265 @@ def test_physical_table_naming_strategy_hash_md5(copy_to_temp_path: t.Callable):
|
|
|
7242
7242
|
s.table_naming_convention == TableNamingConvention.HASH_MD5
|
|
7243
7243
|
for s in prod_env_snapshots.values()
|
|
7244
7244
|
)
|
|
7245
|
+
|
|
7246
|
+
|
|
7247
|
+
@pytest.mark.slow
|
|
7248
|
+
def test_default_audits_applied_in_plan(tmp_path: Path):
|
|
7249
|
+
models_dir = tmp_path / "models"
|
|
7250
|
+
models_dir.mkdir(exist_ok=True)
|
|
7251
|
+
|
|
7252
|
+
# Create a model with data that will pass the audits
|
|
7253
|
+
create_temp_file(
|
|
7254
|
+
tmp_path,
|
|
7255
|
+
models_dir / "orders.sql",
|
|
7256
|
+
dedent("""
|
|
7257
|
+
MODEL (
|
|
7258
|
+
name test.orders,
|
|
7259
|
+
kind FULL
|
|
7260
|
+
);
|
|
7261
|
+
|
|
7262
|
+
SELECT
|
|
7263
|
+
1 AS order_id,
|
|
7264
|
+
'customer_1' AS customer_id,
|
|
7265
|
+
100.50 AS amount,
|
|
7266
|
+
'2024-01-01'::DATE AS order_date
|
|
7267
|
+
UNION ALL
|
|
7268
|
+
SELECT
|
|
7269
|
+
2 AS order_id,
|
|
7270
|
+
'customer_2' AS customer_id,
|
|
7271
|
+
200.75 AS amount,
|
|
7272
|
+
'2024-01-02'::DATE AS order_date
|
|
7273
|
+
"""),
|
|
7274
|
+
)
|
|
7275
|
+
|
|
7276
|
+
config = Config(
|
|
7277
|
+
model_defaults=ModelDefaultsConfig(
|
|
7278
|
+
dialect="duckdb",
|
|
7279
|
+
audits=[
|
|
7280
|
+
"not_null(columns := [order_id, customer_id])",
|
|
7281
|
+
"unique_values(columns := [order_id])",
|
|
7282
|
+
],
|
|
7283
|
+
)
|
|
7284
|
+
)
|
|
7285
|
+
|
|
7286
|
+
context = Context(paths=tmp_path, config=config)
|
|
7287
|
+
|
|
7288
|
+
# Create and apply plan, here audits should pass
|
|
7289
|
+
plan = context.plan("prod", no_prompts=True)
|
|
7290
|
+
context.apply(plan)
|
|
7291
|
+
|
|
7292
|
+
# Verify model has the default audits
|
|
7293
|
+
model = context.get_model("test.orders")
|
|
7294
|
+
assert len(model.audits) == 2
|
|
7295
|
+
|
|
7296
|
+
audit_names = [audit[0] for audit in model.audits]
|
|
7297
|
+
assert "not_null" in audit_names
|
|
7298
|
+
assert "unique_values" in audit_names
|
|
7299
|
+
|
|
7300
|
+
# Verify audit arguments are preserved
|
|
7301
|
+
for audit_name, audit_args in model.audits:
|
|
7302
|
+
if audit_name == "not_null":
|
|
7303
|
+
assert "columns" in audit_args
|
|
7304
|
+
columns = [col.name for col in audit_args["columns"].expressions]
|
|
7305
|
+
assert "order_id" in columns
|
|
7306
|
+
assert "customer_id" in columns
|
|
7307
|
+
elif audit_name == "unique_values":
|
|
7308
|
+
assert "columns" in audit_args
|
|
7309
|
+
columns = [col.name for col in audit_args["columns"].expressions]
|
|
7310
|
+
assert "order_id" in columns
|
|
7311
|
+
|
|
7312
|
+
|
|
7313
|
+
@pytest.mark.slow
|
|
7314
|
+
def test_default_audits_fail_on_bad_data(tmp_path: Path):
|
|
7315
|
+
models_dir = tmp_path / "models"
|
|
7316
|
+
models_dir.mkdir(exist_ok=True)
|
|
7317
|
+
|
|
7318
|
+
# Create a model with data that violates NOT NULL constraint
|
|
7319
|
+
create_temp_file(
|
|
7320
|
+
tmp_path,
|
|
7321
|
+
models_dir / "bad_orders.sql",
|
|
7322
|
+
dedent("""
|
|
7323
|
+
MODEL (
|
|
7324
|
+
name test.bad_orders,
|
|
7325
|
+
kind FULL
|
|
7326
|
+
);
|
|
7327
|
+
|
|
7328
|
+
SELECT
|
|
7329
|
+
1 AS order_id,
|
|
7330
|
+
NULL AS customer_id, -- This violates NOT NULL
|
|
7331
|
+
100.50 AS amount,
|
|
7332
|
+
'2024-01-01'::DATE AS order_date
|
|
7333
|
+
UNION ALL
|
|
7334
|
+
SELECT
|
|
7335
|
+
2 AS order_id,
|
|
7336
|
+
'customer_2' AS customer_id,
|
|
7337
|
+
200.75 AS amount,
|
|
7338
|
+
'2024-01-02'::DATE AS order_date
|
|
7339
|
+
"""),
|
|
7340
|
+
)
|
|
7341
|
+
|
|
7342
|
+
config = Config(
|
|
7343
|
+
model_defaults=ModelDefaultsConfig(
|
|
7344
|
+
dialect="duckdb", audits=["not_null(columns := [customer_id])"]
|
|
7345
|
+
)
|
|
7346
|
+
)
|
|
7347
|
+
|
|
7348
|
+
context = Context(paths=tmp_path, config=config)
|
|
7349
|
+
|
|
7350
|
+
# Plan should fail due to audit failure
|
|
7351
|
+
with pytest.raises(PlanError):
|
|
7352
|
+
context.plan("prod", no_prompts=True, auto_apply=True)
|
|
7353
|
+
|
|
7354
|
+
|
|
7355
|
+
@pytest.mark.slow
|
|
7356
|
+
def test_default_audits_with_model_specific_audits(tmp_path: Path):
|
|
7357
|
+
models_dir = tmp_path / "models"
|
|
7358
|
+
models_dir.mkdir(exist_ok=True)
|
|
7359
|
+
audits_dir = tmp_path / "audits"
|
|
7360
|
+
audits_dir.mkdir(exist_ok=True)
|
|
7361
|
+
|
|
7362
|
+
create_temp_file(
|
|
7363
|
+
tmp_path,
|
|
7364
|
+
audits_dir / "range_check.sql",
|
|
7365
|
+
dedent("""
|
|
7366
|
+
AUDIT (
|
|
7367
|
+
name range_check
|
|
7368
|
+
);
|
|
7369
|
+
|
|
7370
|
+
SELECT * FROM @this_model
|
|
7371
|
+
WHERE @column < @min_value OR @column > @max_value
|
|
7372
|
+
"""),
|
|
7373
|
+
)
|
|
7374
|
+
|
|
7375
|
+
# Create a model with its own audits in addition to defaults
|
|
7376
|
+
create_temp_file(
|
|
7377
|
+
tmp_path,
|
|
7378
|
+
models_dir / "products.sql",
|
|
7379
|
+
dedent("""
|
|
7380
|
+
MODEL (
|
|
7381
|
+
name test.products,
|
|
7382
|
+
kind FULL,
|
|
7383
|
+
audits (
|
|
7384
|
+
range_check(column := price, min_value := 0, max_value := 10000)
|
|
7385
|
+
)
|
|
7386
|
+
);
|
|
7387
|
+
|
|
7388
|
+
SELECT
|
|
7389
|
+
1 AS product_id,
|
|
7390
|
+
'Widget' AS product_name,
|
|
7391
|
+
99.99 AS price
|
|
7392
|
+
UNION ALL
|
|
7393
|
+
SELECT
|
|
7394
|
+
2 AS product_id,
|
|
7395
|
+
'Gadget' AS product_name,
|
|
7396
|
+
149.99 AS price
|
|
7397
|
+
"""),
|
|
7398
|
+
)
|
|
7399
|
+
|
|
7400
|
+
config = Config(
|
|
7401
|
+
model_defaults=ModelDefaultsConfig(
|
|
7402
|
+
dialect="duckdb",
|
|
7403
|
+
audits=[
|
|
7404
|
+
"not_null(columns := [product_id, product_name])",
|
|
7405
|
+
"unique_values(columns := [product_id])",
|
|
7406
|
+
],
|
|
7407
|
+
)
|
|
7408
|
+
)
|
|
7409
|
+
|
|
7410
|
+
context = Context(paths=tmp_path, config=config)
|
|
7411
|
+
|
|
7412
|
+
# Create and apply plan
|
|
7413
|
+
plan = context.plan("prod", no_prompts=True)
|
|
7414
|
+
context.apply(plan)
|
|
7415
|
+
|
|
7416
|
+
# Verify model has both default and model-specific audits
|
|
7417
|
+
model = context.get_model("test.products")
|
|
7418
|
+
assert len(model.audits) == 3
|
|
7419
|
+
|
|
7420
|
+
audit_names = [audit[0] for audit in model.audits]
|
|
7421
|
+
assert "not_null" in audit_names
|
|
7422
|
+
assert "unique_values" in audit_names
|
|
7423
|
+
assert "range_check" in audit_names
|
|
7424
|
+
|
|
7425
|
+
# Verify audit execution order, default audits first then model-specific
|
|
7426
|
+
assert model.audits[0][0] == "not_null"
|
|
7427
|
+
assert model.audits[1][0] == "unique_values"
|
|
7428
|
+
assert model.audits[2][0] == "range_check"
|
|
7429
|
+
|
|
7430
|
+
|
|
7431
|
+
@pytest.mark.slow
|
|
7432
|
+
def test_default_audits_with_custom_audit_definitions(tmp_path: Path):
|
|
7433
|
+
models_dir = tmp_path / "models"
|
|
7434
|
+
models_dir.mkdir(exist_ok=True)
|
|
7435
|
+
audits_dir = tmp_path / "audits"
|
|
7436
|
+
audits_dir.mkdir(exist_ok=True)
|
|
7437
|
+
|
|
7438
|
+
# Create custom audit definition
|
|
7439
|
+
create_temp_file(
|
|
7440
|
+
tmp_path,
|
|
7441
|
+
audits_dir / "positive_amount.sql",
|
|
7442
|
+
dedent("""
|
|
7443
|
+
AUDIT (
|
|
7444
|
+
name positive_amount
|
|
7445
|
+
);
|
|
7446
|
+
|
|
7447
|
+
SELECT * FROM @this_model
|
|
7448
|
+
WHERE @column <= 0
|
|
7449
|
+
"""),
|
|
7450
|
+
)
|
|
7451
|
+
|
|
7452
|
+
# Create a model
|
|
7453
|
+
create_temp_file(
|
|
7454
|
+
tmp_path,
|
|
7455
|
+
models_dir / "transactions.sql",
|
|
7456
|
+
dedent("""
|
|
7457
|
+
MODEL (
|
|
7458
|
+
name test.transactions,
|
|
7459
|
+
kind FULL
|
|
7460
|
+
);
|
|
7461
|
+
|
|
7462
|
+
SELECT
|
|
7463
|
+
1 AS transaction_id,
|
|
7464
|
+
'TXN001' AS transaction_code,
|
|
7465
|
+
250.00 AS amount,
|
|
7466
|
+
'2024-01-01'::DATE AS transaction_date
|
|
7467
|
+
UNION ALL
|
|
7468
|
+
SELECT
|
|
7469
|
+
2 AS transaction_id,
|
|
7470
|
+
'TXN002' AS transaction_code,
|
|
7471
|
+
150.00 AS amount,
|
|
7472
|
+
'2024-01-02'::DATE AS transaction_date
|
|
7473
|
+
"""),
|
|
7474
|
+
)
|
|
7475
|
+
|
|
7476
|
+
config = Config(
|
|
7477
|
+
model_defaults=ModelDefaultsConfig(
|
|
7478
|
+
dialect="duckdb",
|
|
7479
|
+
audits=[
|
|
7480
|
+
"not_null(columns := [transaction_id, transaction_code])",
|
|
7481
|
+
"unique_values(columns := [transaction_id])",
|
|
7482
|
+
"positive_amount(column := amount)",
|
|
7483
|
+
],
|
|
7484
|
+
)
|
|
7485
|
+
)
|
|
7486
|
+
|
|
7487
|
+
context = Context(paths=tmp_path, config=config)
|
|
7488
|
+
|
|
7489
|
+
# Create and apply plan
|
|
7490
|
+
plan = context.plan("prod", no_prompts=True)
|
|
7491
|
+
context.apply(plan)
|
|
7492
|
+
|
|
7493
|
+
# Verify model has all default audits including custom
|
|
7494
|
+
model = context.get_model("test.transactions")
|
|
7495
|
+
assert len(model.audits) == 3
|
|
7496
|
+
|
|
7497
|
+
audit_names = [audit[0] for audit in model.audits]
|
|
7498
|
+
assert "not_null" in audit_names
|
|
7499
|
+
assert "unique_values" in audit_names
|
|
7500
|
+
assert "positive_amount" in audit_names
|
|
7501
|
+
|
|
7502
|
+
# Verify custom audit arguments
|
|
7503
|
+
for audit_name, audit_args in model.audits:
|
|
7504
|
+
if audit_name == "positive_amount":
|
|
7505
|
+
assert "column" in audit_args
|
|
7506
|
+
assert audit_args["column"].name == "amount"
|
|
@@ -1672,13 +1672,13 @@ def test_enable_audits_from_model_defaults():
|
|
|
1672
1672
|
model = load_sql_based_model(
|
|
1673
1673
|
expressions,
|
|
1674
1674
|
path=Path("./examples/sushi/models/test_model.sql"),
|
|
1675
|
-
|
|
1675
|
+
defaults=model_defaults.dict(),
|
|
1676
1676
|
)
|
|
1677
1677
|
|
|
1678
|
-
assert len(model.audits) ==
|
|
1678
|
+
assert len(model.audits) == 1
|
|
1679
1679
|
|
|
1680
1680
|
config = Config(model_defaults=model_defaults)
|
|
1681
|
-
assert config.model_defaults.audits[0] == ("assert_positive_order_ids", {})
|
|
1681
|
+
assert config.model_defaults.audits[0] == ("assert_positive_order_ids", {}) == model.audits[0]
|
|
1682
1682
|
|
|
1683
1683
|
audits_with_args = model.audits_with_args
|
|
1684
1684
|
assert len(audits_with_args) == 1
|
|
@@ -7253,23 +7253,26 @@ def test_macro_references_in_audits():
|
|
|
7253
7253
|
"assert_max_value": load_audit(audit_expression, dialect="duckdb"),
|
|
7254
7254
|
"assert_not_zero": load_audit(not_zero_audit, dialect="duckdb"),
|
|
7255
7255
|
}
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
)
|
|
7256
|
+
model_defaults = ModelDefaultsConfig(dialect="duckdb", audits=["assert_not_zero"])
|
|
7257
|
+
|
|
7259
7258
|
model = load_sql_based_model(
|
|
7260
7259
|
model_expression,
|
|
7261
|
-
|
|
7262
|
-
default_audits=config.model_defaults.audits,
|
|
7260
|
+
defaults=model_defaults.dict(),
|
|
7263
7261
|
audit_definitions=audits,
|
|
7264
7262
|
)
|
|
7265
7263
|
|
|
7266
|
-
assert len(model.audits) ==
|
|
7264
|
+
assert len(model.audits) == 3
|
|
7267
7265
|
audits_with_args = model.audits_with_args
|
|
7268
7266
|
assert len(audits_with_args) == 3
|
|
7269
7267
|
assert len(model.python_env) == 3
|
|
7270
|
-
assert
|
|
7271
|
-
|
|
7268
|
+
assert model.audits == [
|
|
7269
|
+
("assert_not_zero", {}),
|
|
7270
|
+
("assert_max_value", {}),
|
|
7271
|
+
("assert_positive_ids", {}),
|
|
7272
|
+
]
|
|
7272
7273
|
assert isinstance(audits_with_args[0][0], ModelAudit)
|
|
7274
|
+
assert isinstance(audits_with_args[1][0], ModelAudit)
|
|
7275
|
+
assert isinstance(audits_with_args[2][0], ModelAudit)
|
|
7273
7276
|
assert isinstance(model.python_env["min_value"], Executable)
|
|
7274
7277
|
assert isinstance(model.python_env["max_value"], Executable)
|
|
7275
7278
|
assert isinstance(model.python_env["zero_value"], Executable)
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|