sqlmesh 0.199.1.dev16__tar.gz → 0.199.1.dev18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1204) hide show
  1. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/PKG-INFO +1 -1
  2. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/_version.py +2 -2
  3. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cli/main.py +5 -0
  4. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/console.py +2 -2
  5. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/context.py +113 -9
  6. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/node.py +3 -0
  7. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/builder.py +17 -8
  8. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/definition.py +8 -4
  9. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/evaluator.py +2 -1
  10. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/stages.py +2 -1
  11. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/scheduler.py +33 -16
  12. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/snapshot/definition.py +16 -11
  13. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/PKG-INFO +1 -1
  14. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/SOURCES.txt +1 -0
  15. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/state_sync/test_state_sync.py +1 -1
  16. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_context.py +324 -1
  17. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_plan.py +7 -8
  18. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_plan_stages.py +0 -13
  19. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_snapshot.py +51 -7
  20. sqlmesh-0.199.1.dev18/web/server/api/__init__.py +0 -0
  21. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/config.yml +0 -0
  22. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/continue_config.yml +0 -0
  23. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/get_scm_version.py +0 -0
  24. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/install-prerequisites.sh +0 -0
  25. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/manage-test-db.sh +0 -0
  26. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/test_migration.sh +0 -0
  27. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/update-pypirc.sh +0 -0
  28. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.circleci/wait-for-db.sh +0 -0
  29. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.github/dependabot.yml +0 -0
  30. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.github/workflows/pr.yaml +0 -0
  31. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.github/workflows/release_extension.yaml +0 -0
  32. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.gitignore +0 -0
  33. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.nvmrc +0 -0
  34. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.pre-commit-config.yaml +0 -0
  35. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.prettierignore +0 -0
  36. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.prettierrc.cjs +0 -0
  37. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/.readthedocs.yaml +0 -0
  38. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/CLAUDE.md +0 -0
  39. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/LICENSE +0 -0
  40. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/MANIFEST.in +0 -0
  41. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/Makefile +0 -0
  42. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/README.md +0 -0
  43. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/benchmarks/lsp_render_model_bench.py +0 -0
  44. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/__init__.py +0 -0
  45. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/custom_materializations/custom_materializations/__init__.py +0 -0
  46. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/custom_materializations/custom_materializations/custom_kind.py +0 -0
  47. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/custom_materializations/custom_materializations/full.py +0 -0
  48. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/custom_materializations/pyproject.toml +0 -0
  49. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/audits/.gitkeep +0 -0
  50. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/audits/assert_positive_order_ids.sql +0 -0
  51. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/config.yaml +0 -0
  52. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/constants.py +0 -0
  53. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/data/.keep +0 -0
  54. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/macros/.gitkeep +0 -0
  55. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/macros/__init__.py +0 -0
  56. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/.gitkeep +0 -0
  57. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/full_model.sql +0 -0
  58. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/ibis_full_model_python.py +0 -0
  59. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/ibis_full_model_sql.py +0 -0
  60. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/incremental_model.sql +0 -0
  61. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/models/seed_model.sql +0 -0
  62. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/seeds/.gitkeep +0 -0
  63. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/seeds/seed_data.csv +0 -0
  64. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/ibis/tests/.gitkeep +0 -0
  65. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/audits/.gitkeep +0 -0
  66. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/config.yaml +0 -0
  67. {sqlmesh-0.199.1.dev16/examples/sushi → sqlmesh-0.199.1.dev18/examples/multi/repo_1/linter}/__init__.py +0 -0
  68. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/linter/user.py +0 -0
  69. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/macros/.gitkeep +0 -0
  70. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/macros/__init__.py +0 -0
  71. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/models/.gitkeep +0 -0
  72. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/models/a.sql +0 -0
  73. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/models/b.sql +0 -0
  74. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_1/tests/.gitkeep +0 -0
  75. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/audits/.gitkeep +0 -0
  76. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/config.yaml +0 -0
  77. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/macros/.gitkeep +0 -0
  78. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/macros/__init__.py +0 -0
  79. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/models/.gitkeep +0 -0
  80. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/models/c.sql +0 -0
  81. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/models/d.sql +0 -0
  82. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/models/e.sql +0 -0
  83. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi/repo_2/tests/.gitkeep +0 -0
  84. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/bronze/config.py +0 -0
  85. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/bronze/dbt_project.yml +0 -0
  86. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/bronze/models/a.sql +0 -0
  87. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/bronze/models/b.sql +0 -0
  88. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/bronze/profiles.yml +0 -0
  89. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/config.py +0 -0
  90. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/dbt_project.yml +0 -0
  91. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/macros/store_schemas.sql +0 -0
  92. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/models/c.sql +0 -0
  93. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/models/d.sql +0 -0
  94. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/models/schema.yml +0 -0
  95. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_dbt/silver/profiles.yml +0 -0
  96. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/config.py +0 -0
  97. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/dbt_project.yml +0 -0
  98. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/macros/round_dollars.sql +0 -0
  99. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/models/c.sql +0 -0
  100. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/models/d.sql +0 -0
  101. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/models/e.sql +0 -0
  102. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/models/schema.yml +0 -0
  103. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/dbt_repo/profiles.yml +0 -0
  104. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/sqlmesh_repo/config.yaml +0 -0
  105. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/sqlmesh_repo/models/a.sql +0 -0
  106. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/multi_hybrid/sqlmesh_repo/models/b.sql +0 -0
  107. {sqlmesh-0.199.1.dev16/examples/sushi_dbt → sqlmesh-0.199.1.dev18/examples/sushi}/__init__.py +0 -0
  108. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/audits/assert_item_price_above_zero.sql +0 -0
  109. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/audits/items.sql +0 -0
  110. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/audits/order_items.sql +0 -0
  111. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/audits/raw_demographics.sql +0 -0
  112. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/config.py +0 -0
  113. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/data/.keep +0 -0
  114. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/external_models/model1/model1.yaml +0 -0
  115. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/external_models/model2/model2.yaml +0 -0
  116. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/external_models/prod.yaml +0 -0
  117. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/external_models.yaml +0 -0
  118. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/helper.py +0 -0
  119. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/linter/__init__.py +0 -0
  120. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/linter/user.py +0 -0
  121. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/macros/__init__.py +0 -0
  122. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/macros/macros.py +0 -0
  123. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/macros/macros.sql +0 -0
  124. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/macros/utils.py +0 -0
  125. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/metrics/metrics.sql +0 -0
  126. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/active_customers.sql +0 -0
  127. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/blueprint.sql +0 -0
  128. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/customer_revenue_by_day.sql +0 -0
  129. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/customer_revenue_lifetime.sql +0 -0
  130. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/customers.sql +0 -0
  131. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/disabled.py +0 -0
  132. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/disabled.sql +0 -0
  133. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/items.py +0 -0
  134. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/latest_order.sql +0 -0
  135. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/marketing.sql +0 -0
  136. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/order_items.py +0 -0
  137. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/orders.py +0 -0
  138. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/raw_marketing.py +0 -0
  139. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/top_waiters.sql +0 -0
  140. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/waiter_as_customer_by_day.sql +0 -0
  141. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/waiter_names.sql +0 -0
  142. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/waiter_revenue_by_day.sql +0 -0
  143. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/models/waiters.py +0 -0
  144. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/seeds/waiter_names.csv +0 -0
  145. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/signals/__init__.py +0 -0
  146. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/sqlmesh-requirements.lock +0 -0
  147. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/tests/test_customer_revenue_by_day.yaml +0 -0
  148. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/tests/test_customer_revenue_lifetime.yaml +0 -0
  149. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi/tests/test_order_items.yaml +0 -0
  150. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/.gitignore +0 -0
  151. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/.user.yml +0 -0
  152. {sqlmesh-0.199.1.dev16/examples/wursthall → sqlmesh-0.199.1.dev18/examples/sushi_dbt}/__init__.py +0 -0
  153. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/analyses/.gitkeep +0 -0
  154. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/config.py +0 -0
  155. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/dbt_project.yml +0 -0
  156. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/macros/incremental.sql +0 -0
  157. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/macros/log_value.sql +0 -0
  158. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/customer_revenue_by_day.sql +0 -0
  159. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/customers.sql +0 -0
  160. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/schema.yml +0 -0
  161. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/top_waiters.sql +0 -0
  162. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/waiter_as_customer_by_day.sql +0 -0
  163. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/waiter_revenue_by_day.sql +0 -0
  164. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/waiter_revenue_by_day_v1.sql +0 -0
  165. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/models/waiters.sql +0 -0
  166. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/analyses/.gitkeep +0 -0
  167. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/dbt_project.yml +0 -0
  168. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/macros/current_engine.sql +0 -0
  169. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/macros/distinct.sql +0 -0
  170. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/models/schema.yml +0 -0
  171. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/seeds/.gitkeep +0 -0
  172. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/snapshots/.gitkeep +0 -0
  173. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/packages/customers/tests/.gitkeep +0 -0
  174. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/profiles.yml +0 -0
  175. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/seeds/items.csv +0 -0
  176. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/seeds/order_items.csv +0 -0
  177. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/seeds/orders.csv +0 -0
  178. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/seeds/properties.yml +0 -0
  179. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/seeds/waiter_names.csv +0 -0
  180. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/snapshots/.gitkeep +0 -0
  181. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/tests/.gitkeep +0 -0
  182. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/tests/assert_item_price_above_zero.sql +0 -0
  183. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dbt/tests/generic/less_than_amount.sql +0 -0
  184. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/sushi_dlt/sushi_pipeline.py +0 -0
  185. {sqlmesh-0.199.1.dev16/examples/wursthall/macros → sqlmesh-0.199.1.dev18/examples/wursthall}/__init__.py +0 -0
  186. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/audits/db/order_f.sql +0 -0
  187. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/config.yaml +0 -0
  188. {sqlmesh-0.199.1.dev16/examples/wursthall/models → sqlmesh-0.199.1.dev18/examples/wursthall/macros}/__init__.py +0 -0
  189. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/macros/macros.py +0 -0
  190. {sqlmesh-0.199.1.dev16/examples/wursthall/models/src → sqlmesh-0.199.1.dev18/examples/wursthall/models}/__init__.py +0 -0
  191. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/db/customer_d.sql +0 -0
  192. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/db/item_d.sql +0 -0
  193. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/db/order_f.py +0 -0
  194. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/db/order_item_f.sql +0 -0
  195. {sqlmesh-0.199.1.dev16/sqlmesh/cicd → sqlmesh-0.199.1.dev18/examples/wursthall/models/src}/__init__.py +0 -0
  196. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/src/customer_details.py +0 -0
  197. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/src/menu_item_details.sql +0 -0
  198. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/src/order_item_details.py +0 -0
  199. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/models/src/shared.py +0 -0
  200. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/seeds/src/menu_item_details.csv +0 -0
  201. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/tests/test_customer_d.yaml +0 -0
  202. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/examples/wursthall/tests/test_order_item_f.yaml +0 -0
  203. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/mkdocs.yml +0 -0
  204. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/package.json +0 -0
  205. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/pdoc/cli.py +0 -0
  206. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/pdoc/templates/module.html.jinja2 +0 -0
  207. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/pnpm-lock.yaml +0 -0
  208. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/pnpm-workspace.yaml +0 -0
  209. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/pyproject.toml +0 -0
  210. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/setup.cfg +0 -0
  211. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/.airflowignore +0 -0
  212. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/__init__.py +0 -0
  213. {sqlmesh-0.199.1.dev16/sqlmesh/core → sqlmesh-0.199.1.dev18/sqlmesh/cicd}/__init__.py +0 -0
  214. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cicd/bot.py +0 -0
  215. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cicd/config.py +0 -0
  216. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cli/__init__.py +0 -0
  217. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cli/options.py +0 -0
  218. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/cli/project_init.py +0 -0
  219. {sqlmesh-0.199.1.dev16/sqlmesh/core/linter → sqlmesh-0.199.1.dev18/sqlmesh/core}/__init__.py +0 -0
  220. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/_typing.py +0 -0
  221. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/analytics/__init__.py +0 -0
  222. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/analytics/collector.py +0 -0
  223. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/analytics/dispatcher.py +0 -0
  224. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/audit/__init__.py +0 -0
  225. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/audit/builtin.py +0 -0
  226. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/audit/definition.py +0 -0
  227. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/__init__.py +0 -0
  228. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/base.py +0 -0
  229. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/categorizer.py +0 -0
  230. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/common.py +0 -0
  231. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/connection.py +0 -0
  232. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/feature_flag.py +0 -0
  233. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/format.py +0 -0
  234. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/gateway.py +0 -0
  235. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/janitor.py +0 -0
  236. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/linter.py +0 -0
  237. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/loader.py +0 -0
  238. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/migration.py +0 -0
  239. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/model.py +0 -0
  240. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/naming.py +0 -0
  241. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/plan.py +0 -0
  242. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/root.py +0 -0
  243. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/run.py +0 -0
  244. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/scheduler.py +0 -0
  245. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/config/ui.py +0 -0
  246. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/constants.py +0 -0
  247. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/context_diff.py +0 -0
  248. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/dialect.py +0 -0
  249. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/__init__.py +0 -0
  250. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/_typing.py +0 -0
  251. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/athena.py +0 -0
  252. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/base.py +0 -0
  253. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/base_postgres.py +0 -0
  254. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/bigquery.py +0 -0
  255. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/clickhouse.py +0 -0
  256. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/databricks.py +0 -0
  257. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/duckdb.py +0 -0
  258. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/mixins.py +0 -0
  259. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/mssql.py +0 -0
  260. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/mysql.py +0 -0
  261. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/postgres.py +0 -0
  262. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/redshift.py +0 -0
  263. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/risingwave.py +0 -0
  264. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/shared.py +0 -0
  265. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/snowflake.py +0 -0
  266. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/spark.py +0 -0
  267. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/engine_adapter/trino.py +0 -0
  268. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/environment.py +0 -0
  269. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/lineage.py +0 -0
  270. {sqlmesh-0.199.1.dev16/sqlmesh/dbt/converter → sqlmesh-0.199.1.dev18/sqlmesh/core/linter}/__init__.py +0 -0
  271. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/linter/definition.py +0 -0
  272. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/linter/helpers.py +0 -0
  273. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/linter/rule.py +0 -0
  274. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/linter/rules/__init__.py +0 -0
  275. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/linter/rules/builtin.py +0 -0
  276. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/loader.py +0 -0
  277. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/macros.py +0 -0
  278. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/metric/__init__.py +0 -0
  279. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/metric/definition.py +0 -0
  280. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/metric/rewriter.py +0 -0
  281. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/__init__.py +0 -0
  282. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/cache.py +0 -0
  283. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/common.py +0 -0
  284. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/decorator.py +0 -0
  285. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/definition.py +0 -0
  286. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/kind.py +0 -0
  287. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/meta.py +0 -0
  288. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/schema.py +0 -0
  289. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/model/seed.py +0 -0
  290. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/notification_target.py +0 -0
  291. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/__init__.py +0 -0
  292. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/plan/explainer.py +0 -0
  293. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/reference.py +0 -0
  294. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/renderer.py +0 -0
  295. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/schema_diff.py +0 -0
  296. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/schema_loader.py +0 -0
  297. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/selector.py +0 -0
  298. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/signal.py +0 -0
  299. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/snapshot/__init__.py +0 -0
  300. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/snapshot/cache.py +0 -0
  301. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/snapshot/categorizer.py +0 -0
  302. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/snapshot/evaluator.py +0 -0
  303. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/__init__.py +0 -0
  304. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/base.py +9 -9
  305. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/cache.py +0 -0
  306. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/common.py +0 -0
  307. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/__init__.py +0 -0
  308. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/environment.py +0 -0
  309. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/facade.py +0 -0
  310. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/interval.py +0 -0
  311. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/migrator.py +0 -0
  312. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/snapshot.py +0 -0
  313. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/utils.py +0 -0
  314. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/db/version.py +0 -0
  315. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/state_sync/export_import.py +0 -0
  316. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/table_diff.py +0 -0
  317. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/__init__.py +0 -0
  318. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/context.py +0 -0
  319. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/definition.py +0 -0
  320. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/discovery.py +0 -0
  321. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/result.py +0 -0
  322. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/test/runner.py +0 -0
  323. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/core/user.py +0 -0
  324. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/__init__.py +0 -0
  325. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/adapter.py +0 -0
  326. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/basemodel.py +0 -0
  327. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/builtin.py +0 -0
  328. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/column.py +0 -0
  329. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/common.py +0 -0
  330. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/context.py +0 -0
  331. {sqlmesh-0.199.1.dev16/sqlmesh/engines → sqlmesh-0.199.1.dev18/sqlmesh/dbt/converter}/__init__.py +0 -0
  332. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/common.py +0 -0
  333. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/console.py +0 -0
  334. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/convert.py +0 -0
  335. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/jinja.py +0 -0
  336. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/jinja_builtins.py +0 -0
  337. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/converter/jinja_transforms.py +0 -0
  338. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/loader.py +0 -0
  339. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/manifest.py +0 -0
  340. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/model.py +0 -0
  341. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/package.py +0 -0
  342. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/profile.py +0 -0
  343. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/project.py +0 -0
  344. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/relation.py +0 -0
  345. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/seed.py +0 -0
  346. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/source.py +0 -0
  347. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/target.py +0 -0
  348. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/test.py +0 -0
  349. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/dbt/util.py +0 -0
  350. {sqlmesh-0.199.1.dev16/sqlmesh/engines/spark → sqlmesh-0.199.1.dev18/sqlmesh/engines}/__init__.py +0 -0
  351. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/engines/commands.py +0 -0
  352. {sqlmesh-0.199.1.dev16/sqlmesh/engines/spark/db_api → sqlmesh-0.199.1.dev18/sqlmesh/engines/spark}/__init__.py +0 -0
  353. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/engines/spark/app.py +0 -0
  354. {sqlmesh-0.199.1.dev16/sqlmesh/integrations → sqlmesh-0.199.1.dev18/sqlmesh/engines/spark/db_api}/__init__.py +0 -0
  355. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/engines/spark/db_api/errors.py +0 -0
  356. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/engines/spark/db_api/spark_session.py +0 -0
  357. {sqlmesh-0.199.1.dev16/sqlmesh/integrations/github → sqlmesh-0.199.1.dev18/sqlmesh/integrations}/__init__.py +0 -0
  358. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/dlt.py +0 -0
  359. {sqlmesh-0.199.1.dev16/sqlmesh/integrations/github/cicd → sqlmesh-0.199.1.dev18/sqlmesh/integrations/github}/__init__.py +0 -0
  360. {sqlmesh-0.199.1.dev16/sqlmesh/migrations → sqlmesh-0.199.1.dev18/sqlmesh/integrations/github/cicd}/__init__.py +0 -0
  361. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/github/cicd/command.py +0 -0
  362. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/github/cicd/config.py +0 -0
  363. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/github/cicd/controller.py +0 -0
  364. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/llm.py +0 -0
  365. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/integrations/slack.py +0 -0
  366. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/api.py +0 -0
  367. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/completions.py +0 -0
  368. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/context.py +0 -0
  369. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/custom.py +0 -0
  370. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/description.py +0 -0
  371. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/helpers.py +0 -0
  372. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/hints.py +0 -0
  373. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/main.py +0 -0
  374. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/reference.py +0 -0
  375. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/rename.py +0 -0
  376. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/lsp/uri.py +0 -0
  377. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/magics.py +0 -0
  378. {sqlmesh-0.199.1.dev16/sqlmesh/schedulers → sqlmesh-0.199.1.dev18/sqlmesh/migrations}/__init__.py +0 -0
  379. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0001_init.py +0 -0
  380. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0002_remove_identify.py +0 -0
  381. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0003_move_batch_size.py +0 -0
  382. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0004_environmnent_add_finalized_at.py +0 -0
  383. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0005_create_seed_table.py +0 -0
  384. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0006_change_seed_hash.py +0 -0
  385. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0007_env_table_info_to_kind.py +0 -0
  386. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0008_create_intervals_table.py +0 -0
  387. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0009_remove_pre_post_hooks.py +0 -0
  388. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0010_seed_hash_batch_size.py +0 -0
  389. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0011_add_model_kind_name.py +0 -0
  390. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0012_update_jinja_expressions.py +0 -0
  391. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0013_serde_using_model_dialects.py +0 -0
  392. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0014_fix_dev_intervals.py +0 -0
  393. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0015_environment_add_promoted_snapshot_ids.py +0 -0
  394. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0016_fix_windows_path.py +0 -0
  395. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0017_fix_windows_seed_path.py +0 -0
  396. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0018_rename_snapshot_model_to_node.py +0 -0
  397. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0019_add_env_suffix_target.py +0 -0
  398. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0020_remove_redundant_attributes_from_dbt_models.py +0 -0
  399. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0021_fix_table_properties.py +0 -0
  400. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0022_move_project_to_model.py +0 -0
  401. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0023_fix_added_models_with_forward_only_parents.py +0 -0
  402. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0024_replace_model_kind_name_enum_with_value.py +0 -0
  403. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0025_fix_intervals_and_missing_change_category.py +0 -0
  404. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0026_remove_dialect_from_seed.py +0 -0
  405. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0027_minute_interval_to_five.py +0 -0
  406. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0028_add_plan_dags_table.py +0 -0
  407. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0029_generate_schema_types_using_dialect.py +0 -0
  408. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0030_update_unrestorable_snapshots.py +0 -0
  409. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0031_remove_dbt_target_fields.py +0 -0
  410. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0032_add_sqlmesh_version.py +0 -0
  411. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0033_mysql_fix_blob_text_type.py +0 -0
  412. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0034_add_default_catalog.py +0 -0
  413. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0035_add_catalog_name_override.py +0 -0
  414. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0036_delete_plan_dags_bug_fix.py +0 -0
  415. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0037_remove_dbt_is_incremental_macro.py +0 -0
  416. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0038_add_expiration_ts_to_snapshot.py +0 -0
  417. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0039_include_environment_in_plan_dag_spec.py +0 -0
  418. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0040_add_previous_finalized_snapshots.py +0 -0
  419. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0041_remove_hash_raw_query_attribute.py +0 -0
  420. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0042_trim_indirect_versions.py +0 -0
  421. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0043_fix_remove_obsolete_attributes_in_plan_dags.py +0 -0
  422. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0044_quote_identifiers_in_model_attributes.py +0 -0
  423. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0045_move_gateway_variable.py +0 -0
  424. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0046_add_batch_concurrency.py +0 -0
  425. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0047_change_scd_string_to_column.py +0 -0
  426. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0048_drop_indirect_versions.py +0 -0
  427. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0049_replace_identifier_with_version_in_seeds_table.py +0 -0
  428. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0050_drop_seeds_table.py +0 -0
  429. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0051_rename_column_descriptions.py +0 -0
  430. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0052_add_normalize_name_in_environment_naming_info.py +0 -0
  431. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0053_custom_model_kind_extra_attributes.py +0 -0
  432. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0054_fix_trailing_comments.py +0 -0
  433. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0055_add_updated_ts_unpaused_ts_ttl_ms_unrestorable_to_snapshot.py +0 -0
  434. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0056_restore_table_indexes.py +0 -0
  435. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0057_add_table_format.py +0 -0
  436. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0058_add_requirements.py +0 -0
  437. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0059_add_physical_version.py +0 -0
  438. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0060_move_audits_to_model.py +0 -0
  439. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0061_mysql_fix_blob_text_type.py +0 -0
  440. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0062_add_model_gateway.py +0 -0
  441. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0063_change_signals.py +0 -0
  442. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0064_join_when_matched_strings.py +0 -0
  443. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0065_add_model_optimize.py +0 -0
  444. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0066_add_auto_restatements.py +0 -0
  445. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0067_add_tsql_date_full_precision.py +0 -0
  446. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0068_include_unrendered_query_in_metadata_hash.py +0 -0
  447. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0069_update_dev_table_suffix.py +0 -0
  448. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0070_include_grains_in_metadata_hash.py +0 -0
  449. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0071_add_dev_version_to_intervals.py +0 -0
  450. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0072_add_environment_statements.py +0 -0
  451. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0073_remove_symbolic_disable_restatement.py +0 -0
  452. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0074_add_partition_by_time_column_property.py +0 -0
  453. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0075_remove_validate_query.py +0 -0
  454. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0076_add_cron_tz.py +0 -0
  455. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0077_fix_column_type_hash_calculation.py +0 -0
  456. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0078_warn_if_non_migratable_python_env.py +0 -0
  457. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0079_add_gateway_managed_property.py +0 -0
  458. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0080_add_batch_size_to_scd_type_2_models.py +0 -0
  459. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0081_update_partitioned_by.py +0 -0
  460. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0082_warn_if_incorrectly_duplicated_statements.py +0 -0
  461. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0083_use_sql_for_scd_time_data_type_data_hash.py +0 -0
  462. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/migrations/v0084_normalize_quote_when_matched_and_merge_filter.py +0 -0
  463. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/py.typed +0 -0
  464. {sqlmesh-0.199.1.dev16/tests/cli → sqlmesh-0.199.1.dev18/sqlmesh/schedulers}/__init__.py +0 -0
  465. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/__init__.py +0 -0
  466. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/aws.py +0 -0
  467. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/cache.py +0 -0
  468. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/concurrency.py +0 -0
  469. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/config.py +0 -0
  470. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/connection_pool.py +0 -0
  471. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/conversions.py +0 -0
  472. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/cron.py +0 -0
  473. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/dag.py +0 -0
  474. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/date.py +0 -0
  475. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/errors.py +0 -0
  476. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/git.py +0 -0
  477. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/hashing.py +0 -0
  478. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/jinja.py +0 -0
  479. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/metaprogramming.py +0 -0
  480. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/migration.py +0 -0
  481. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/pandas.py +0 -0
  482. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/process.py +0 -0
  483. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/pydantic.py +0 -0
  484. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/rich.py +0 -0
  485. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/windows.py +0 -0
  486. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh/utils/yaml.py +0 -0
  487. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/dependency_links.txt +0 -0
  488. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/entry_points.txt +0 -0
  489. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/requires.txt +0 -0
  490. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/sqlmesh.egg-info/top_level.txt +0 -0
  491. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/.gitignore +0 -0
  492. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/__init__.py +0 -0
  493. {sqlmesh-0.199.1.dev16/tests/core → sqlmesh-0.199.1.dev18/tests/cli}/__init__.py +0 -0
  494. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/cli/test_cli.py +0 -0
  495. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/cli/test_integration_cli.py +0 -0
  496. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/conftest.py +0 -0
  497. {sqlmesh-0.199.1.dev16/tests/core/analytics → sqlmesh-0.199.1.dev18/tests/core}/__init__.py +0 -0
  498. {sqlmesh-0.199.1.dev16/tests/core/metric → sqlmesh-0.199.1.dev18/tests/core/analytics}/__init__.py +0 -0
  499. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/analytics/test_collector.py +0 -0
  500. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/analytics/test_dispatcher.py +0 -0
  501. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/__init__.py +0 -0
  502. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/__init__.py +0 -0
  503. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/config.yaml +0 -0
  504. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/conftest.py +0 -0
  505. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/_common-hive.yaml +0 -0
  506. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/clickhouse/config.xml +0 -0
  507. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/clickhouse/keeper.xml +0 -0
  508. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.clickhouse.yaml +0 -0
  509. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.mssql.yaml +0 -0
  510. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.mysql.yaml +0 -0
  511. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.postgres.yaml +0 -0
  512. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.risingwave.yaml +0 -0
  513. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.spark.yaml +0 -0
  514. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/compose.trino.yaml +0 -0
  515. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/init-metastore-db.sql +0 -0
  516. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/spark/Dockerfile +0 -0
  517. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/spark/conf/hive-site.xml +0 -0
  518. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/spark/conf/spark-defaults.conf +0 -0
  519. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake.properties +0 -0
  520. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_delta.properties +0 -0
  521. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_iceberg.properties +0 -0
  522. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/trino/catalog/datalake_nessie.properties +0 -0
  523. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/docker/trino/catalog/testing.properties +0 -0
  524. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration.py +0 -0
  525. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_athena.py +0 -0
  526. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_bigquery.py +0 -0
  527. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_clickhouse.py +0 -0
  528. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_duckdb.py +0 -0
  529. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_postgres.py +0 -0
  530. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_redshift.py +0 -0
  531. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_snowflake.py +0 -0
  532. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/integration/test_integration_trino.py +0 -0
  533. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_athena.py +0 -0
  534. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_base.py +0 -0
  535. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_base_postgres.py +0 -0
  536. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_bigquery.py +0 -0
  537. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_clickhouse.py +0 -0
  538. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_databricks.py +0 -0
  539. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_duckdb.py +0 -0
  540. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_mixins.py +0 -0
  541. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_mssql.py +0 -0
  542. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_mysql.py +0 -0
  543. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_postgres.py +0 -0
  544. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_redshift.py +0 -0
  545. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_risingwave.py +0 -0
  546. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_snowflake.py +0 -0
  547. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_spark.py +0 -0
  548. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/engine_adapter/test_trino.py +0 -0
  549. {sqlmesh-0.199.1.dev16/tests/dbt → sqlmesh-0.199.1.dev18/tests/core/metric}/__init__.py +0 -0
  550. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/metric/test_metric.py +0 -0
  551. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/metric/test_rewriter.py +0 -0
  552. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/state_sync/test_export_import.py +0 -0
  553. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_audit.py +0 -0
  554. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_config.py +0 -0
  555. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_connection_config.py +0 -0
  556. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_dialect.py +0 -0
  557. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_environment.py +0 -0
  558. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_format.py +0 -0
  559. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_integration.py +0 -0
  560. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_lineage.py +0 -0
  561. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_loader.py +0 -0
  562. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_macros.py +0 -0
  563. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_model.py +0 -0
  564. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_notification_target.py +0 -0
  565. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_plan_evaluator.py +0 -0
  566. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_reference.py +0 -0
  567. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_rule.py +0 -0
  568. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_scheduler.py +0 -0
  569. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_schema_diff.py +0 -0
  570. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_schema_loader.py +0 -0
  571. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_seed.py +0 -0
  572. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_selector.py +0 -0
  573. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_snapshot_evaluator.py +0 -0
  574. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_table_diff.py +0 -0
  575. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/core/test_test.py +0 -0
  576. {sqlmesh-0.199.1.dev16/tests/engines → sqlmesh-0.199.1.dev18/tests/dbt}/__init__.py +0 -0
  577. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/conftest.py +0 -0
  578. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/conftest.py +0 -0
  579. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/.gitignore +0 -0
  580. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/analyses/.gitkeep +0 -0
  581. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/config.py +0 -0
  582. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/dbt_project.yml +0 -0
  583. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/macros/.gitkeep +0 -0
  584. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/models/.gitkeep +0 -0
  585. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/models/sources.yml +0 -0
  586. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/packages/.gitkeep +0 -0
  587. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/profiles.yml +0 -0
  588. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/.gitkeep +0 -0
  589. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/items.csv +0 -0
  590. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/seeds/properties.yml +0 -0
  591. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/snapshots/.gitkeep +0 -0
  592. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/empty_dbt_project/tests/.gitkeep +0 -0
  593. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/jinja_nested_if.sql +0 -0
  594. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/macro_dbt_incremental.sql +0 -0
  595. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/macro_func_with_params.sql +0 -0
  596. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/fixtures/model_query_incremental.sql +0 -0
  597. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/test_convert.py +0 -0
  598. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/test_jinja.py +0 -0
  599. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/converter/test_jinja_transforms.py +0 -0
  600. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_adapter.py +0 -0
  601. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_config.py +0 -0
  602. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_integration.py +0 -0
  603. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_manifest.py +0 -0
  604. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_model.py +0 -0
  605. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_test.py +0 -0
  606. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_transformation.py +0 -0
  607. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/dbt/test_util.py +0 -0
  608. {sqlmesh-0.199.1.dev16/tests/engines/spark → sqlmesh-0.199.1.dev18/tests/engines}/__init__.py +0 -0
  609. {sqlmesh-0.199.1.dev16/tests/fixtures/dbt/sushi_test → sqlmesh-0.199.1.dev18/tests/engines/spark}/__init__.py +0 -0
  610. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/engines/spark/conftest.py +0 -0
  611. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/engines/spark/test_db_api.py +0 -0
  612. {sqlmesh-0.199.1.dev16/tests/integrations → sqlmesh-0.199.1.dev18/tests/fixtures/dbt/sushi_test}/__init__.py +0 -0
  613. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/analyses/.gitkeep +0 -0
  614. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/config.py +0 -0
  615. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/dbt_project.yml +0 -0
  616. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/logs/dbt.log.legacy +0 -0
  617. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/macros/create_tables.sql +0 -0
  618. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/macros/incremental.sql +0 -0
  619. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/macros/log_value.sql +0 -0
  620. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/macros/test_dependencies.sql +0 -0
  621. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/disabled_model.sql +0 -0
  622. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/schema.yml +0 -0
  623. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/simple_model_a.sql +0 -0
  624. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/simple_model_b.sql +0 -0
  625. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/top_waiters.sql +0 -0
  626. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/waiter_as_customer_by_day.sql +0 -0
  627. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day.sql +0 -0
  628. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/waiter_revenue_by_day_v1.sql +0 -0
  629. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/models/waiters.sql +0 -0
  630. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/analyses/.gitkeep +0 -0
  631. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/dbt_project.yml +0 -0
  632. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/macros/current_engine.sql +0 -0
  633. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/macros/distinct.sql +0 -0
  634. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/macros/packaged_tables.sql +0 -0
  635. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/models/customer_revenue_by_day.sql +0 -0
  636. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/models/customers.sql +0 -0
  637. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/models/schema.yml +0 -0
  638. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/seeds/.gitkeep +0 -0
  639. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/snapshots/.gitkeep +0 -0
  640. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages/customers/tests/.gitkeep +0 -0
  641. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/packages.yml +0 -0
  642. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/profiles.yml +0 -0
  643. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/schema.yaml +0 -0
  644. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/seed_sources.py +0 -0
  645. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/seeds/properties.yml +0 -0
  646. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/seeds/waiter_names.csv +0 -0
  647. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/snapshots/.gitkeep +0 -0
  648. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/snapshots/items_check_snapshot.sql +0 -0
  649. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/snapshots/items_no_hard_delete_snapshot.sql +0 -0
  650. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/snapshots/items_snapshot.sql +0 -0
  651. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/source_data/items.csv +0 -0
  652. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/source_data/order_items.csv +0 -0
  653. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/source_data/orders.csv +0 -0
  654. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/dbt/sushi_test/tests/.gitkeep +0 -0
  655. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_closed.json +0 -0
  656. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_command_deploy.json +0 -0
  657. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_comment.json +0 -0
  658. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_review_submit.json +0 -0
  659. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_synchronized.json +0 -0
  660. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/github/pull_request_synchronized_enterprise.json +0 -0
  661. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/migrations/environments.json +0 -0
  662. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/migrations/snapshots.json +0 -0
  663. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/audits/.gitkeep +0 -0
  664. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/macros/.gitkeep +0 -0
  665. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/macros/__init__.py +0 -0
  666. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/models/.gitkeep +0 -0
  667. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/models/first_schema/model_one.sql +0 -0
  668. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/models/first_schema/model_two.sql +0 -0
  669. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/models/second_schema/model_one.sql +0 -0
  670. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/models/second_schema/model_two.sql +0 -0
  671. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/multi_virtual_layer/tests/.gitkeep +0 -0
  672. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/snowflake/rsa_key_no_pass.p8 +0 -0
  673. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/fixtures/snowflake/rsa_key_pass.p8 +0 -0
  674. {sqlmesh-0.199.1.dev16/tests/integrations/github → sqlmesh-0.199.1.dev18/tests/integrations}/__init__.py +0 -0
  675. {sqlmesh-0.199.1.dev16/tests/integrations/github/cicd → sqlmesh-0.199.1.dev18/tests/integrations/github}/__init__.py +0 -0
  676. {sqlmesh-0.199.1.dev16/tests/integrations/jupyter → sqlmesh-0.199.1.dev18/tests/integrations/github/cicd}/__init__.py +0 -0
  677. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/conftest.py +0 -0
  678. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/test_config.py +0 -0
  679. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/test_github_commands.py +0 -0
  680. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/test_github_controller.py +0 -0
  681. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/test_github_event.py +0 -0
  682. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/github/cicd/test_integration.py +0 -0
  683. {sqlmesh-0.199.1.dev16/tests/schedulers → sqlmesh-0.199.1.dev18/tests/integrations/jupyter}/__init__.py +0 -0
  684. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/jupyter/example_outputs.ipynb +0 -0
  685. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/integrations/jupyter/test_magics.py +0 -0
  686. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/conftest.py +0 -0
  687. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_code_actions.py +0 -0
  688. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_completions.py +0 -0
  689. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_context.py +0 -0
  690. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_description.py +0 -0
  691. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_diagnostics.py +0 -0
  692. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_document_highlight.py +0 -0
  693. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_hints.py +0 -0
  694. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference.py +0 -0
  695. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_cte.py +0 -0
  696. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_cte_find_all.py +0 -0
  697. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_external_model.py +0 -0
  698. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_macro.py +0 -0
  699. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_macro_find_all.py +0 -0
  700. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_macro_multi.py +0 -0
  701. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_model_column_prefix.py +0 -0
  702. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_reference_model_find_all.py +0 -0
  703. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/lsp/test_rename_cte.py +0 -0
  704. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/pyproject.toml +0 -0
  705. {sqlmesh-0.199.1.dev16/tests/utils → sqlmesh-0.199.1.dev18/tests/schedulers}/__init__.py +0 -0
  706. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/setup.py +0 -0
  707. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/test_forking.py +0 -0
  708. {sqlmesh-0.199.1.dev16/tests/web → sqlmesh-0.199.1.dev18/tests/utils}/__init__.py +0 -0
  709. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/pandas.py +0 -0
  710. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_aws.py +0 -0
  711. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_cache.py +0 -0
  712. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_concurrency.py +0 -0
  713. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_connection_pool.py +0 -0
  714. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_dag.py +0 -0
  715. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_date.py +0 -0
  716. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_filesystem.py +0 -0
  717. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_filters.py +0 -0
  718. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_helpers.py +0 -0
  719. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_jinja.py +0 -0
  720. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_metaprogramming.py +0 -0
  721. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_pydantic.py +0 -0
  722. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/utils/test_yaml.py +0 -0
  723. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18/tests}/web/__init__.py +0 -0
  724. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/web/conftest.py +0 -0
  725. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/web/test_lineage.py +0 -0
  726. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tests/web/test_main.py +0 -0
  727. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tooling/README.md +0 -0
  728. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tooling/vscode/extensions.json +0 -0
  729. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tooling/vscode/launch.json +0 -0
  730. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tooling/vscode/settings.json +0 -0
  731. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/tooling/vscode/tasks.json +0 -0
  732. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/.gitignore +0 -0
  733. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/package.json +0 -0
  734. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/src/brand.ts +0 -0
  735. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/src/callbacks.ts +0 -0
  736. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/src/result.ts +0 -0
  737. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/bus/tsconfig.json +0 -0
  738. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/.gitignore +0 -0
  739. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/.vscodeignore +0 -0
  740. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/CHANGELOG.md +0 -0
  741. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/README.md +0 -0
  742. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/assets/logo.png +0 -0
  743. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/assets/logo.svg +0 -0
  744. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/esbuild.js +0 -0
  745. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/eslint.config.mjs +0 -0
  746. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/package.json +0 -0
  747. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/playwright.config.ts +0 -0
  748. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/auth/auth.ts +0 -0
  749. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/commands.test.ts +0 -0
  750. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/format.ts +0 -0
  751. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/printEnvironment.ts +0 -0
  752. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/renderModel.ts +0 -0
  753. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/signin.ts +0 -0
  754. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/signinSpecifyFlow.ts +0 -0
  755. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/signout.ts +0 -0
  756. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/commands/stop.ts +0 -0
  757. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/completion/completion.ts +0 -0
  758. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/extension.ts +0 -0
  759. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/lsp/custom.ts +0 -0
  760. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/lsp/lsp.ts +0 -0
  761. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/providers/renderedModelProvider.ts +0 -0
  762. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/constants.ts +0 -0
  763. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/log.ts +0 -0
  764. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/python.ts +0 -0
  765. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/settings.ts +0 -0
  766. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/utilities.ts +0 -0
  767. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/common/vscodeapi.ts +0 -0
  768. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/config.ts +0 -0
  769. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/errors.ts +0 -0
  770. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/exec.ts +0 -0
  771. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/isCodespaces.ts +0 -0
  772. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/isWindows.ts +0 -0
  773. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/python.ts +0 -0
  774. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/semver.test.ts +0 -0
  775. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/semver.ts +0 -0
  776. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/sleep.ts +0 -0
  777. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/utilities/sqlmesh/sqlmesh.ts +0 -0
  778. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/src/webviews/lineagePanel.ts +0 -0
  779. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/bad_setup.spec.ts +0 -0
  780. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/broken_project.spec.ts +0 -0
  781. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/completions.spec.ts +0 -0
  782. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/diagnostics.spec.ts +0 -0
  783. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/extension.setup.ts +0 -0
  784. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/extension.teardown.ts +0 -0
  785. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/find_references.spec.ts +0 -0
  786. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/format.spec.ts +0 -0
  787. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/go_to_definition.spec.ts +0 -0
  788. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/hints.spec.ts +0 -0
  789. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/lineage.spec.ts +0 -0
  790. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/lineage_settings.spec.ts +0 -0
  791. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/python_env.spec.ts +0 -0
  792. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/rename_cte.spec.ts +0 -0
  793. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/render.spec.ts +0 -0
  794. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/stop.spec.ts +0 -0
  795. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud/README.md +0 -0
  796. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud/mock_tcloud/__init__.py +0 -0
  797. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud/mock_tcloud/cli.py +0 -0
  798. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud/pyproject.toml +0 -0
  799. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud.spec.ts +0 -0
  800. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/tcloud_utils.ts +0 -0
  801. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/utils.ts +0 -0
  802. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/utils_code_server.ts +0 -0
  803. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tests/venv_naming.spec.ts +0 -0
  804. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tsconfig.build.json +0 -0
  805. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tsconfig.json +0 -0
  806. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/tsconfig.test.json +0 -0
  807. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/extension/vitest.config.ts +0 -0
  808. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/openapi.json +0 -0
  809. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.cta.json +0 -0
  810. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.gitignore +0 -0
  811. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.storybook/main.ts +0 -0
  812. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.storybook/preview.ts +0 -0
  813. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.storybook/storybook.css +0 -0
  814. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/.storybook/vitest.setup.ts +0 -0
  815. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/index.html +0 -0
  816. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/orval.config.ts +0 -0
  817. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/package.json +0 -0
  818. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/App.css +0 -0
  819. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/api/client.ts +0 -0
  820. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/api/index.ts +0 -0
  821. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/api/instance.ts +0 -0
  822. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/button/Button.tsx +0 -0
  823. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/divider/Divider.tsx +0 -0
  824. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/CogIcon.tsx +0 -0
  825. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/Graph.css +0 -0
  826. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/ModelColumns.tsx +0 -0
  827. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/ModelLineage.tsx +0 -0
  828. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/ModelLineageDetails.tsx +0 -0
  829. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/ModelNode.tsx +0 -0
  830. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/ModelNodeHeaderHandles.tsx +0 -0
  831. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/SettingsControl.tsx +0 -0
  832. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/context.tsx +0 -0
  833. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/help.ts +0 -0
  834. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/graph/types.ts +0 -0
  835. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/input/Input.tsx +0 -0
  836. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/input/InputToggle.tsx +0 -0
  837. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/input/Selector.tsx +0 -0
  838. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/input/Textfield.tsx +0 -0
  839. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/listbox/ListboxShow.tsx +0 -0
  840. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/loading/Loading.tsx +0 -0
  841. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/loading/LoadingSegment.tsx +0 -0
  842. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/loading/LoadingStatus.tsx +0 -0
  843. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/logo/Spinner.tsx +0 -0
  844. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/logo/SqlMesh.tsx +0 -0
  845. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/logo/Tobiko.tsx +0 -0
  846. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/sourceList/SourceList.tsx +0 -0
  847. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/sourceList/SourceListItem.tsx +0 -0
  848. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/components/title/Title.tsx +0 -0
  849. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/domain/column.ts +0 -0
  850. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/domain/initial.ts +0 -0
  851. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/domain/lineage.ts +0 -0
  852. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/domain/models.ts +0 -0
  853. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/domain/sqlmesh-model.ts +0 -0
  854. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/hooks/eventBus.tsx +0 -0
  855. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/hooks/vscode.ts +0 -0
  856. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/main.tsx +0 -0
  857. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/pages/lineage.tsx +0 -0
  858. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/reportWebVitals.ts +0 -0
  859. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/routeTree.gen.ts +0 -0
  860. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/routes/__root.tsx +0 -0
  861. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/routes/index.tsx +0 -0
  862. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/routes/lineage.tsx +0 -0
  863. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/style/variants.ts +0 -0
  864. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/styles.css +0 -0
  865. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/utils/index.spec.ts +0 -0
  866. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/utils/index.ts +0 -0
  867. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/utils/receiveEvents.ts +0 -0
  868. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/utils/rpc.ts +0 -0
  869. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/utils/vscodeapi.ts +0 -0
  870. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/workers/index.ts +0 -0
  871. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/src/workers/lineage.ts +0 -0
  872. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/tailwind.config.cjs +0 -0
  873. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/tsconfig.json +0 -0
  874. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/vite.config.js +0 -0
  875. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/vscode/react/vitest.shims.d.ts +0 -0
  876. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/.dockerignore +0 -0
  877. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/Dockerfile.api +0 -0
  878. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/Dockerfile.app +0 -0
  879. {sqlmesh-0.199.1.dev16/web/server → sqlmesh-0.199.1.dev18/web}/__init__.py +0 -0
  880. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/.gitignore +0 -0
  881. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Audits-BuHAmFO8.js +0 -0
  882. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Banner-DFFgSp7_.js +0 -0
  883. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/ChevronDownIcon-DtTgO9XQ.js +0 -0
  884. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/ChevronRightIcon-UI3RytmK.js +0 -0
  885. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Content-CpNCWToC.js +0 -0
  886. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Content-aUn7pk46.js +0 -0
  887. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Data-CZDVrGG4.js +0 -0
  888. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/DataCatalog-BTH7PLMa.js +0 -0
  889. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Editor-aTj13TCY.js +0 -0
  890. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Editor-biLDBbAA.js +0 -0
  891. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Errors-CH0KFwsR.js +0 -0
  892. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/FileExplorer-DajbVeH5.js +0 -0
  893. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Footer-1kutyViJ.js +0 -0
  894. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Header-BeNTIlzT.js +0 -0
  895. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Input-BGdTmRPV.js +0 -0
  896. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Lineage-C7Aqseca.js +0 -0
  897. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/ListboxShow-BRUdoaSL.js +0 -0
  898. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/ModelLineage-BVQJptIB.js +0 -0
  899. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Models-B5TYaoIH.js +0 -0
  900. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Page-D_es10yq.js +0 -0
  901. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Plan-D4VG3U-s.js +0 -0
  902. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/PlusCircleIcon-M3NGeHST.js +0 -0
  903. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/ReportErrors-CaaGo6UD.js +0 -0
  904. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Root-DcJxWwG4.js +0 -0
  905. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/SearchList-vj2s_Pnb.js +0 -0
  906. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/SelectEnvironment-GfN4mjDu.js +0 -0
  907. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/SourceList-BioJ2XB9.js +0 -0
  908. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/SourceListItem-DhUDAM6G.js +0 -0
  909. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/SplitPane-CqYEXonR.js +0 -0
  910. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Tests-D0MOEJwQ.js +0 -0
  911. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/Welcome-ALXxKTT6.js +0 -0
  912. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +0 -0
  913. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/context-C6O7H5eL.js +0 -0
  914. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/context-DUS5wzfN.js +0 -0
  915. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/editor-DQqZC36D.js +0 -0
  916. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/file-gUDWL5Z6.js +0 -0
  917. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/floating-ui.react-dom-9Mo3XjFw.js +0 -0
  918. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/help-6Q7f7fjd.js +0 -0
  919. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/help-CfEW8yRZ.js +0 -0
  920. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/index-DH1v9iOD.js +0 -0
  921. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/index-Ditw2lX8.js +0 -0
  922. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/plan-BC79Qq7e.js +0 -0
  923. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/popover-BS2D7N_A.js +0 -0
  924. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/assets/project-YuVl6ae5.js +0 -0
  925. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/css/base.css +0 -0
  926. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/css/design.css +0 -0
  927. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/favicons/favicon.svg +0 -0
  928. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
  929. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/OFL.txt +0 -0
  930. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/README.txt +0 -0
  931. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Black.ttf +0 -0
  932. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Bold.ttf +0 -0
  933. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
  934. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
  935. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Light.ttf +0 -0
  936. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Medium.ttf +0 -0
  937. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Regular.ttf +0 -0
  938. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
  939. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Inter/static/Inter-Thin.ttf +0 -0
  940. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  941. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
  942. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/OFL.txt +0 -0
  943. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/README.txt +0 -0
  944. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
  945. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
  946. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
  947. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
  948. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
  949. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
  950. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
  951. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
  952. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
  953. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
  954. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
  955. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
  956. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
  957. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
  958. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
  959. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
  960. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
  961. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
  962. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
  963. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
  964. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-buch.otf +0 -0
  965. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-buch.woff2 +0 -0
  966. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-kraftig.otf +0 -0
  967. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-kraftig.woff2 +0 -0
  968. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-mono-buch.otf +0 -0
  969. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
  970. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
  971. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
  972. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/dist/index.html +0 -0
  973. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/eslint.config.mjs +0 -0
  974. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/index.html +0 -0
  975. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/openapi.json +0 -0
  976. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/orval.config.ts +0 -0
  977. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/package.json +0 -0
  978. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/playwright.config.ts +0 -0
  979. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/postcss.config.cjs +0 -0
  980. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/css/base.css +0 -0
  981. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/css/design.css +0 -0
  982. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/favicons/favicon.svg +0 -0
  983. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
  984. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/OFL.txt +0 -0
  985. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/README.txt +0 -0
  986. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Black.ttf +0 -0
  987. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Bold.ttf +0 -0
  988. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
  989. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
  990. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Light.ttf +0 -0
  991. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Medium.ttf +0 -0
  992. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Regular.ttf +0 -0
  993. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
  994. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Inter/static/Inter-Thin.ttf +0 -0
  995. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  996. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
  997. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/OFL.txt +0 -0
  998. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/README.txt +0 -0
  999. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Bold.ttf +0 -0
  1000. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-BoldItalic.ttf +0 -0
  1001. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBold.ttf +0 -0
  1002. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraBoldItalic.ttf +0 -0
  1003. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLight.ttf +0 -0
  1004. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ExtraLightItalic.ttf +0 -0
  1005. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Italic.ttf +0 -0
  1006. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Light.ttf +0 -0
  1007. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-LightItalic.ttf +0 -0
  1008. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Medium.ttf +0 -0
  1009. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-MediumItalic.ttf +0 -0
  1010. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Regular.ttf +0 -0
  1011. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBold.ttf +0 -0
  1012. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-SemiBoldItalic.ttf +0 -0
  1013. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-Thin.ttf +0 -0
  1014. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/JetBrains_Mono/static/JetBrainsMono-ThinItalic.ttf +0 -0
  1015. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.otf +0 -0
  1016. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Martina_Plantijn/martina-plantijn-regular.woff2 +0 -0
  1017. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-buch-kursiv.otf +0 -0
  1018. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-buch-kursiv.woff2 +0 -0
  1019. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-buch.otf +0 -0
  1020. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-buch.woff2 +0 -0
  1021. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-kraftig.otf +0 -0
  1022. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-kraftig.woff2 +0 -0
  1023. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-mono-buch.otf +0 -0
  1024. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-mono-buch.woff2 +0 -0
  1025. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-mono-kraftig.otf +0 -0
  1026. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/public/fonts/Sohne/sohne-mono-kraftig.woff2 +0 -0
  1027. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/App.tsx +0 -0
  1028. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/api/channels.ts +0 -0
  1029. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/api/index.ts +0 -0
  1030. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/api/instance.ts +0 -0
  1031. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/context/context.ts +0 -0
  1032. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/context/editor.ts +0 -0
  1033. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/context/plan.ts +0 -0
  1034. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/context/project.ts +0 -0
  1035. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/context/theme.tsx +0 -0
  1036. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/hooks/useActiveFocus.ts +0 -0
  1037. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/hooks/useLocalStorage.ts +0 -0
  1038. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/banner/Banner.tsx +0 -0
  1039. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/banner/Welcome.tsx +0 -0
  1040. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/button/Button.tsx +0 -0
  1041. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/button/tests/Button.spec.tsx +0 -0
  1042. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/container/Container.tsx +0 -0
  1043. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/divider/Divider.tsx +0 -0
  1044. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/divider/tests/Divider.spec.tsx +0 -0
  1045. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/documentation/Documentation.tsx +0 -0
  1046. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/Editor.css +0 -0
  1047. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/Editor.tsx +0 -0
  1048. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorCode.tsx +0 -0
  1049. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorFooter.tsx +0 -0
  1050. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorIndicator.tsx +0 -0
  1051. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorInspector.tsx +0 -0
  1052. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorPreview.tsx +0 -0
  1053. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorTab.tsx +0 -0
  1054. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/EditorTabs.tsx +0 -0
  1055. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/extensions/SQLMeshDialect.ts +0 -0
  1056. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/extensions/SQLMeshModel.ts +0 -0
  1057. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/extensions/help.ts +0 -0
  1058. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/extensions/index.ts +0 -0
  1059. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/help.ts +0 -0
  1060. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/editor/hooks.ts +0 -0
  1061. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/environmentDetails/AddEnvironment.tsx +0 -0
  1062. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/environmentDetails/EnvironmentChanges.tsx +0 -0
  1063. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/environmentDetails/EnvironmentChangesPreview.tsx +0 -0
  1064. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/environmentDetails/EnvironmentDetails.tsx +0 -0
  1065. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/environmentDetails/SelectEnvironment.tsx +0 -0
  1066. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/fileExplorer/Directory.tsx +0 -0
  1067. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/fileExplorer/DragLayer.tsx +0 -0
  1068. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/fileExplorer/File.tsx +0 -0
  1069. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/fileExplorer/FileExplorer.tsx +0 -0
  1070. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/fileExplorer/context.tsx +0 -0
  1071. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/Graph.css +0 -0
  1072. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelColumns.tsx +0 -0
  1073. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelLineage.tsx +0 -0
  1074. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelLineageDetails.tsx +0 -0
  1075. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelLineageSearch.tsx +0 -0
  1076. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelNode.tsx +0 -0
  1077. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/ModelNodeHeaderHandles.tsx +0 -0
  1078. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/context.tsx +0 -0
  1079. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/graph/help.ts +0 -0
  1080. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/historyNavigation/historyNavigation.tsx +0 -0
  1081. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/input/Input.tsx +0 -0
  1082. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/input/InputToggle.tsx +0 -0
  1083. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/input/Selector.tsx +0 -0
  1084. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/input/Textfield.tsx +0 -0
  1085. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/listbox/ListboxShow.tsx +0 -0
  1086. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/loading/Loading.tsx +0 -0
  1087. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/loading/LoadingSegment.tsx +0 -0
  1088. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/loading/LoadingStatus.tsx +0 -0
  1089. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/logo/Spinner.tsx +0 -0
  1090. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/logo/SqlMesh.tsx +0 -0
  1091. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/logo/Tobiko.tsx +0 -0
  1092. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/modal/Modal.tsx +0 -0
  1093. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/modal/ModalConfirmation.tsx +0 -0
  1094. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/moduleNavigation/ModuleLink.tsx +0 -0
  1095. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/moduleNavigation/ModuleNavigation.tsx +0 -0
  1096. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/Plan.tsx +0 -0
  1097. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanActions.tsx +0 -0
  1098. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanApplyStageTracker.tsx +0 -0
  1099. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanBackfillDates.tsx +0 -0
  1100. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanChangePreview.tsx +0 -0
  1101. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanHeader.tsx +0 -0
  1102. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/PlanOptions.tsx +0 -0
  1103. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/context.tsx +0 -0
  1104. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/help.spec.ts +0 -0
  1105. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/help.ts +0 -0
  1106. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/plan/hooks.ts +0 -0
  1107. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/progress/Progress.tsx +0 -0
  1108. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/report/ReportErrors.tsx +0 -0
  1109. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/report/ReportTestsErrors.tsx +0 -0
  1110. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/search/SearchList.tsx +0 -0
  1111. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/search/help.ts +0 -0
  1112. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/sourceList/SourceList.tsx +0 -0
  1113. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/sourceList/SourceListItem.tsx +0 -0
  1114. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/splitPane/SplitPane.css +0 -0
  1115. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/splitPane/SplitPane.tsx +0 -0
  1116. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/tab/Tab.tsx +0 -0
  1117. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/table/Table.tsx +0 -0
  1118. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/table/help.ts +0 -0
  1119. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/tableDiff/TableDiff.tsx +0 -0
  1120. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/tableDiff/help.ts +0 -0
  1121. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/tasksOverview/TasksOverview.tsx +0 -0
  1122. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/title/Title.tsx +0 -0
  1123. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/components/toggle/Toggle.tsx +0 -0
  1124. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/audits/Audits.tsx +0 -0
  1125. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/data/Data.tsx +0 -0
  1126. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/data-catalog/DataCatalog.tsx +0 -0
  1127. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/editor/Editor.tsx +0 -0
  1128. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/errors/Content.tsx +0 -0
  1129. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/errors/Errors.tsx +0 -0
  1130. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/lineage/Lineage.tsx +0 -0
  1131. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/models/Models.tsx +0 -0
  1132. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/plan/Content.tsx +0 -0
  1133. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/plan/Plan.tsx +0 -0
  1134. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/Footer.tsx +0 -0
  1135. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/Header.tsx +0 -0
  1136. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/Navigation.tsx +0 -0
  1137. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/NotFound.tsx +0 -0
  1138. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/Page.tsx +0 -0
  1139. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/Root.tsx +0 -0
  1140. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/root/context/notificationCenter.tsx +0 -0
  1141. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/library/pages/tests/Tests.tsx +0 -0
  1142. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/main.tsx +0 -0
  1143. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/artifact.posix.spec.ts +0 -0
  1144. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/artifact.spec.ts +0 -0
  1145. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/artifact.ts +0 -0
  1146. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/artifact.win.spec.ts +0 -0
  1147. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/directory.posix.spec.ts +0 -0
  1148. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/directory.ts +0 -0
  1149. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/directory.win.spec.ts +0 -0
  1150. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/environment.ts +0 -0
  1151. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/file.spec.ts +0 -0
  1152. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/file.ts +0 -0
  1153. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/index.ts +0 -0
  1154. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/initial.ts +0 -0
  1155. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/module-controller.ts +0 -0
  1156. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/plan-action.ts +0 -0
  1157. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/sqlmesh-change-display.ts +0 -0
  1158. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/sqlmesh-model.ts +0 -0
  1159. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/tracker-plan-apply.ts +0 -0
  1160. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/tracker-plan-cancel.ts +0 -0
  1161. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/tracker-plan-overview.ts +0 -0
  1162. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/models/tracker-plan.ts +0 -0
  1163. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/routes.tsx +0 -0
  1164. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/styles/index.css +0 -0
  1165. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/tests/setup.ts +0 -0
  1166. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/tests/utils.tsx +0 -0
  1167. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/types/enum.ts +0 -0
  1168. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/types/index.d.ts +0 -0
  1169. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/utils/additional-components.ts +0 -0
  1170. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/utils/index.spec.ts +0 -0
  1171. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/utils/index.ts +0 -0
  1172. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/utils/tbk-components.js +0 -0
  1173. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/workers/index.ts +0 -0
  1174. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/workers/lineage.ts +0 -0
  1175. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/workers/sqlglot/sqlglot.py +0 -0
  1176. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/src/workers/sqlglot/sqlglot.ts +0 -0
  1177. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/tailwind.config.cjs +0 -0
  1178. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/tests/initial.spec.ts +0 -0
  1179. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/tsconfig.json +0 -0
  1180. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/client/vite.config.ts +0 -0
  1181. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/docker-compose.build.yml +0 -0
  1182. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/docker-compose.yml +0 -0
  1183. {sqlmesh-0.199.1.dev16/web/server/api → sqlmesh-0.199.1.dev18/web/server}/__init__.py +0 -0
  1184. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/__init__.py +0 -0
  1185. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/commands.py +0 -0
  1186. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/directories.py +0 -0
  1187. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/environments.py +0 -0
  1188. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/events.py +0 -0
  1189. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/files.py +0 -0
  1190. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/lineage.py +0 -0
  1191. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/meta.py +0 -0
  1192. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/models.py +0 -0
  1193. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/modules.py +0 -0
  1194. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/plan.py +0 -0
  1195. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/api/endpoints/table_diff.py +0 -0
  1196. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/app.py +0 -0
  1197. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/console.py +0 -0
  1198. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/exceptions.py +0 -0
  1199. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/main.py +0 -0
  1200. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/models.py +0 -0
  1201. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/openapi.py +0 -0
  1202. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/settings.py +0 -0
  1203. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/utils.py +0 -0
  1204. {sqlmesh-0.199.1.dev16 → sqlmesh-0.199.1.dev18}/web/server/watcher.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.199.1.dev16
3
+ Version: 0.199.1.dev18
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.199.1.dev16'
21
- __version_tuple__ = version_tuple = (0, 199, 1, 'dev16')
20
+ __version__ = version = '0.199.1.dev18'
21
+ __version_tuple__ = version_tuple = (0, 199, 1, 'dev18')
@@ -520,6 +520,11 @@ def diff(ctx: click.Context, environment: t.Optional[str] = None) -> None:
520
520
  help="Explain the plan instead of applying it.",
521
521
  default=None,
522
522
  )
523
+ @click.option(
524
+ "--min-intervals",
525
+ default=0,
526
+ help="For every model, ensure at least this many intervals are covered by a missing intervals check regardless of the plan start date",
527
+ )
523
528
  @opt.verbose
524
529
  @click.pass_context
525
530
  @error_handler
@@ -2073,8 +2073,8 @@ class TerminalConsole(Console):
2073
2073
  if not plan_builder.override_end:
2074
2074
  if plan.provided_end:
2075
2075
  blank_meaning = f"'{time_like_to_str(plan.provided_end)}'"
2076
- elif plan.interval_end_per_model:
2077
- max_end = max(plan.interval_end_per_model.values())
2076
+ elif plan.end_override_per_model:
2077
+ max_end = max(plan.end_override_per_model.values())
2078
2078
  blank_meaning = f"'{time_like_to_str(max_end)}'"
2079
2079
  else:
2080
2080
  blank_meaning = "now"
@@ -46,6 +46,7 @@ from itertools import chain
46
46
  from pathlib import Path
47
47
  from shutil import rmtree
48
48
  from types import MappingProxyType
49
+ from datetime import datetime
49
50
 
50
51
  from sqlglot import Dialect, exp
51
52
  from sqlglot.helper import first
@@ -125,6 +126,8 @@ from sqlmesh.utils.date import (
125
126
  format_tz_datetime,
126
127
  now_timestamp,
127
128
  now,
129
+ to_datetime,
130
+ make_exclusive,
128
131
  )
129
132
  from sqlmesh.utils.errors import (
130
133
  CircuitBreakerError,
@@ -1222,6 +1225,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1222
1225
  diff_rendered: t.Optional[bool] = None,
1223
1226
  skip_linter: t.Optional[bool] = None,
1224
1227
  explain: t.Optional[bool] = None,
1228
+ min_intervals: t.Optional[int] = None,
1225
1229
  ) -> Plan:
1226
1230
  """Interactively creates a plan.
1227
1231
 
@@ -1268,6 +1272,8 @@ class GenericContext(BaseContext, t.Generic[C]):
1268
1272
  diff_rendered: Whether the diff should compare raw vs rendered models
1269
1273
  skip_linter: Linter runs by default so this will skip it if enabled
1270
1274
  explain: Whether to explain the plan instead of applying it.
1275
+ min_intervals: Adjust the plan start date on a per-model basis in order to ensure at least this many intervals are covered
1276
+ on every model when checking for missing intervals
1271
1277
 
1272
1278
  Returns:
1273
1279
  The populated Plan object.
@@ -1296,6 +1302,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1296
1302
  diff_rendered=diff_rendered,
1297
1303
  skip_linter=skip_linter,
1298
1304
  explain=explain,
1305
+ min_intervals=min_intervals,
1299
1306
  )
1300
1307
 
1301
1308
  plan = plan_builder.build()
@@ -1345,6 +1352,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1345
1352
  diff_rendered: t.Optional[bool] = None,
1346
1353
  skip_linter: t.Optional[bool] = None,
1347
1354
  explain: t.Optional[bool] = None,
1355
+ min_intervals: t.Optional[int] = None,
1348
1356
  ) -> PlanBuilder:
1349
1357
  """Creates a plan builder.
1350
1358
 
@@ -1381,6 +1389,8 @@ class GenericContext(BaseContext, t.Generic[C]):
1381
1389
  enable_preview: Indicates whether to enable preview for forward-only models in development environments.
1382
1390
  run: Whether to run latest intervals as part of the plan application.
1383
1391
  diff_rendered: Whether the diff should compare raw vs rendered models
1392
+ min_intervals: Adjust the plan start date on a per-model basis in order to ensure at least this many intervals are covered
1393
+ on every model when checking for missing intervals
1384
1394
 
1385
1395
  Returns:
1386
1396
  The plan builder.
@@ -1408,6 +1418,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1408
1418
  "run": run,
1409
1419
  "diff_rendered": diff_rendered,
1410
1420
  "skip_linter": skip_linter,
1421
+ "min_intervals": min_intervals,
1411
1422
  }
1412
1423
  user_provided_flags: t.Dict[str, UserProvidedFlags] = {
1413
1424
  k: v for k, v in kwargs.items() if v is not None
@@ -1530,6 +1541,16 @@ class GenericContext(BaseContext, t.Generic[C]):
1530
1541
  # Refresh snapshot intervals to ensure that they are up to date with values reflected in the max_interval_end_per_model.
1531
1542
  self.state_sync.refresh_snapshot_intervals(context_diff.snapshots.values())
1532
1543
 
1544
+ start_override_per_model = self._calculate_start_override_per_model(
1545
+ min_intervals,
1546
+ start or default_start,
1547
+ end or default_end,
1548
+ execution_time or now(),
1549
+ backfill_models,
1550
+ snapshots,
1551
+ max_interval_end_per_model,
1552
+ )
1553
+
1533
1554
  return self.PLAN_BUILDER_TYPE(
1534
1555
  context_diff=context_diff,
1535
1556
  start=start,
@@ -1560,7 +1581,8 @@ class GenericContext(BaseContext, t.Generic[C]):
1560
1581
  ),
1561
1582
  end_bounded=not run,
1562
1583
  ensure_finalized_snapshots=self.config.plan.use_finalized_state,
1563
- interval_end_per_model=max_interval_end_per_model,
1584
+ start_override_per_model=start_override_per_model,
1585
+ end_override_per_model=max_interval_end_per_model,
1564
1586
  console=self.console,
1565
1587
  user_provided_flags=user_provided_flags,
1566
1588
  explain=explain or False,
@@ -2850,7 +2872,7 @@ class GenericContext(BaseContext, t.Generic[C]):
2850
2872
  def _get_plan_default_start_end(
2851
2873
  self,
2852
2874
  snapshots: t.Dict[str, Snapshot],
2853
- max_interval_end_per_model: t.Dict[str, int],
2875
+ max_interval_end_per_model: t.Dict[str, datetime],
2854
2876
  backfill_models: t.Optional[t.Set[str]],
2855
2877
  modified_model_names: t.Set[str],
2856
2878
  execution_time: t.Optional[TimeLike] = None,
@@ -2858,7 +2880,7 @@ class GenericContext(BaseContext, t.Generic[C]):
2858
2880
  if not max_interval_end_per_model:
2859
2881
  return None, None
2860
2882
 
2861
- default_end = max(max_interval_end_per_model.values())
2883
+ default_end = to_timestamp(max(max_interval_end_per_model.values()))
2862
2884
  default_start: t.Optional[int] = None
2863
2885
  # Infer the default start by finding the smallest interval start that corresponds to the default end.
2864
2886
  for model_name in backfill_models or modified_model_names or max_interval_end_per_model:
@@ -2887,19 +2909,101 @@ class GenericContext(BaseContext, t.Generic[C]):
2887
2909
 
2888
2910
  return default_start, default_end
2889
2911
 
2912
+ def _calculate_start_override_per_model(
2913
+ self,
2914
+ min_intervals: t.Optional[int],
2915
+ plan_start: t.Optional[TimeLike],
2916
+ plan_end: t.Optional[TimeLike],
2917
+ plan_execution_time: TimeLike,
2918
+ backfill_model_fqns: t.Optional[t.Set[str]],
2919
+ snapshots_by_model_fqn: t.Dict[str, Snapshot],
2920
+ end_override_per_model: t.Optional[t.Dict[str, datetime]],
2921
+ ) -> t.Dict[str, datetime]:
2922
+ if not min_intervals or not backfill_model_fqns or not plan_start:
2923
+ # If there are no models to backfill, there are no intervals to consider for backfill, so we dont need to consider a minimum number
2924
+ # If the plan doesnt have a start date, all intervals are considered already so we dont need to consider a minimum number
2925
+ # If we dont have a minimum number of intervals to consider, then we dont need to adjust the start date on a per-model basis
2926
+ return {}
2927
+
2928
+ start_overrides: t.Dict[str, datetime] = {}
2929
+ end_override_per_model = end_override_per_model or {}
2930
+
2931
+ plan_execution_time_dt = to_datetime(plan_execution_time)
2932
+ plan_start_dt = to_datetime(plan_start, relative_base=plan_execution_time_dt)
2933
+ plan_end_dt = to_datetime(
2934
+ plan_end or plan_execution_time_dt, relative_base=plan_execution_time_dt
2935
+ )
2936
+
2937
+ # we need to take the DAG into account so that parent models can be expanded to cover at least as much as their children
2938
+ # for example, A(hourly) <- B(daily)
2939
+ # if min_intervals=1, A would have 1 hour and B would have 1 day
2940
+ # but B depends on A so in order for B to have 1 valid day, A needs to be expanded to 24 hours
2941
+ backfill_dag: DAG[str] = DAG()
2942
+ for fqn in backfill_model_fqns:
2943
+ backfill_dag.add(
2944
+ fqn,
2945
+ [
2946
+ p.name
2947
+ for p in snapshots_by_model_fqn[fqn].parents
2948
+ if p.name in backfill_model_fqns
2949
+ ],
2950
+ )
2951
+
2952
+ # start from the leaf nodes and work back towards the root because the min_start at the root node is determined by the calculated starts in the leaf nodes
2953
+ reversed_dag = backfill_dag.reversed
2954
+ graph = reversed_dag.graph
2955
+
2956
+ for model_fqn in reversed_dag:
2957
+ # Get the earliest start from all immediate children of this snapshot
2958
+ # this works because topological ordering guarantees that they've already been visited
2959
+ # and we always set a start override
2960
+ min_child_start = min(
2961
+ [start_overrides[immediate_child_fqn] for immediate_child_fqn in graph[model_fqn]],
2962
+ default=plan_start_dt,
2963
+ )
2964
+
2965
+ snapshot = snapshots_by_model_fqn.get(model_fqn)
2966
+
2967
+ if not snapshot:
2968
+ continue
2969
+
2970
+ starting_point = end_override_per_model.get(model_fqn, plan_end_dt)
2971
+ if node_end := snapshot.node.end:
2972
+ # if we dont do this, if the node end is a *date* (as opposed to a timestamp)
2973
+ # we end up incorrectly winding back an extra day
2974
+ node_end_dt = make_exclusive(node_end)
2975
+
2976
+ if node_end_dt < plan_end_dt:
2977
+ # if the model has an end date that has already elapsed, use that as a starting point for calculating min_intervals
2978
+ # instead of the plan end. If we use the plan end, we will return intervals in the future which are invalid
2979
+ starting_point = node_end_dt
2980
+
2981
+ snapshot_start = snapshot.node.cron_floor(starting_point)
2982
+
2983
+ for _ in range(min_intervals):
2984
+ # wind back the starting point by :min_intervals intervals to arrive at the minimum snapshot start date
2985
+ snapshot_start = snapshot.node.cron_prev(snapshot_start)
2986
+
2987
+ start_overrides[model_fqn] = min(min_child_start, snapshot_start)
2988
+
2989
+ return start_overrides
2990
+
2890
2991
  def _get_max_interval_end_per_model(
2891
2992
  self, snapshots: t.Dict[str, Snapshot], backfill_models: t.Optional[t.Set[str]]
2892
- ) -> t.Dict[str, int]:
2993
+ ) -> t.Dict[str, datetime]:
2893
2994
  models_for_interval_end = (
2894
2995
  self._get_models_for_interval_end(snapshots, backfill_models)
2895
2996
  if backfill_models is not None
2896
2997
  else None
2897
2998
  )
2898
- return self.state_sync.max_interval_end_per_model(
2899
- c.PROD,
2900
- models=models_for_interval_end,
2901
- ensure_finalized_snapshots=self.config.plan.use_finalized_state,
2902
- )
2999
+ return {
3000
+ model_fqn: to_datetime(ts)
3001
+ for model_fqn, ts in self.state_sync.max_interval_end_per_model(
3002
+ c.PROD,
3003
+ models=models_for_interval_end,
3004
+ ensure_finalized_snapshots=self.config.plan.use_finalized_state,
3005
+ ).items()
3006
+ }
2903
3007
 
2904
3008
  @staticmethod
2905
3009
  def _get_models_for_interval_end(
@@ -31,6 +31,9 @@ class IntervalUnit(str, Enum):
31
31
  IntervalUnit can be one of 5 types, YEAR, MONTH, DAY, HOUR, MINUTE. The unit is inferred
32
32
  based on the cron schedule of a node. The minimum time delta between a sample set of dates
33
33
  is used to determine which unit a node's schedule is.
34
+
35
+ It's designed to align with common partitioning schemes, hence why there is no WEEK unit
36
+ because generally tables are not partitioned by week
34
37
  """
35
38
 
36
39
  YEAR = "year"
@@ -5,6 +5,7 @@ import re
5
5
  import typing as t
6
6
  from collections import defaultdict
7
7
  from functools import cached_property
8
+ from datetime import datetime
8
9
 
9
10
 
10
11
  from sqlmesh.core.console import PlanBuilderConsole, get_console
@@ -85,7 +86,8 @@ class PlanBuilder:
85
86
  ensure_finalized_snapshots: Whether to compare against snapshots from the latest finalized
86
87
  environment state, or to use whatever snapshots are in the current environment state even if
87
88
  the environment is not finalized.
88
- interval_end_per_model: The mapping from model FQNs to target end dates.
89
+ start_override_per_model: A mapping of model FQNs to target start dates.
90
+ end_override_per_model: A mapping of model FQNs to target end dates.
89
91
  explain: Whether to explain the plan instead of applying it.
90
92
  """
91
93
 
@@ -117,7 +119,8 @@ class PlanBuilder:
117
119
  end_bounded: bool = False,
118
120
  ensure_finalized_snapshots: bool = False,
119
121
  explain: bool = False,
120
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
122
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
123
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
121
124
  console: t.Optional[PlanBuilderConsole] = None,
122
125
  user_provided_flags: t.Optional[t.Dict[str, UserProvidedFlags]] = None,
123
126
  ):
@@ -133,7 +136,8 @@ class PlanBuilder:
133
136
  self._enable_preview = enable_preview
134
137
  self._end_bounded = end_bounded
135
138
  self._ensure_finalized_snapshots = ensure_finalized_snapshots
136
- self._interval_end_per_model = interval_end_per_model
139
+ self._start_override_per_model = start_override_per_model
140
+ self._end_override_per_model = end_override_per_model
137
141
  self._environment_ttl = environment_ttl
138
142
  self._categorizer_config = categorizer_config or CategorizerConfig()
139
143
  self._auto_categorization_enabled = auto_categorization_enabled
@@ -280,7 +284,11 @@ class PlanBuilder:
280
284
  self._adjust_new_snapshot_intervals()
281
285
 
282
286
  deployability_index = (
283
- DeployabilityIndex.create(self._context_diff.snapshots.values(), start=self._start)
287
+ DeployabilityIndex.create(
288
+ self._context_diff.snapshots.values(),
289
+ start=self._start,
290
+ start_override_per_model=self._start_override_per_model,
291
+ )
284
292
  if self._is_dev
285
293
  else DeployabilityIndex.all_deployable()
286
294
  )
@@ -291,11 +299,11 @@ class PlanBuilder:
291
299
  )
292
300
  models_to_backfill = self._build_models_to_backfill(dag, restatements)
293
301
 
294
- interval_end_per_model = self._interval_end_per_model
295
- if interval_end_per_model and self.override_end:
302
+ end_override_per_model = self._end_override_per_model
303
+ if end_override_per_model and self.override_end:
296
304
  # If the end date was provided explicitly by a user, then interval end for each individual
297
305
  # model should be ignored.
298
- interval_end_per_model = None
306
+ end_override_per_model = None
299
307
 
300
308
  # this deliberately uses the passed in self._execution_time and not self.execution_time cached property
301
309
  # the reason is because that there can be a delay between the Plan being built and the Plan being actually run,
@@ -322,7 +330,8 @@ class PlanBuilder:
322
330
  indirectly_modified=indirectly_modified,
323
331
  deployability_index=deployability_index,
324
332
  restatements=restatements,
325
- interval_end_per_model=interval_end_per_model,
333
+ start_override_per_model=self._start_override_per_model,
334
+ end_override_per_model=end_override_per_model,
326
335
  selected_models_to_backfill=self._backfill_models,
327
336
  models_to_backfill=models_to_backfill,
328
337
  effective_from=self._effective_from,
@@ -57,7 +57,8 @@ class Plan(PydanticModel, frozen=True):
57
57
 
58
58
  deployability_index: DeployabilityIndex
59
59
  restatements: t.Dict[SnapshotId, Interval]
60
- interval_end_per_model: t.Optional[t.Dict[str, int]]
60
+ start_override_per_model: t.Optional[t.Dict[str, datetime]]
61
+ end_override_per_model: t.Optional[t.Dict[str, datetime]]
61
62
 
62
63
  selected_models_to_backfill: t.Optional[t.Set[str]] = None
63
64
  """Models that have been explicitly selected for backfill by a user."""
@@ -177,7 +178,8 @@ class Plan(PydanticModel, frozen=True):
177
178
  execution_time=self.execution_time,
178
179
  restatements=self.restatements,
179
180
  deployability_index=self.deployability_index,
180
- interval_end_per_model=self.interval_end_per_model,
181
+ start_override_per_model=self.start_override_per_model,
182
+ end_override_per_model=self.end_override_per_model,
181
183
  end_bounded=self.end_bounded,
182
184
  ).items()
183
185
  if snapshot.is_model and missing
@@ -265,7 +267,8 @@ class Plan(PydanticModel, frozen=True):
265
267
  removed_snapshots=sorted(self.context_diff.removed_snapshots),
266
268
  requires_backfill=self.requires_backfill,
267
269
  models_to_backfill=self.models_to_backfill,
268
- interval_end_per_model=self.interval_end_per_model,
270
+ start_override_per_model=self.start_override_per_model,
271
+ end_override_per_model=self.end_override_per_model,
269
272
  execution_time=self.execution_time,
270
273
  disabled_restatement_models={
271
274
  s.name
@@ -303,7 +306,8 @@ class EvaluatablePlan(PydanticModel):
303
306
  removed_snapshots: t.List[SnapshotId]
304
307
  requires_backfill: bool
305
308
  models_to_backfill: t.Optional[t.Set[str]] = None
306
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None
309
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None
310
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None
307
311
  execution_time: t.Optional[TimeLike] = None
308
312
  disabled_restatement_models: t.Set[str]
309
313
  environment_statements: t.Optional[t.List[EnvironmentStatements]] = None
@@ -256,7 +256,8 @@ class BuiltInPlanEvaluator(PlanEvaluator):
256
256
  plan.end,
257
257
  execution_time=plan.execution_time,
258
258
  end_bounded=plan.end_bounded,
259
- interval_end_per_model=plan.interval_end_per_model,
259
+ start_override_per_model=plan.start_override_per_model,
260
+ end_override_per_model=plan.end_override_per_model,
260
261
  )
261
262
 
262
263
  if completion_status.is_failure:
@@ -524,7 +524,8 @@ class PlanStagesBuilder:
524
524
  },
525
525
  deployability_index=deployability_index,
526
526
  end_bounded=plan.end_bounded,
527
- interval_end_per_model=plan.interval_end_per_model,
527
+ start_override_per_model=plan.start_override_per_model,
528
+ end_override_per_model=plan.end_override_per_model,
528
529
  )
529
530
 
530
531
  def _get_audit_only_snapshots(
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
  import logging
3
3
  import typing as t
4
4
  import time
5
+ from datetime import datetime
5
6
  from sqlglot import exp
6
7
  from sqlmesh.core import constants as c
7
8
  from sqlmesh.core.console import Console, get_console
@@ -105,7 +106,8 @@ class Scheduler:
105
106
  execution_time: t.Optional[TimeLike] = None,
106
107
  deployability_index: t.Optional[DeployabilityIndex] = None,
107
108
  restatements: t.Optional[t.Dict[SnapshotId, Interval]] = None,
108
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
109
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
110
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
109
111
  ignore_cron: bool = False,
110
112
  end_bounded: bool = False,
111
113
  selected_snapshots: t.Optional[t.Set[str]] = None,
@@ -123,7 +125,8 @@ class Scheduler:
123
125
  execution_time: The date/time reference to use for execution time. Defaults to now.
124
126
  deployability_index: Determines snapshots that are deployable in the context of this evaluation.
125
127
  restatements: A set of snapshot names being restated.
126
- interval_end_per_model: The mapping from model FQNs to target end dates.
128
+ start_override_per_model: A mapping of model FQNs to target start dates.
129
+ end_override_per_model: A mapping of model FQNs to target end dates.
127
130
  ignore_cron: Whether to ignore the node's cron schedule.
128
131
  end_bounded: If set to true, the returned intervals will be bounded by the target end date, disregarding lookback,
129
132
  allow_partials, and other attributes that could cause the intervals to exceed the target end date.
@@ -136,7 +139,8 @@ class Scheduler:
136
139
  execution_time=execution_time,
137
140
  deployability_index=deployability_index,
138
141
  restatements=restatements,
139
- interval_end_per_model=interval_end_per_model,
142
+ start_override_per_model=start_override_per_model,
143
+ end_override_per_model=end_override_per_model,
140
144
  ignore_cron=ignore_cron,
141
145
  end_bounded=end_bounded,
142
146
  )
@@ -212,7 +216,8 @@ class Scheduler:
212
216
  end: t.Optional[TimeLike] = None,
213
217
  execution_time: t.Optional[TimeLike] = None,
214
218
  restatements: t.Optional[t.Dict[SnapshotId, Interval]] = None,
215
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
219
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
220
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
216
221
  ignore_cron: bool = False,
217
222
  end_bounded: bool = False,
218
223
  selected_snapshots: t.Optional[t.Set[str]] = None,
@@ -227,7 +232,8 @@ class Scheduler:
227
232
  end=end,
228
233
  execution_time=execution_time,
229
234
  remove_intervals=restatements,
230
- interval_end_per_model=interval_end_per_model,
235
+ start_override_per_model=start_override_per_model,
236
+ end_override_per_model=end_override_per_model,
231
237
  ignore_cron=ignore_cron,
232
238
  end_bounded=end_bounded,
233
239
  selected_snapshots=selected_snapshots,
@@ -243,7 +249,8 @@ class Scheduler:
243
249
  start: TimeLike,
244
250
  end: TimeLike,
245
251
  execution_time: t.Optional[TimeLike] = None,
246
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
252
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
253
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
247
254
  ignore_cron: bool = False,
248
255
  end_bounded: bool = False,
249
256
  selected_snapshots: t.Optional[t.Set[str]] = None,
@@ -266,7 +273,8 @@ class Scheduler:
266
273
  end=end,
267
274
  execution_time=execution_time,
268
275
  remove_intervals=remove_intervals,
269
- interval_end_per_model=interval_end_per_model,
276
+ start_override_per_model=start_override_per_model,
277
+ end_override_per_model=end_override_per_model,
270
278
  ignore_cron=ignore_cron,
271
279
  end_bounded=end_bounded,
272
280
  selected_snapshots=selected_snapshots,
@@ -565,7 +573,8 @@ class Scheduler:
565
573
  end: t.Optional[TimeLike] = None,
566
574
  execution_time: t.Optional[TimeLike] = None,
567
575
  remove_intervals: t.Optional[t.Dict[SnapshotId, Interval]] = None,
568
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
576
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
577
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
569
578
  ignore_cron: bool = False,
570
579
  end_bounded: bool = False,
571
580
  selected_snapshots: t.Optional[t.Set[str]] = None,
@@ -586,7 +595,8 @@ class Scheduler:
586
595
  execution_time: The date/time time reference to use for execution time. Defaults to now.
587
596
  remove_intervals: A dict of snapshots to their intervals. For evaluation, these are the intervals that will be restated. For audits,
588
597
  these are the intervals that will be reaudited
589
- interval_end_per_model: The mapping from model FQNs to target end dates.
598
+ start_override_per_model: A mapping of model FQNs to target start dates.
599
+ end_override_per_model: A mapping of model FQNs to target end dates.
590
600
  ignore_cron: Whether to ignore the node's cron schedule.
591
601
  end_bounded: If set to true, the evaluated intervals will be bounded by the target end date, disregarding lookback,
592
602
  allow_partials, and other attributes that could cause the intervals to exceed the target end date.
@@ -634,7 +644,8 @@ class Scheduler:
634
644
  execution_time,
635
645
  deployability_index=deployability_index,
636
646
  restatements=remove_intervals,
637
- interval_end_per_model=interval_end_per_model,
647
+ start_override_per_model=start_override_per_model,
648
+ end_override_per_model=end_override_per_model,
638
649
  ignore_cron=ignore_cron,
639
650
  end_bounded=end_bounded,
640
651
  selected_snapshots=selected_snapshots,
@@ -797,7 +808,8 @@ def merged_missing_intervals(
797
808
  execution_time: t.Optional[TimeLike] = None,
798
809
  deployability_index: t.Optional[DeployabilityIndex] = None,
799
810
  restatements: t.Optional[t.Dict[SnapshotId, Interval]] = None,
800
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
811
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
812
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
801
813
  ignore_cron: bool = False,
802
814
  end_bounded: bool = False,
803
815
  ) -> SnapshotToIntervals:
@@ -815,7 +827,8 @@ def merged_missing_intervals(
815
827
  execution_time: The date/time reference to use for execution time. Defaults to now.
816
828
  deployability_index: Determines snapshots that are deployable in the context of this evaluation.
817
829
  restatements: A set of snapshot names being restated.
818
- interval_end_per_model: The mapping from model FQNs to target end dates.
830
+ start_override_per_model: A mapping of model FQNs to target start dates.
831
+ end_override_per_model: A mapping of model FQNs to target end dates.
819
832
  ignore_cron: Whether to ignore the node's cron schedule.
820
833
  end_bounded: If set to true, the returned intervals will be bounded by the target end date, disregarding lookback,
821
834
  allow_partials, and other attributes that could cause the intervals to exceed the target end date.
@@ -830,7 +843,8 @@ def merged_missing_intervals(
830
843
  deployability_index=deployability_index,
831
844
  execution_time=execution_time or now_timestamp(),
832
845
  restatements=restatements,
833
- interval_end_per_model=interval_end_per_model,
846
+ start_override_per_model=start_override_per_model,
847
+ end_override_per_model=end_override_per_model,
834
848
  ignore_cron=ignore_cron,
835
849
  end_bounded=end_bounded,
836
850
  )
@@ -844,7 +858,8 @@ def compute_interval_params(
844
858
  deployability_index: t.Optional[DeployabilityIndex] = None,
845
859
  execution_time: t.Optional[TimeLike] = None,
846
860
  restatements: t.Optional[t.Dict[SnapshotId, Interval]] = None,
847
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
861
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
862
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
848
863
  ignore_cron: bool = False,
849
864
  end_bounded: bool = False,
850
865
  ) -> SnapshotToIntervals:
@@ -862,7 +877,8 @@ def compute_interval_params(
862
877
  deployability_index: Determines snapshots that are deployable in the context of this evaluation.
863
878
  execution_time: The date/time reference to use for execution time.
864
879
  restatements: A dict of snapshot names being restated and their intervals.
865
- interval_end_per_model: The mapping from model FQNs to target end dates.
880
+ start_override_per_model: A mapping of model FQNs to target start dates.
881
+ end_override_per_model: A mapping of model FQNs to target end dates.
866
882
  ignore_cron: Whether to ignore the node's cron schedule.
867
883
  end_bounded: If set to true, the returned intervals will be bounded by the target end date, disregarding lookback,
868
884
  allow_partials, and other attributes that could cause the intervals to exceed the target end date.
@@ -879,7 +895,8 @@ def compute_interval_params(
879
895
  execution_time=execution_time,
880
896
  restatements=restatements,
881
897
  deployability_index=deployability_index,
882
- interval_end_per_model=interval_end_per_model,
898
+ start_override_per_model=start_override_per_model,
899
+ end_override_per_model=end_override_per_model,
883
900
  ignore_cron=ignore_cron,
884
901
  end_bounded=end_bounded,
885
902
  ).items():
@@ -1469,7 +1469,8 @@ class DeployabilityIndex(PydanticModel, frozen=True):
1469
1469
  def create(
1470
1470
  cls,
1471
1471
  snapshots: t.Dict[SnapshotId, Snapshot] | t.Collection[Snapshot],
1472
- start: t.Optional[TimeLike] = None,
1472
+ start: t.Optional[TimeLike] = None, # plan start
1473
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
1473
1474
  ) -> DeployabilityIndex:
1474
1475
  if not isinstance(snapshots, dict):
1475
1476
  snapshots = {s.snapshot_id: s for s in snapshots}
@@ -1477,6 +1478,7 @@ class DeployabilityIndex(PydanticModel, frozen=True):
1477
1478
  deployability_mapping: t.Dict[SnapshotId, bool] = {}
1478
1479
  children_deployability_mapping: t.Dict[SnapshotId, bool] = {}
1479
1480
  representative_shared_version_ids: t.Set[SnapshotId] = set()
1481
+ start_override_per_model = start_override_per_model or {}
1480
1482
 
1481
1483
  start_date_cache: t.Optional[t.Dict[str, datetime]] = {}
1482
1484
 
@@ -1499,12 +1501,12 @@ class DeployabilityIndex(PydanticModel, frozen=True):
1499
1501
  snapshot.is_model and snapshot.model.auto_restatement_cron is not None
1500
1502
  )
1501
1503
 
1504
+ snapshot_start = start_override_per_model.get(
1505
+ node.name, start_date(snapshot, snapshots.values(), cache=start_date_cache)
1506
+ )
1507
+
1502
1508
  is_valid_start = (
1503
- snapshot.is_valid_start(
1504
- start, start_date(snapshot, snapshots.values(), start_date_cache)
1505
- )
1506
- if start is not None
1507
- else True
1509
+ snapshot.is_valid_start(start, snapshot_start) if start is not None else True
1508
1510
  )
1509
1511
 
1510
1512
  if (
@@ -1800,7 +1802,8 @@ def missing_intervals(
1800
1802
  execution_time: t.Optional[TimeLike] = None,
1801
1803
  restatements: t.Optional[t.Dict[SnapshotId, Interval]] = None,
1802
1804
  deployability_index: t.Optional[DeployabilityIndex] = None,
1803
- interval_end_per_model: t.Optional[t.Dict[str, int]] = None,
1805
+ start_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
1806
+ end_override_per_model: t.Optional[t.Dict[str, datetime]] = None,
1804
1807
  ignore_cron: bool = False,
1805
1808
  end_bounded: bool = False,
1806
1809
  ) -> t.Dict[Snapshot, Intervals]:
@@ -1817,13 +1820,15 @@ def missing_intervals(
1817
1820
  else earliest_start_date(snapshots, cache=cache, relative_to=end_date)
1818
1821
  )
1819
1822
  restatements = restatements or {}
1820
- interval_end_per_model = interval_end_per_model or {}
1823
+ start_override_per_model = start_override_per_model or {}
1824
+ end_override_per_model = end_override_per_model or {}
1821
1825
  deployability_index = deployability_index or DeployabilityIndex.all_deployable()
1822
1826
 
1823
1827
  for snapshot in snapshots.values():
1824
1828
  if not snapshot.evaluatable:
1825
1829
  continue
1826
- snapshot_start_date = start_dt
1830
+
1831
+ snapshot_start_date = start_override_per_model.get(snapshot.name, start_dt)
1827
1832
  snapshot_end_date: TimeLike = end_date
1828
1833
 
1829
1834
  restated_interval = restatements.get(snapshot.snapshot_id)
@@ -1833,9 +1838,9 @@ def missing_intervals(
1833
1838
  snapshot.intervals = snapshot.intervals.copy()
1834
1839
  snapshot.remove_interval(restated_interval)
1835
1840
 
1836
- existing_interval_end = interval_end_per_model.get(snapshot.name)
1841
+ existing_interval_end = end_override_per_model.get(snapshot.name)
1837
1842
  if existing_interval_end:
1838
- if to_timestamp(snapshot_start_date) >= existing_interval_end:
1843
+ if snapshot_start_date >= existing_interval_end:
1839
1844
  # The start exceeds the provided interval end, so we can skip this snapshot
1840
1845
  # since it doesn't have missing intervals by definition
1841
1846
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.199.1.dev16
3
+ Version: 0.199.1.dev18
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License