sqlmesh 0.209.1.dev47__tar.gz → 0.209.1.dev49__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.209.1.dev47 → sqlmesh-0.209.1.dev49}/PKG-INFO +1 -1
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/_version.py +2 -2
- sqlmesh-0.209.1.dev49/sqlmesh/core/linter/helpers.py +315 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/api.py +10 -2
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/custom.py +61 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/main.py +146 -3
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/PKG-INFO +1 -1
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/SOURCES.txt +21 -0
- sqlmesh-0.209.1.dev49/tests/core/linter/test_helpers.py +130 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/src/callbacks.ts +44 -1
- sqlmesh-0.209.1.dev49/vscode/extension/assets/images/diff.svg +3 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/package.json +13 -1
- sqlmesh-0.209.1.dev49/vscode/extension/src/commands/tableDiff.ts +589 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/extension.ts +9 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/lsp/custom.ts +43 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/webviews/lineagePanel.ts +3 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/api/instance.ts +1 -1
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/Card.tsx +51 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/ColumnStatsSection.tsx +381 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/ContentSections.tsx +78 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/HeaderCard.tsx +201 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/Legend.tsx +59 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/RerunController.tsx +168 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/RowStatsSection.tsx +102 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/SampleDataSection.tsx +440 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/SchemaDiffSection.tsx +122 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/SectionCard.tsx +63 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/SectionToggle.tsx +47 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/TableDiff.tsx +148 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/TableDiffResults.tsx +64 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/hooks.ts +29 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/index.ts +15 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/tailwind-utils.ts +86 -0
- sqlmesh-0.209.1.dev49/vscode/react/src/components/tablediff/types.ts +84 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/main.tsx +18 -19
- sqlmesh-0.209.1.dev49/vscode/react/src/pages/tablediff.tsx +22 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/routeTree.gen.ts +21 -3
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/routes/__root.tsx +4 -1
- sqlmesh-0.209.1.dev49/vscode/react/src/routes/tablediff.tsx +6 -0
- sqlmesh-0.209.1.dev49/web/server/api/endpoints/table_diff.py +176 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/models.py +25 -2
- sqlmesh-0.209.1.dev47/sqlmesh/core/linter/helpers.py +0 -212
- sqlmesh-0.209.1.dev47/tests/core/linter/test_helpers.py +0 -78
- sqlmesh-0.209.1.dev47/web/server/api/endpoints/table_diff.py +0 -69
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/config.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/continue_config.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/install-prerequisites.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/manage-test-db.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/test_migration.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/update-pypirc.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.circleci/wait-for-db.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.claude/agents/code-reviewer.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.claude/agents/developer.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.claude/agents/qa-reviewer.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.claude/agents/technical-writer.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/dependabot.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/scripts/get_scm_version.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/workflows/pr.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/workflows/private-repo-test.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/workflows/release_extension.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.github/workflows/release_shared_js.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.nvmrc +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.pre-commit-config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.prettierignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.prettierrc.cjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/.readthedocs.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/CLAUDE.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/LICENSE +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/MANIFEST.in +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/Makefile +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/README.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/benchmarks/lsp_render_model_bench.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/custom_materializations/custom_materializations/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/custom_materializations/custom_materializations/custom_kind.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/custom_materializations/custom_materializations/full.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/custom_materializations/pyproject.toml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/audits/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/audits/assert_positive_order_ids.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/constants.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/data/.keep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/macros/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/full_model.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/ibis_full_model_python.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/ibis_full_model_sql.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/incremental_model.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/models/seed_model.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/seeds/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/seeds/seed_data.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/ibis/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/.vscode/settings.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/audits/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/linter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/linter/user.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/macros/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/models/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/models/a.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/models/b.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_1/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/audits/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/macros/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/models/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/models/c.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/models/d.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/models/e.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi/repo_2/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/bronze/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/bronze/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/bronze/models/a.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/bronze/models/b.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/bronze/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/macros/store_schemas.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/models/c.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/models/d.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_dbt/silver/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/macros/round_dollars.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/models/c.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/models/d.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/models/e.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/dbt_repo/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/sqlmesh_repo/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/sqlmesh_repo/models/a.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/multi_hybrid/sqlmesh_repo/models/b.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/audits/assert_item_price_above_zero.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/audits/items.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/audits/order_items.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/audits/raw_demographics.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/data/.keep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/external_models/model1/model1.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/external_models/model2/model2.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/external_models/prod.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/external_models.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/helper.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/linter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/linter/user.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/macros/macros.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/macros/macros.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/macros/utils.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/metrics/metrics.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/active_customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/blueprint.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/customer_revenue_lifetime.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/disabled.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/disabled.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/items.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/latest_order.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/marketing.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/order_items.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/orders.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/raw_marketing.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/top_waiters.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/waiter_names.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/models/waiters.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/signals/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/sqlmesh-requirements.lock +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/tests/test_customer_revenue_by_day.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/tests/test_customer_revenue_lifetime.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi/tests/test_order_items.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/.user.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/analyses/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/macros/incremental.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/macros/log_value.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/top_waiters.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/waiter_revenue_by_day_v1.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/models/waiters.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/analyses/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/macros/current_engine.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/macros/distinct.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/seeds/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/snapshots/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/packages/customers/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/seeds/items.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/seeds/order_items.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/seeds/orders.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/seeds/properties.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/snapshots/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/tests/assert_item_price_above_zero.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dbt/tests/generic/less_than_amount.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/sushi_dlt/sushi_pipeline.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/audits/db/order_f.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/macros/macros.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/db/customer_d.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/db/item_d.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/db/order_f.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/db/order_item_f.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/src/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/src/customer_details.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/src/menu_item_details.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/src/order_item_details.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/models/src/shared.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/seeds/src/menu_item_details.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/tests/test_customer_d.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/examples/wursthall/tests/test_order_item_f.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/mkdocs.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/package.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/pdoc/cli.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/pdoc/templates/module.html.jinja2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/pnpm-lock.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/pnpm-workspace.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/pyproject.toml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/setup.cfg +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/.airflowignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cicd/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cicd/bot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cicd/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cli/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cli/main.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cli/options.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/cli/project_init.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/_typing.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/analytics/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/analytics/collector.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/analytics/dispatcher.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/audit/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/audit/builtin.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/audit/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/base.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/categorizer.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/connection.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/format.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/gateway.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/janitor.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/linter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/migration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/naming.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/plan.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/root.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/run.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/scheduler.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/config/ui.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/console.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/constants.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/context_diff.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/dialect.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/_typing.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/athena.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/base.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/base_postgres.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/bigquery.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/clickhouse.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/databricks.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/duckdb.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/mixins.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/mssql.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/mysql.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/postgres.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/redshift.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/risingwave.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/shared.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/snowflake.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/spark.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/engine_adapter/trino.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/environment.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/lineage.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/linter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/linter/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/linter/rule.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/linter/rules/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/linter/rules/builtin.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/macros.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/metric/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/metric/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/metric/rewriter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/cache.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/decorator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/kind.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/meta.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/schema.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/model/seed.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/node.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/notification_target.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/builder.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/evaluator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/explainer.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/plan/stages.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/reference.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/renderer.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/scheduler.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/schema_diff.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/schema_loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/selector.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/signal.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/snapshot/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/snapshot/cache.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/snapshot/categorizer.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/snapshot/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/snapshot/evaluator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/base.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/cache.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/environment.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/facade.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/interval.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/migrator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/snapshot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/utils.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/db/version.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/state_sync/export_import.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/table_diff.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/definition.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/discovery.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/result.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/test/runner.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/core/user.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/adapter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/basemodel.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/builtin.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/column.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/common.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/console.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/convert.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/jinja.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/jinja_builtins.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/converter/jinja_transforms.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/manifest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/package.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/profile.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/project.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/relation.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/seed.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/source.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/target.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/test.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/dbt/util.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/engines/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/engines/spark/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/engines/spark/db_api/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/engines/spark/db_api/errors.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/engines/spark/db_api/spark_session.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/dlt.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/github/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/github/cicd/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/github/cicd/command.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/github/cicd/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/github/cicd/controller.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/llm.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/integrations/slack.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/commands.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/completions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/errors.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/helpers.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/hints.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/reference.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/rename.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/tests_ranges.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/lsp/uri.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/magics.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0001_init.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0002_remove_identify.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0003_move_batch_size.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0004_environmnent_add_finalized_at.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0005_create_seed_table.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0006_change_seed_hash.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0007_env_table_info_to_kind.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0008_create_intervals_table.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0009_remove_pre_post_hooks.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0010_seed_hash_batch_size.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0011_add_model_kind_name.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0012_update_jinja_expressions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0013_serde_using_model_dialects.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0014_fix_dev_intervals.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0015_environment_add_promoted_snapshot_ids.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0016_fix_windows_path.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0017_fix_windows_seed_path.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0019_add_env_suffix_target.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0021_fix_table_properties.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0022_move_project_to_model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0023_fix_added_models_with_forward_only_parents.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0026_remove_dialect_from_seed.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0027_minute_interval_to_five.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0028_add_plan_dags_table.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0030_update_unrestorable_snapshots.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0031_remove_dbt_target_fields.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0032_add_sqlmesh_version.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0033_mysql_fix_blob_text_type.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0034_add_default_catalog.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0035_add_catalog_name_override.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0036_delete_plan_dags_bug_fix.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0040_add_previous_finalized_snapshots.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0042_trim_indirect_versions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0044_quote_identifiers_in_model_attributes.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0045_move_gateway_variable.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0046_add_batch_concurrency.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0047_change_scd_string_to_column.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0048_drop_indirect_versions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0049_replace_identifier_with_version_in_seeds_table.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0050_drop_seeds_table.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0051_rename_column_descriptions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0052_add_normalize_name_in_environment_naming_info.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0053_custom_model_kind_extra_attributes.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0054_fix_trailing_comments.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0056_restore_table_indexes.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0057_add_table_format.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0058_add_requirements.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0059_add_physical_version.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0060_move_audits_to_model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0061_mysql_fix_blob_text_type.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0062_add_model_gateway.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0063_change_signals.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0064_join_when_matched_strings.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0065_add_model_optimize.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0066_add_auto_restatements.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0067_add_tsql_date_full_precision.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0068_include_unrendered_query_in_metadata_hash.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0069_update_dev_table_suffix.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0070_include_grains_in_metadata_hash.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0071_add_dev_version_to_intervals.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0072_add_environment_statements.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0074_add_partition_by_time_column_property.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0075_remove_validate_query.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0076_add_cron_tz.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0077_fix_column_type_hash_calculation.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0078_warn_if_non_migratable_python_env.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0079_add_gateway_managed_property.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0080_add_batch_size_to_scd_type_2_models.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0081_update_partitioned_by.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0082_warn_if_incorrectly_duplicated_statements.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0083_use_sql_for_scd_time_data_type_data_hash.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0084_normalize_quote_when_matched_and_merge_filter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0085_deterministic_repr.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0086_check_deterministic_bug.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0087_normalize_blueprint_variables.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0088_warn_about_variable_python_env_diffs.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0089_add_virtual_environment_mode.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/migrations/v0090_add_forward_only_column.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/py.typed +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/schedulers/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/aws.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/cache.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/concurrency.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/connection_pool.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/conversions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/cron.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/dag.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/date.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/errors.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/git.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/hashing.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/jinja.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/lineage.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/metaprogramming.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/migration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/pandas.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/process.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/pydantic.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/rich.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/windows.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh/utils/yaml.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/dependency_links.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/entry_points.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/requires.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh.egg-info/top_level.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh_dbt/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh_dbt/cli.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh_dbt/console.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/sqlmesh_dbt/operations.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/cli/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/cli/test_cli.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/cli/test_integration_cli.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/cli/test_project_init.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/analytics/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/analytics/test_collector.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/analytics/test_dispatcher.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/config.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/_common-hive.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/clickhouse/config.xml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/clickhouse/keeper.xml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.clickhouse.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.mssql.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.mysql.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.postgres.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.risingwave.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.spark.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/compose.trino.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/init-metastore-db.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/spark/Dockerfile +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/spark/conf/hive-site.xml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/spark/conf/spark-defaults.conf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake.properties +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_delta.properties +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_iceberg.properties +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_nessie.properties +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/docker/trino/catalog/testing.properties +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_athena.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_bigquery.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_clickhouse.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_duckdb.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_postgres.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_redshift.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_risingwave.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_snowflake.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/integration/test_integration_trino.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_athena.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_base.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_base_postgres.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_bigquery.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_clickhouse.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_databricks.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_duckdb.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_mixins.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_mssql.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_mysql.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_postgres.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_redshift.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_risingwave.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_snowflake.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_spark.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/engine_adapter/test_trino.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/linter/test_builtin.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/metric/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/metric/test_metric.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/metric/test_rewriter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/state_sync/test_export_import.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/state_sync/test_state_sync.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_audit.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_connection_config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_console.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_dialect.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_environment.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_format.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_integration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_lineage.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_macros.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_notification_target.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_plan.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_plan_evaluator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_plan_stages.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_reference.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_rule.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_scheduler.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_schema_diff.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_schema_loader.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_seed.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_selector.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_snapshot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_snapshot_evaluator.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_table_diff.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/core/test_test.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/docs.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/orders.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/overview.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/staging/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/staging/stg_customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/staging/stg_orders.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/models/staging/stg_payments.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/seeds/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/seeds/raw_customers.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/seeds/raw_orders.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/fixtures/jaffle_shop_duckdb/seeds/raw_payments.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/test_list.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/test_operations.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/cli/test_run.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/analyses/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/macros/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/models/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/models/sources.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/packages/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/items.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/properties.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/snapshots/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/empty_dbt_project/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/jinja_nested_if.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/macro_dbt_incremental.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/macro_func_with_params.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/fixtures/model_query_incremental.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/test_convert.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/test_jinja.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/converter/test_jinja_transforms.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_adapter.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_integration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_manifest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_test.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_transformation.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/dbt/test_util.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/engines/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/engines/spark/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/engines/spark/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/engines/spark/test_db_api.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/analyses/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/logs/dbt.log.legacy +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/macros/create_tables.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/macros/incremental.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/macros/log_value.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/macros/test_dependencies.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/disabled_model.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/simple_model_a.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/simple_model_b.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/top_waiters.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/waiter_as_customer_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day_v1.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/models/waiters.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/analyses/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/dbt_project.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/macros/current_engine.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/macros/distinct.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/macros/packaged_tables.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/models/customer_revenue_by_day.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/models/customers.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/models/schema.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/seeds/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/snapshots/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages/customers/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/packages.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/profiles.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/schema.yaml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/seed_sources.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/seeds/properties.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/seeds/waiter_names.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/snapshots/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/snapshots/items_check_snapshot.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/snapshots/items_no_hard_delete_snapshot.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/snapshots/items_snapshot.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/source_data/items.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/source_data/order_items.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/source_data/orders.csv +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/dbt/sushi_test/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_closed.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_command_deploy.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_comment.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_review_submit.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_synchronized.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/github/pull_request_synchronized_enterprise.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/migrations/environments.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/migrations/snapshots.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/audits/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/macros/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/macros/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/models/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/models/first_schema/model_one.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/models/first_schema/model_two.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/models/second_schema/model_one.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/models/second_schema/model_two.sql +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/multi_virtual_layer/tests/.gitkeep +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/snowflake/rsa_key_no_pass.p8 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/fixtures/snowflake/rsa_key_pass.p8 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/test_config.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/test_github_commands.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/test_github_controller.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/test_github_event.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/github/cicd/test_integration.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/jupyter/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/jupyter/example_outputs.ipynb +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/integrations/jupyter/test_magics.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_code_actions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_completions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_context.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_diagnostics.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_document_highlight.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_hints.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_cte.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_cte_find_all.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_external_model.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_macro.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_macro_find_all.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_macro_multi.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_model_column_prefix.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_reference_model_find_all.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/lsp/test_rename_cte.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/pyproject.toml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/schedulers/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/setup.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/test_forking.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/pandas.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_aws.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_cache.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_concurrency.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_connection_pool.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_dag.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_date.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_filesystem.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_filters.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_helpers.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_jinja.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_lineage_description.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_metaprogramming.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_pydantic.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/utils/test_yaml.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/web/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/web/conftest.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/web/test_lineage.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tests/web/test_main.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/README.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/validating_migration_numbers.sh +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/vscode/extensions.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/vscode/launch.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/vscode/settings.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/tooling/vscode/tasks.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/package.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/src/brand.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/src/result.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/bus/tsconfig.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/.vscodeignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/CHANGELOG.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/README.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/assets/logo.png +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/assets/logo.svg +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/esbuild.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/eslint.config.mjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/playwright.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/auth/auth.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/commands.test.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/format.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/printEnvironment.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/renderModel.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/signin.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/signinSpecifyFlow.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/signout.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/commands/stop.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/completion/completion.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/lsp/lsp.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/providers/renderedModelProvider.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/tests/tests.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/constants.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/log.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/python.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/settings.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/utilities.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/common/vscodeapi.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/errors.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/exec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/isCodespaces.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/isWindows.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/python.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/semver.test.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/semver.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/sleep.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/src/utilities/sqlmesh/sqlmesh.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/bad_setup.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/broken_project.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/commands.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/completions.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/configuration.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/diagnostics.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/extension.setup.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/extension.teardown.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/external_models.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/find_references.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/fixtures.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/format.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/go_to_definition.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/hints.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/lineage.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/lineage_settings.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/multi_project.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/python_env.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/quickfix.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/rename_cte.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/render.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/stop.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud/README.md +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud/mock_tcloud/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud/mock_tcloud/cli.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud/pyproject.toml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tcloud_utils.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/tests.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/utils.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/utils_code_server.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tests/venv_naming.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tsconfig.build.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tsconfig.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/tsconfig.test.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/extension/vitest.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/openapi.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.cta.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.storybook/main.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.storybook/preview.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.storybook/storybook.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/.storybook/vitest.setup.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/index.html +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/orval.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/package.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/App.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/api/client.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/api/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/button/Button.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/CogIcon.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/Graph.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/ModelColumns.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/ModelLineage.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/ModelNode.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/ModelNodeHeaderHandles.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/SettingsControl.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/constants.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/context.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/types.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/workers/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/graph/workers/lineage.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/input/Input.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/input/InputToggle.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/input/Selector.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/input/Textfield.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/loading/Loading.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/loading/LoadingSegment.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/loading/LoadingStatus.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/logo/Spinner.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/sourceList/SourceList.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/sourceList/SourceListItem.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/components/title/Title.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/domain/column.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/domain/initial.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/domain/lineage.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/domain/models.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/domain/sqlmesh-model.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/hooks/eventBus.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/hooks/vscode.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/pages/lineage.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/reportWebVitals.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/routes/index.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/routes/lineage.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/style/variants.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/styles.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/utils/index.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/utils/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/utils/receiveEvents.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/utils/rpc.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/src/utils/vscodeapi.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/tailwind.config.cjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/tsconfig.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/vite.config.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/vscode/react/vitest.shims.d.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/.dockerignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/Dockerfile.api +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/Dockerfile.app +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Audits-Jm353fhk.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Banner-DzWLWxS2.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/ChevronDownIcon-DND34_0j.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/ChevronRightIcon-BrnG7zJd.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Content-BaMgXJRh.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Content-DphTMPPH.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Data-MJRTjiHp.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/DataCatalog-DnhHmqO9.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Editor-Bsp2nRii.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Editor-CD1DYOmd.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Errors-CwLLcKXv.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/FileExplorer-CjiHTJqb.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Footer-BeDVe5W7.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Header-dh7a7qX-.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Input-B-Ounlv_.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Lineage-DDBcnPQX.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/ListboxShow-CV2BuG5q.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/ModelLineage-B1JusHLp.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Models-BILTGfK2.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Page-SvStklIG.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Plan-BHC6Jsvb.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/PlusCircleIcon-BWbZTVU_.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/ReportErrors-h8_M9bTF.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Root-yarU-KP7.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/SearchList-BLcpQVJH.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/SelectEnvironment-BcN1dphw.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/SourceList-Kt2aCd0O.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/SourceListItem-B7x_VFKR.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/SplitPane-BH6IQnVH.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Tests-ClEdNkg6.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/Welcome-D2UIox3v.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/context-DieJUDVl.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/context-DykI9LSF.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/editor-DNt3hEcu.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/file-y5ZNtlGh.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/floating-ui.react-dom-BX3awo09.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/help-B59vE3aE.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/help-DeXhqTBT.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/index-DXRmsAbz.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/index-DyOMAzII.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/plan-B4z00b85.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/popover-B6Q1laIx.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/assets/project-BraqCC5X.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/css/base.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/css/design.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/favicons/favicon.svg +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/OFL.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/README.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Black.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Bold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Light.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Medium.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Regular.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Inter/static/Inter-Thin.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/OFL.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/README.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-buch.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-buch.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-kraftig.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-kraftig.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-mono-buch.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/dist/index.html +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/eslint.config.mjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/index.html +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/openapi.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/orval.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/package.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/playwright.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/postcss.config.cjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/css/base.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/css/design.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/favicons/favicon.svg +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/OFL.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/README.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Black.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Bold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Light.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Medium.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Regular.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Inter/static/Inter-Thin.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/OFL.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/README.txt +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-buch.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-buch.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-kraftig.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-kraftig.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-mono-buch.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/public/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/App.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/api/channels.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/api/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/api/instance.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/context/context.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/context/editor.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/context/plan.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/context/project.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/context/theme.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/hooks/useActiveFocus.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/hooks/useLocalStorage.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/banner/Banner.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/banner/Welcome.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/button/Button.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/button/tests/Button.spec.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/container/Container.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/divider/Divider.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/divider/tests/Divider.spec.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/documentation/Documentation.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/Editor.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/Editor.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorCode.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorFooter.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorIndicator.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorInspector.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorPreview.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorTab.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/EditorTabs.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/extensions/SQLMeshDialect.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/extensions/SQLMeshModel.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/extensions/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/extensions/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/editor/hooks.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/environmentDetails/AddEnvironment.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/environmentDetails/EnvironmentChanges.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/environmentDetails/EnvironmentChangesPreview.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/environmentDetails/EnvironmentDetails.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/environmentDetails/SelectEnvironment.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/fileExplorer/Directory.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/fileExplorer/DragLayer.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/fileExplorer/File.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/fileExplorer/FileExplorer.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/fileExplorer/context.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/Graph.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelColumns.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelLineage.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelLineageDetails.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelLineageSearch.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelNode.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/ModelNodeHeaderHandles.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/context.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/graph/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/historyNavigation/historyNavigation.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/input/Input.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/input/InputToggle.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/input/Selector.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/input/Textfield.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/listbox/ListboxShow.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/loading/Loading.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/loading/LoadingSegment.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/loading/LoadingStatus.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/logo/Spinner.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/logo/SqlMesh.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/logo/Tobiko.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/modal/Modal.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/modal/ModalConfirmation.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/moduleNavigation/ModuleLink.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/moduleNavigation/ModuleNavigation.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/Plan.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanActions.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanApplyStageTracker.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanBackfillDates.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanChangePreview.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanHeader.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/PlanOptions.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/context.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/help.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/plan/hooks.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/progress/Progress.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/report/ReportErrors.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/report/ReportTestsErrors.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/search/SearchList.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/search/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/sourceList/SourceList.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/sourceList/SourceListItem.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/splitPane/SplitPane.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/splitPane/SplitPane.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/tab/Tab.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/table/Table.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/table/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/tableDiff/TableDiff.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/tableDiff/help.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/tasksOverview/TasksOverview.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/title/Title.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/components/toggle/Toggle.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/audits/Audits.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/data/Data.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/data-catalog/DataCatalog.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/editor/Editor.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/errors/Content.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/errors/Errors.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/lineage/Lineage.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/models/Models.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/plan/Content.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/plan/Plan.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/Footer.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/Header.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/Navigation.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/NotFound.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/Page.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/Root.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/root/context/notificationCenter.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/library/pages/tests/Tests.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/main.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/artifact.posix.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/artifact.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/artifact.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/artifact.win.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/directory.posix.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/directory.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/directory.win.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/environment.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/file.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/file.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/initial.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/module-controller.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/plan-action.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/sqlmesh-change-display.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/sqlmesh-model.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/tracker-plan-apply.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/tracker-plan-cancel.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/tracker-plan-overview.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/models/tracker-plan.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/routes.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/styles/index.css +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/tests/setup.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/tests/utils.tsx +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/types/enum.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/types/index.d.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/utils/additional-components.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/utils/index.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/utils/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/utils/tbk-components.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/workers/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/workers/lineage.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/workers/sqlglot/sqlglot.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/src/workers/sqlglot/sqlglot.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/tailwind.config.cjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/tests/initial.spec.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/tsconfig.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/client/vite.config.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/.gitignore +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/eslint.config.mjs +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/package.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/src/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/src/types/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/src/utils/index.ts +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/tsconfig.json +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/common/vite.config.js +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/docker-compose.build.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/docker-compose.yml +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/__init__.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/commands.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/directories.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/environments.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/events.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/files.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/lineage.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/meta.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/models.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/modules.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/api/endpoints/plan.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/app.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/console.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/exceptions.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/main.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/openapi.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/settings.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/utils.py +0 -0
- {sqlmesh-0.209.1.dev47 → sqlmesh-0.209.1.dev49}/web/server/watcher.py +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.209.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 209, 1, '
|
|
20
|
+
__version__ = version = '0.209.1.dev49'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 209, 1, 'dev49')
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
from sqlmesh.core.linter.rule import Range, Position
|
|
4
|
+
from sqlmesh.utils.pydantic import PydanticModel
|
|
5
|
+
from sqlglot import tokenize, TokenType, Token
|
|
6
|
+
import typing as t
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TokenPositionDetails(PydanticModel):
|
|
10
|
+
"""
|
|
11
|
+
Details about a token's position in the source code in the structure provided by SQLGlot.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
line (int): The line that the token ends on.
|
|
15
|
+
col (int): The column that the token ends on.
|
|
16
|
+
start (int): The start index of the token.
|
|
17
|
+
end (int): The ending index of the token.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
line: int
|
|
21
|
+
col: int
|
|
22
|
+
start: int
|
|
23
|
+
end: int
|
|
24
|
+
|
|
25
|
+
@staticmethod
|
|
26
|
+
def from_meta(meta: t.Dict[str, int]) -> "TokenPositionDetails":
|
|
27
|
+
return TokenPositionDetails(
|
|
28
|
+
line=meta["line"],
|
|
29
|
+
col=meta["col"],
|
|
30
|
+
start=meta["start"],
|
|
31
|
+
end=meta["end"],
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
def to_range(self, read_file: t.Optional[t.List[str]]) -> Range:
|
|
35
|
+
"""
|
|
36
|
+
Convert a TokenPositionDetails object to a Range object.
|
|
37
|
+
|
|
38
|
+
In the circumstances where the token's start and end positions are the same,
|
|
39
|
+
there is no need for a read_file parameter, as the range can be derived from the token's
|
|
40
|
+
line and column. This is an optimization to avoid unnecessary file reads and should
|
|
41
|
+
only be used when the token represents a single character or position in the file.
|
|
42
|
+
|
|
43
|
+
If the token's start and end positions are different, the read_file parameter is required.
|
|
44
|
+
|
|
45
|
+
:param read_file: List of lines from the file. Optional
|
|
46
|
+
:return: A Range object representing the token's position
|
|
47
|
+
"""
|
|
48
|
+
if self.start == self.end:
|
|
49
|
+
# If the start and end positions are the same, we can create a range directly
|
|
50
|
+
return Range(
|
|
51
|
+
start=Position(line=self.line - 1, character=self.col - 1),
|
|
52
|
+
end=Position(line=self.line - 1, character=self.col),
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
if read_file is None:
|
|
56
|
+
raise ValueError("read_file must be provided when start and end positions differ.")
|
|
57
|
+
|
|
58
|
+
# Convert from 1-indexed to 0-indexed for line only
|
|
59
|
+
end_line_0 = self.line - 1
|
|
60
|
+
end_col_0 = self.col
|
|
61
|
+
|
|
62
|
+
# Find the start line and column by counting backwards from the end position
|
|
63
|
+
start_pos = self.start
|
|
64
|
+
end_pos = self.end
|
|
65
|
+
|
|
66
|
+
# Initialize with the end position
|
|
67
|
+
start_line_0 = end_line_0
|
|
68
|
+
start_col_0 = end_col_0 - (end_pos - start_pos + 1)
|
|
69
|
+
|
|
70
|
+
# If start_col_0 is negative, we need to go back to previous lines
|
|
71
|
+
while start_col_0 < 0 and start_line_0 > 0:
|
|
72
|
+
start_line_0 -= 1
|
|
73
|
+
start_col_0 += len(read_file[start_line_0])
|
|
74
|
+
# Account for newline character
|
|
75
|
+
if start_col_0 >= 0:
|
|
76
|
+
break
|
|
77
|
+
start_col_0 += 1 # For the newline character
|
|
78
|
+
|
|
79
|
+
# Ensure we don't have negative values
|
|
80
|
+
start_col_0 = max(0, start_col_0)
|
|
81
|
+
return Range(
|
|
82
|
+
start=Position(line=start_line_0, character=start_col_0),
|
|
83
|
+
end=Position(line=end_line_0, character=end_col_0),
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def read_range_from_string(content: str, text_range: Range) -> str:
|
|
88
|
+
lines = content.splitlines(keepends=False)
|
|
89
|
+
|
|
90
|
+
# Ensure the range is within bounds
|
|
91
|
+
start_line = max(0, text_range.start.line)
|
|
92
|
+
end_line = min(len(lines), text_range.end.line + 1)
|
|
93
|
+
|
|
94
|
+
if start_line >= end_line:
|
|
95
|
+
return ""
|
|
96
|
+
|
|
97
|
+
# Extract the relevant portions of each line
|
|
98
|
+
result = []
|
|
99
|
+
for i in range(start_line, end_line):
|
|
100
|
+
line = lines[i]
|
|
101
|
+
start_char = text_range.start.character if i == text_range.start.line else 0
|
|
102
|
+
end_char = text_range.end.character if i == text_range.end.line else len(line)
|
|
103
|
+
result.append(line[start_char:end_char])
|
|
104
|
+
|
|
105
|
+
return "".join(result)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def read_range_from_file(file: Path, text_range: Range) -> str:
|
|
109
|
+
"""
|
|
110
|
+
Read the file and return the content within the specified range.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
file: Path to the file to read
|
|
114
|
+
text_range: The range of text to extract
|
|
115
|
+
|
|
116
|
+
Returns:
|
|
117
|
+
The content within the specified range
|
|
118
|
+
"""
|
|
119
|
+
with file.open("r", encoding="utf-8") as f:
|
|
120
|
+
lines = f.readlines()
|
|
121
|
+
|
|
122
|
+
return read_range_from_string("".join(lines), text_range)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def get_start_and_end_of_model_block(
|
|
126
|
+
tokens: t.List[Token],
|
|
127
|
+
) -> t.Optional[t.Tuple[int, int]]:
|
|
128
|
+
"""
|
|
129
|
+
Returns the start and end tokens of the MODEL block in an SQL file.
|
|
130
|
+
The MODEL block is defined as the first occurrence of the keyword "MODEL" followed by
|
|
131
|
+
an opening parenthesis and a closing parenthesis that matches the opening one.
|
|
132
|
+
"""
|
|
133
|
+
# 1) Find the MODEL token
|
|
134
|
+
try:
|
|
135
|
+
model_idx = next(
|
|
136
|
+
i
|
|
137
|
+
for i, tok in enumerate(tokens)
|
|
138
|
+
if tok.token_type is TokenType.VAR and tok.text.upper() == "MODEL"
|
|
139
|
+
)
|
|
140
|
+
except StopIteration:
|
|
141
|
+
return None
|
|
142
|
+
|
|
143
|
+
# 2) Find the opening parenthesis for the MODEL properties list
|
|
144
|
+
try:
|
|
145
|
+
lparen_idx = next(
|
|
146
|
+
i
|
|
147
|
+
for i in range(model_idx + 1, len(tokens))
|
|
148
|
+
if tokens[i].token_type is TokenType.L_PAREN
|
|
149
|
+
)
|
|
150
|
+
except StopIteration:
|
|
151
|
+
return None
|
|
152
|
+
|
|
153
|
+
# 3) Find the matching closing parenthesis by looking for the first semicolon after
|
|
154
|
+
# the opening parenthesis and assuming the MODEL block ends there.
|
|
155
|
+
try:
|
|
156
|
+
closing_semicolon = next(
|
|
157
|
+
i
|
|
158
|
+
for i in range(lparen_idx + 1, len(tokens))
|
|
159
|
+
if tokens[i].token_type is TokenType.SEMICOLON
|
|
160
|
+
)
|
|
161
|
+
# If we find a semicolon, we can assume the MODEL block ends there
|
|
162
|
+
rparen_idx = closing_semicolon - 1
|
|
163
|
+
if tokens[rparen_idx].token_type is TokenType.R_PAREN:
|
|
164
|
+
return (lparen_idx, rparen_idx)
|
|
165
|
+
return None
|
|
166
|
+
except StopIteration:
|
|
167
|
+
return None
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def get_range_of_model_block(
|
|
171
|
+
sql: str,
|
|
172
|
+
dialect: str,
|
|
173
|
+
) -> t.Optional[Range]:
|
|
174
|
+
"""
|
|
175
|
+
Get the range of the model block in an SQL file,
|
|
176
|
+
"""
|
|
177
|
+
tokens = tokenize(sql, dialect=dialect)
|
|
178
|
+
block = get_start_and_end_of_model_block(tokens)
|
|
179
|
+
if not block:
|
|
180
|
+
return None
|
|
181
|
+
(start_idx, end_idx) = block
|
|
182
|
+
start = tokens[start_idx - 1]
|
|
183
|
+
end = tokens[end_idx + 1]
|
|
184
|
+
start_position = TokenPositionDetails(
|
|
185
|
+
line=start.line,
|
|
186
|
+
col=start.col,
|
|
187
|
+
start=start.start,
|
|
188
|
+
end=start.end,
|
|
189
|
+
)
|
|
190
|
+
end_position = TokenPositionDetails(
|
|
191
|
+
line=end.line,
|
|
192
|
+
col=end.col,
|
|
193
|
+
start=end.start,
|
|
194
|
+
end=end.end,
|
|
195
|
+
)
|
|
196
|
+
splitlines = sql.splitlines()
|
|
197
|
+
return Range(
|
|
198
|
+
start=start_position.to_range(splitlines).start,
|
|
199
|
+
end=end_position.to_range(splitlines).end,
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def get_range_of_a_key_in_model_block(
|
|
204
|
+
sql: str,
|
|
205
|
+
dialect: str,
|
|
206
|
+
key: str,
|
|
207
|
+
) -> t.Optional[t.Tuple[Range, Range]]:
|
|
208
|
+
"""
|
|
209
|
+
Get the ranges of a specific key and its value in the MODEL block of an SQL file.
|
|
210
|
+
|
|
211
|
+
Returns a tuple of (key_range, value_range) if found, otherwise None.
|
|
212
|
+
"""
|
|
213
|
+
tokens = tokenize(sql, dialect=dialect)
|
|
214
|
+
if not tokens:
|
|
215
|
+
return None
|
|
216
|
+
|
|
217
|
+
block = get_start_and_end_of_model_block(tokens)
|
|
218
|
+
if not block:
|
|
219
|
+
return None
|
|
220
|
+
(lparen_idx, rparen_idx) = block
|
|
221
|
+
|
|
222
|
+
# 4) Scan within the MODEL property list for the key at top-level (depth == 1)
|
|
223
|
+
# Initialize depth to 1 since we're inside the first parentheses
|
|
224
|
+
depth = 1
|
|
225
|
+
for i in range(lparen_idx + 1, rparen_idx):
|
|
226
|
+
tok = tokens[i]
|
|
227
|
+
tt = tok.token_type
|
|
228
|
+
|
|
229
|
+
if tt is TokenType.L_PAREN:
|
|
230
|
+
depth += 1
|
|
231
|
+
continue
|
|
232
|
+
if tt is TokenType.R_PAREN:
|
|
233
|
+
depth -= 1
|
|
234
|
+
# If we somehow exit before rparen_idx, stop early
|
|
235
|
+
if depth <= 0:
|
|
236
|
+
break
|
|
237
|
+
continue
|
|
238
|
+
|
|
239
|
+
if depth == 1 and tt is TokenType.VAR and tok.text.upper() == key.upper():
|
|
240
|
+
# Validate key position: it should immediately follow '(' or ',' at top level
|
|
241
|
+
prev_idx = i - 1
|
|
242
|
+
prev_tt = tokens[prev_idx].token_type if prev_idx >= 0 else None
|
|
243
|
+
if prev_tt not in (TokenType.L_PAREN, TokenType.COMMA):
|
|
244
|
+
continue
|
|
245
|
+
|
|
246
|
+
# Key range
|
|
247
|
+
lines = sql.splitlines()
|
|
248
|
+
key_start = TokenPositionDetails(
|
|
249
|
+
line=tok.line, col=tok.col, start=tok.start, end=tok.end
|
|
250
|
+
)
|
|
251
|
+
key_range = key_start.to_range(lines)
|
|
252
|
+
|
|
253
|
+
value_start_idx = i + 1
|
|
254
|
+
if value_start_idx >= rparen_idx:
|
|
255
|
+
return None
|
|
256
|
+
|
|
257
|
+
# Walk to the end of the value expression: until top-level comma or closing paren
|
|
258
|
+
# Track internal nesting for (), [], {}
|
|
259
|
+
nested = 0
|
|
260
|
+
j = value_start_idx
|
|
261
|
+
value_end_idx = value_start_idx
|
|
262
|
+
|
|
263
|
+
def is_open(t: TokenType) -> bool:
|
|
264
|
+
return t in (TokenType.L_PAREN, TokenType.L_BRACE, TokenType.L_BRACKET)
|
|
265
|
+
|
|
266
|
+
def is_close(t: TokenType) -> bool:
|
|
267
|
+
return t in (TokenType.R_PAREN, TokenType.R_BRACE, TokenType.R_BRACKET)
|
|
268
|
+
|
|
269
|
+
while j < rparen_idx:
|
|
270
|
+
ttype = tokens[j].token_type
|
|
271
|
+
if is_open(ttype):
|
|
272
|
+
nested += 1
|
|
273
|
+
elif is_close(ttype):
|
|
274
|
+
nested -= 1
|
|
275
|
+
|
|
276
|
+
# End of value: at top-level (nested == 0) encountering a comma or the end paren
|
|
277
|
+
if nested == 0 and (
|
|
278
|
+
ttype is TokenType.COMMA or (ttype is TokenType.R_PAREN and depth == 1)
|
|
279
|
+
):
|
|
280
|
+
# For comma, don't include it in the value range
|
|
281
|
+
# For closing paren, include it only if it's part of the value structure
|
|
282
|
+
if ttype is TokenType.COMMA:
|
|
283
|
+
# Don't include the comma in the value range
|
|
284
|
+
break
|
|
285
|
+
else:
|
|
286
|
+
# Include the closing parenthesis in the value range
|
|
287
|
+
value_end_idx = j
|
|
288
|
+
break
|
|
289
|
+
|
|
290
|
+
value_end_idx = j
|
|
291
|
+
j += 1
|
|
292
|
+
|
|
293
|
+
value_start_tok = tokens[value_start_idx]
|
|
294
|
+
value_end_tok = tokens[value_end_idx]
|
|
295
|
+
|
|
296
|
+
value_start_pos = TokenPositionDetails(
|
|
297
|
+
line=value_start_tok.line,
|
|
298
|
+
col=value_start_tok.col,
|
|
299
|
+
start=value_start_tok.start,
|
|
300
|
+
end=value_start_tok.end,
|
|
301
|
+
)
|
|
302
|
+
value_end_pos = TokenPositionDetails(
|
|
303
|
+
line=value_end_tok.line,
|
|
304
|
+
col=value_end_tok.col,
|
|
305
|
+
start=value_end_tok.start,
|
|
306
|
+
end=value_end_tok.end,
|
|
307
|
+
)
|
|
308
|
+
value_range = Range(
|
|
309
|
+
start=value_start_pos.to_range(lines).start,
|
|
310
|
+
end=value_end_pos.to_range(lines).end,
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
return (key_range, value_range)
|
|
314
|
+
|
|
315
|
+
return None
|
|
@@ -13,7 +13,7 @@ from sqlmesh.lsp.custom import (
|
|
|
13
13
|
CustomMethodRequestBaseClass,
|
|
14
14
|
CustomMethodResponseBaseClass,
|
|
15
15
|
)
|
|
16
|
-
from web.server.models import LineageColumn, Model
|
|
16
|
+
from web.server.models import LineageColumn, Model, TableDiff
|
|
17
17
|
|
|
18
18
|
API_FEATURE = "sqlmesh/api"
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ class ApiRequest(CustomMethodRequestBaseClass):
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
requestId: str
|
|
28
|
-
|
|
28
|
+
endpoint: str
|
|
29
29
|
method: t.Optional[str] = "GET"
|
|
30
30
|
params: t.Optional[t.Dict[str, t.Any]] = None
|
|
31
31
|
body: t.Optional[t.Dict[str, t.Any]] = None
|
|
@@ -74,3 +74,11 @@ class ApiResponseGetColumnLineage(BaseAPIResponse):
|
|
|
74
74
|
"""
|
|
75
75
|
|
|
76
76
|
data: t.Dict[str, t.Dict[str, LineageColumn]]
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class ApiResponseGetTableDiff(BaseAPIResponse):
|
|
80
|
+
"""
|
|
81
|
+
Response from the SQLMesh API for the get_table_diff endpoint.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
data: t.Optional[TableDiff]
|
|
@@ -158,6 +158,17 @@ class ListWorkspaceTestsRequest(CustomMethodRequestBaseClass):
|
|
|
158
158
|
pass
|
|
159
159
|
|
|
160
160
|
|
|
161
|
+
GET_ENVIRONMENTS_FEATURE = "sqlmesh/get_environments"
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class GetEnvironmentsRequest(CustomMethodRequestBaseClass):
|
|
165
|
+
"""
|
|
166
|
+
Request to get all environments in the current project.
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
pass
|
|
170
|
+
|
|
171
|
+
|
|
161
172
|
class TestEntry(PydanticModel):
|
|
162
173
|
"""
|
|
163
174
|
An entry representing a test in the workspace.
|
|
@@ -194,3 +205,53 @@ class RunTestRequest(CustomMethodRequestBaseClass):
|
|
|
194
205
|
class RunTestResponse(CustomMethodResponseBaseClass):
|
|
195
206
|
success: bool
|
|
196
207
|
error_message: t.Optional[str] = None
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class EnvironmentInfo(PydanticModel):
|
|
211
|
+
"""
|
|
212
|
+
Information about an environment.
|
|
213
|
+
"""
|
|
214
|
+
|
|
215
|
+
name: str
|
|
216
|
+
snapshots: t.List[str]
|
|
217
|
+
start_at: str
|
|
218
|
+
plan_id: str
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class GetEnvironmentsResponse(CustomMethodResponseBaseClass):
|
|
222
|
+
"""
|
|
223
|
+
Response containing all environments in the current project.
|
|
224
|
+
"""
|
|
225
|
+
|
|
226
|
+
environments: t.Dict[str, EnvironmentInfo]
|
|
227
|
+
pinned_environments: t.Set[str]
|
|
228
|
+
default_target_environment: str
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
GET_MODELS_FEATURE = "sqlmesh/get_models"
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class GetModelsRequest(CustomMethodRequestBaseClass):
|
|
235
|
+
"""
|
|
236
|
+
Request to get all models available for table diff.
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
pass
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
class ModelInfo(PydanticModel):
|
|
243
|
+
"""
|
|
244
|
+
Information about a model for table diff.
|
|
245
|
+
"""
|
|
246
|
+
|
|
247
|
+
name: str
|
|
248
|
+
fqn: str
|
|
249
|
+
description: t.Optional[str] = None
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
class GetModelsResponse(CustomMethodResponseBaseClass):
|
|
253
|
+
"""
|
|
254
|
+
Response containing all models available for table diff.
|
|
255
|
+
"""
|
|
256
|
+
|
|
257
|
+
models: t.List[ModelInfo]
|
|
@@ -14,14 +14,17 @@ from lsprotocol.types import (
|
|
|
14
14
|
WorkspaceInlayHintRefreshRequest,
|
|
15
15
|
)
|
|
16
16
|
from pygls.server import LanguageServer
|
|
17
|
+
from sqlglot import exp
|
|
17
18
|
from sqlmesh._version import __version__
|
|
18
19
|
from sqlmesh.core.context import Context
|
|
20
|
+
from sqlmesh.utils.date import to_timestamp
|
|
19
21
|
from sqlmesh.lsp.api import (
|
|
20
22
|
API_FEATURE,
|
|
21
23
|
ApiRequest,
|
|
22
24
|
ApiResponseGetColumnLineage,
|
|
23
25
|
ApiResponseGetLineage,
|
|
24
26
|
ApiResponseGetModels,
|
|
27
|
+
ApiResponseGetTableDiff,
|
|
25
28
|
)
|
|
26
29
|
|
|
27
30
|
from sqlmesh.lsp.commands import EXTERNAL_MODEL_UPDATE_COLUMNS
|
|
@@ -36,6 +39,8 @@ from sqlmesh.lsp.custom import (
|
|
|
36
39
|
RENDER_MODEL_FEATURE,
|
|
37
40
|
SUPPORTED_METHODS_FEATURE,
|
|
38
41
|
FORMAT_PROJECT_FEATURE,
|
|
42
|
+
GET_ENVIRONMENTS_FEATURE,
|
|
43
|
+
GET_MODELS_FEATURE,
|
|
39
44
|
AllModelsRequest,
|
|
40
45
|
AllModelsResponse,
|
|
41
46
|
AllModelsForRenderRequest,
|
|
@@ -57,6 +62,12 @@ from sqlmesh.lsp.custom import (
|
|
|
57
62
|
RUN_TEST_FEATURE,
|
|
58
63
|
RunTestRequest,
|
|
59
64
|
RunTestResponse,
|
|
65
|
+
GetEnvironmentsRequest,
|
|
66
|
+
GetEnvironmentsResponse,
|
|
67
|
+
EnvironmentInfo,
|
|
68
|
+
GetModelsRequest,
|
|
69
|
+
GetModelsResponse,
|
|
70
|
+
ModelInfo,
|
|
60
71
|
)
|
|
61
72
|
from sqlmesh.lsp.errors import ContextFailedError, context_error_to_diagnostic
|
|
62
73
|
from sqlmesh.lsp.helpers import to_lsp_range, to_sqlmesh_position
|
|
@@ -74,9 +85,12 @@ from sqlmesh.utils.lineage import ExternalModelReference
|
|
|
74
85
|
from sqlmesh.utils.pydantic import PydanticModel
|
|
75
86
|
from web.server.api.endpoints.lineage import column_lineage, model_lineage
|
|
76
87
|
from web.server.api.endpoints.models import get_models
|
|
88
|
+
from web.server.api.endpoints.table_diff import _process_sample_data
|
|
77
89
|
from typing import Union
|
|
78
90
|
from dataclasses import dataclass, field
|
|
79
91
|
|
|
92
|
+
from web.server.models import RowDiff, SchemaDiff, TableDiff
|
|
93
|
+
|
|
80
94
|
|
|
81
95
|
class InitializationOptions(PydanticModel):
|
|
82
96
|
"""Initialization options for the SQLMesh Language Server, that
|
|
@@ -154,6 +168,8 @@ class SQLMeshLanguageServer:
|
|
|
154
168
|
LIST_WORKSPACE_TESTS_FEATURE: self._list_workspace_tests,
|
|
155
169
|
LIST_DOCUMENT_TESTS_FEATURE: self._list_document_tests,
|
|
156
170
|
RUN_TEST_FEATURE: self._run_test,
|
|
171
|
+
GET_ENVIRONMENTS_FEATURE: self._custom_get_environments,
|
|
172
|
+
GET_MODELS_FEATURE: self._custom_get_models,
|
|
157
173
|
}
|
|
158
174
|
|
|
159
175
|
# Register LSP features (e.g., formatting, hover, etc.)
|
|
@@ -246,13 +262,71 @@ class SQLMeshLanguageServer:
|
|
|
246
262
|
ls.log_trace(f"Error formatting project: {e}")
|
|
247
263
|
return FormatProjectResponse()
|
|
248
264
|
|
|
265
|
+
def _custom_get_environments(
|
|
266
|
+
self, ls: LanguageServer, params: GetEnvironmentsRequest
|
|
267
|
+
) -> GetEnvironmentsResponse:
|
|
268
|
+
"""Get all environments in the current project."""
|
|
269
|
+
try:
|
|
270
|
+
context = self._context_get_or_load()
|
|
271
|
+
environments = {}
|
|
272
|
+
|
|
273
|
+
# Get environments from state
|
|
274
|
+
for env in context.context.state_reader.get_environments():
|
|
275
|
+
environments[env.name] = EnvironmentInfo(
|
|
276
|
+
name=env.name,
|
|
277
|
+
snapshots=[s.fingerprint.to_identifier() for s in env.snapshots],
|
|
278
|
+
start_at=str(to_timestamp(env.start_at)),
|
|
279
|
+
plan_id=env.plan_id or "",
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
return GetEnvironmentsResponse(
|
|
283
|
+
environments=environments,
|
|
284
|
+
pinned_environments=context.context.config.pinned_environments,
|
|
285
|
+
default_target_environment=context.context.config.default_target_environment,
|
|
286
|
+
)
|
|
287
|
+
except Exception as e:
|
|
288
|
+
ls.log_trace(f"Error getting environments: {e}")
|
|
289
|
+
return GetEnvironmentsResponse(
|
|
290
|
+
response_error=str(e),
|
|
291
|
+
environments={},
|
|
292
|
+
pinned_environments=set(),
|
|
293
|
+
default_target_environment="",
|
|
294
|
+
)
|
|
295
|
+
|
|
296
|
+
def _custom_get_models(self, ls: LanguageServer, params: GetModelsRequest) -> GetModelsResponse:
|
|
297
|
+
"""Get all models available for table diff."""
|
|
298
|
+
try:
|
|
299
|
+
context = self._context_get_or_load()
|
|
300
|
+
models = [
|
|
301
|
+
ModelInfo(
|
|
302
|
+
name=model.name,
|
|
303
|
+
fqn=model.fqn,
|
|
304
|
+
description=model.description,
|
|
305
|
+
)
|
|
306
|
+
for model in context.context.models.values()
|
|
307
|
+
# Filter for models that are suitable for table diff
|
|
308
|
+
if model._path is not None # Has a file path
|
|
309
|
+
]
|
|
310
|
+
return GetModelsResponse(models=models)
|
|
311
|
+
except Exception as e:
|
|
312
|
+
ls.log_trace(f"Error getting table diff models: {e}")
|
|
313
|
+
return GetModelsResponse(
|
|
314
|
+
response_error=str(e),
|
|
315
|
+
models=[],
|
|
316
|
+
)
|
|
317
|
+
|
|
249
318
|
def _custom_api(
|
|
250
319
|
self, ls: LanguageServer, request: ApiRequest
|
|
251
|
-
) -> t.Union[
|
|
320
|
+
) -> t.Union[
|
|
321
|
+
ApiResponseGetModels,
|
|
322
|
+
ApiResponseGetColumnLineage,
|
|
323
|
+
ApiResponseGetLineage,
|
|
324
|
+
ApiResponseGetTableDiff,
|
|
325
|
+
]:
|
|
252
326
|
ls.log_trace(f"API request: {request}")
|
|
253
327
|
context = self._context_get_or_load()
|
|
254
328
|
|
|
255
|
-
parsed_url = urllib.parse.urlparse(request.
|
|
329
|
+
parsed_url = urllib.parse.urlparse(request.endpoint)
|
|
256
330
|
path_parts = parsed_url.path.strip("/").split("/")
|
|
257
331
|
|
|
258
332
|
if request.method == "GET":
|
|
@@ -280,7 +354,76 @@ class SQLMeshLanguageServer:
|
|
|
280
354
|
)
|
|
281
355
|
return ApiResponseGetColumnLineage(data=column_lineage_response)
|
|
282
356
|
|
|
283
|
-
|
|
357
|
+
if path_parts[:2] == ["api", "table_diff"]:
|
|
358
|
+
import numpy as np
|
|
359
|
+
|
|
360
|
+
# /api/table_diff
|
|
361
|
+
params = request.params
|
|
362
|
+
table_diff_result: t.Optional[TableDiff] = None
|
|
363
|
+
if params := request.params:
|
|
364
|
+
source = getattr(params, "source", "") if params else ""
|
|
365
|
+
target = getattr(params, "target", "") if params else ""
|
|
366
|
+
on = getattr(params, "on", None) if params else None
|
|
367
|
+
model_or_snapshot = (
|
|
368
|
+
getattr(params, "model_or_snapshot", None) if params else None
|
|
369
|
+
)
|
|
370
|
+
where = getattr(params, "where", None) if params else None
|
|
371
|
+
temp_schema = getattr(params, "temp_schema", None) if params else None
|
|
372
|
+
limit = getattr(params, "limit", 20) if params else 20
|
|
373
|
+
|
|
374
|
+
table_diffs = context.context.table_diff(
|
|
375
|
+
source=source,
|
|
376
|
+
target=target,
|
|
377
|
+
on=exp.condition(on) if on else None,
|
|
378
|
+
select_models={model_or_snapshot} if model_or_snapshot else None,
|
|
379
|
+
where=where,
|
|
380
|
+
limit=limit,
|
|
381
|
+
show=False,
|
|
382
|
+
)
|
|
383
|
+
|
|
384
|
+
if table_diffs:
|
|
385
|
+
diff = table_diffs[0] if isinstance(table_diffs, list) else table_diffs
|
|
386
|
+
|
|
387
|
+
_schema_diff = diff.schema_diff()
|
|
388
|
+
_row_diff = diff.row_diff(temp_schema=temp_schema)
|
|
389
|
+
schema_diff = SchemaDiff(
|
|
390
|
+
source=_schema_diff.source,
|
|
391
|
+
target=_schema_diff.target,
|
|
392
|
+
source_schema=_schema_diff.source_schema,
|
|
393
|
+
target_schema=_schema_diff.target_schema,
|
|
394
|
+
added=_schema_diff.added,
|
|
395
|
+
removed=_schema_diff.removed,
|
|
396
|
+
modified=_schema_diff.modified,
|
|
397
|
+
)
|
|
398
|
+
|
|
399
|
+
# create a readable column-centric sample data structure
|
|
400
|
+
processed_sample_data = _process_sample_data(_row_diff, source, target)
|
|
401
|
+
|
|
402
|
+
row_diff = RowDiff(
|
|
403
|
+
source=_row_diff.source,
|
|
404
|
+
target=_row_diff.target,
|
|
405
|
+
stats=_row_diff.stats,
|
|
406
|
+
sample=_row_diff.sample.replace({np.nan: None}).to_dict(),
|
|
407
|
+
joined_sample=_row_diff.joined_sample.replace({np.nan: None}).to_dict(),
|
|
408
|
+
s_sample=_row_diff.s_sample.replace({np.nan: None}).to_dict(),
|
|
409
|
+
t_sample=_row_diff.t_sample.replace({np.nan: None}).to_dict(),
|
|
410
|
+
column_stats=_row_diff.column_stats.replace({np.nan: None}).to_dict(),
|
|
411
|
+
source_count=_row_diff.source_count,
|
|
412
|
+
target_count=_row_diff.target_count,
|
|
413
|
+
count_pct_change=_row_diff.count_pct_change,
|
|
414
|
+
decimals=getattr(_row_diff, "decimals", 3),
|
|
415
|
+
processed_sample_data=processed_sample_data,
|
|
416
|
+
)
|
|
417
|
+
|
|
418
|
+
s_index, t_index, _ = diff.key_columns
|
|
419
|
+
table_diff_result = TableDiff(
|
|
420
|
+
schema_diff=schema_diff,
|
|
421
|
+
row_diff=row_diff,
|
|
422
|
+
on=[(s.name, t.name) for s, t in zip(s_index, t_index)],
|
|
423
|
+
)
|
|
424
|
+
return ApiResponseGetTableDiff(data=table_diff_result)
|
|
425
|
+
|
|
426
|
+
raise NotImplementedError(f"API request not implemented: {request.endpoint}")
|
|
284
427
|
|
|
285
428
|
def _custom_supported_methods(
|
|
286
429
|
self, ls: LanguageServer, params: SupportedMethodsRequest
|