recce-nightly 0.52.0.20250122__tar.gz → 0.52.0.20250126__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.
- {recce_nightly-0.52.0.20250122/recce_nightly.egg-info → recce_nightly-0.52.0.20250126}/PKG-INFO +1 -1
- recce_nightly-0.52.0.20250126/recce/VERSION +1 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/dbt_adapter/__init__.py +13 -6
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/404.html +1 -1
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/index.html +1 -1
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/index.txt +1 -1
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/breaking.py +31 -21
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126/recce_nightly.egg-info}/PKG-INFO +1 -1
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/SOURCES.txt +2 -2
- recce_nightly-0.52.0.20250122/recce/VERSION +0 -1
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/LICENSE +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/README.md +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/base.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/dbt_adapter/dbt_version.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/sqlmesh_adapter.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/apis/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/apis/check_api.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/apis/check_func.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/apis/run_api.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/apis/run_func.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/artifact.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/cli.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/config.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/core.py +0 -0
- {recce_nightly-0.52.0.20250122/recce/data/_next/static/mT45cY9h3mPz3EfSTSSjY → recce_nightly-0.52.0.20250126/recce/data/_next/static/79raEzCsjmSMMSwf82Tf2}/_buildManifest.js +0 -0
- {recce_nightly-0.52.0.20250122/recce/data/_next/static/mT45cY9h3mPz3EfSTSSjY → recce_nightly-0.52.0.20250126/recce/data/_next/static/79raEzCsjmSMMSwf82Tf2}/_ssgManifest.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/157e448a-49151cad1ec51175.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/29e3cc0d-490dbff344996865.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/312-3e9b49b718b98737.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/323-9565a741f1447d32.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/36e1c10d-3bcdd9bb8564108c.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/3998a672-e71829c331c77ccb.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/450c323b-79414be6f43ef15c.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/47d8844f-ccb4e71fbabd12f3.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/6dc81886-03da5372308c376d.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/7a8a3e83-f7fe5f14c56108bf.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/7f27ae6c-c484e79185298424.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/868e7b5c-36d94ba5a58a2e6a.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/9746af58-daab848e55b5faf7.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/a30376cd-ea4617387c84b12e.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/app/_not-found/page-c2ee18b5ec3e3d57.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/app/layout-5b30ab0207459cb8.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/app/page-5fd8da415e5e06aa.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/b3b1872b-97ea0be5bd9b42bc.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/b63b1b3f-13deddaaba264453.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/c132bf7d-740a7144e614cb2d.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/ce84277d-ced9559f73764a27.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/cf0511cf-88e5bf54e88504a3.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/fee69bc6-2cf346c884a74e9d.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/main-45628b9d5f140527.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/main-app-19c0918a6bb54549.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/pages/_app-ff7f75fed61fbef3.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/pages/_error-5e587f051118d074.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/chunks/webpack-300961f547f48fe7.js +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/css/1d7428fe54fca42f.css +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.5c8b3804.woff +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.c03acce9.woff2 +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.83d3554a.woff2 +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.8a4a9645.woff +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-latin-800-normal.388abfc2.woff2 +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-latin-800-normal.e7b55ea8.woff +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.40cba3c6.woff +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.85728e97.woff2 +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.0bd05041.woff +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.dfbbc7ba.woff2 +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/favicon.ico +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/imgs/feedback/thumbs-down.png +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/imgs/feedback/thumbs-up.png +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/logo/recce-logo-white.png +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/diff.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/event/CONFIG +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/event/SENTRY_DNS +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/event/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/event/collector.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/event/track.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/exceptions.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/git.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/github.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/models/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/models/check.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/models/run.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/models/types.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/pull_request.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/run.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/server.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/state.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/summary.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/core.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/dataframe.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/histogram.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/lineage.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/profile.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/query.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/rowcount.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/schema.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/top_k.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/tasks/valuediff.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/cache.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/io.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/logger.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/pydantic_model.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/recce_cloud.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/singleton.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/yaml/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/dependency_links.txt +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/entry_points.txt +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/requires.txt +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/top_level.txt +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/setup.cfg +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/setup.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/dbt_adapter/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/dbt_adapter/conftest.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/adapter/dbt_adapter/test_selector.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/__init__.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/conftest.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_histogram.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_lineage.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_preset_checks.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_profile.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_query.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_row_count.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_schema.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_top_k.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_valuediff.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_cli.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_config.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_core.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_dbt.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_pull_request.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_server.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_state.py +0 -0
- {recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/test_summary.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.52.0.20250126
|
|
@@ -9,9 +9,14 @@ from functools import lru_cache
|
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from typing import Callable, Dict, List, Optional, Tuple, Iterator, Any, Set, Union, Literal, Type
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
import
|
|
14
|
-
|
|
12
|
+
try:
|
|
13
|
+
import agate
|
|
14
|
+
import dbt.adapters.factory
|
|
15
|
+
from dbt.contracts.state import PreviousState
|
|
16
|
+
except ImportError as e:
|
|
17
|
+
print("Error: dbt module not found. Please install it by running:")
|
|
18
|
+
print("pip install dbt-core dbt-<adapter>")
|
|
19
|
+
raise e
|
|
15
20
|
from watchdog.events import FileSystemEventHandler
|
|
16
21
|
from watchdog.observers import Observer
|
|
17
22
|
|
|
@@ -510,8 +515,9 @@ class DbtAdapter(BaseAdapter):
|
|
|
510
515
|
parser = SqlBlockParser(self.runtime_config, manifest, self.runtime_config)
|
|
511
516
|
|
|
512
517
|
if dbt_version >= dbt_version.parse('v1.8'):
|
|
513
|
-
from dbt_common.context import set_invocation_context
|
|
518
|
+
from dbt_common.context import set_invocation_context, get_invocation_context
|
|
514
519
|
set_invocation_context({})
|
|
520
|
+
get_invocation_context()._env = dict(os.environ)
|
|
515
521
|
|
|
516
522
|
node_id = str("generated_" + uuid.uuid4().hex)
|
|
517
523
|
node = parser.parse_remote(sql_template, node_id)
|
|
@@ -703,14 +709,15 @@ class DbtAdapter(BaseAdapter):
|
|
|
703
709
|
from recce.util.breaking import is_breaking_change
|
|
704
710
|
base_sql = self.generate_sql(base_node.get('raw_code'))
|
|
705
711
|
curr_sql = self.generate_sql(curr_node.get('raw_code'))
|
|
706
|
-
|
|
712
|
+
dialect = self.adapter.connections.TYPE
|
|
713
|
+
if not is_breaking_change(base_sql, curr_sql, dialect=dialect):
|
|
707
714
|
change_category = 'non-breaking'
|
|
708
715
|
except Exception:
|
|
709
716
|
pass
|
|
710
717
|
|
|
711
718
|
diff[key] = NodeDiff(change_status='modified', change_category=change_category)
|
|
712
719
|
elif base_node:
|
|
713
|
-
diff[key] = NodeDiff(
|
|
720
|
+
diff[key] = NodeDiff(change_status='removed')
|
|
714
721
|
elif curr_node:
|
|
715
722
|
diff[key] = NodeDiff(change_status='added')
|
|
716
723
|
return LineageDiff(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-300961f547f48fe7.js"/><script src="/_next/static/chunks/157e448a-49151cad1ec51175.js" async=""></script><script src="/_next/static/chunks/312-3e9b49b718b98737.js" async=""></script><script src="/_next/static/chunks/main-app-19c0918a6bb54549.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[16892,[],\"\"]\n3:I[60299,[],\"\"]\n4:I[43276,[],\"\"]\na:I[28103,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"79raEzCsjmSMMSwf82Tf2\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>
|
|
@@ -24,4 +24,4 @@
|
|
|
24
24
|
transparent 0%,
|
|
25
25
|
#3182ce 50%,
|
|
26
26
|
transparent 100%
|
|
27
|
-
);position:absolute;will-change:left;min-width:50%;-webkit-animation:animation-11lmxjq 1s ease infinite normal none running;animation:animation-11lmxjq 1s ease infinite normal none running;}@-webkit-keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}@keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}</style><div style="width:0%" data-indeterminate="" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="css-h5ends"></div></div></div><div class="css-0"></div></div></div></div><span></span><span id="__chakra_env" hidden=""></span><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/1d7428fe54fca42f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[16892,[],\"\"]\n4:I[38443,[],\"ClientPageRoot\"]\n5:I[17149,[\"524\",\"static/chunks/b3b1872b-97ea0be5bd9b42bc.js\",\"434\",\"static/chunks/868e7b5c-36d94ba5a58a2e6a.js\",\"678\",\"static/chunks/3998a672-e71829c331c77ccb.js\",\"509\",\"static/chunks/9746af58-daab848e55b5faf7.js\",\"648\",\"static/chunks/ce84277d-ced9559f73764a27.js\",\"989\",\"static/chunks/47d8844f-ccb4e71fbabd12f3.js\",\"147\",\"static/chunks/a30376cd-ea4617387c84b12e.js\",\"995\",\"static/chunks/fee69bc6-2cf346c884a74e9d.js\",\"739\",\"static/chunks/7a8a3e83-f7fe5f14c56108bf.js\",\"283\",\"static/chunks/450c323b-79414be6f43ef15c.js\",\"303\",\"static/chunks/36e1c10d-3bcdd9bb8564108c.js\",\"22\",\"static/chunks/29e3cc0d-490dbff344996865.js\",\"25\",\"static/chunks/b63b1b3f-13deddaaba264453.js\",\"355\",\"static/chunks/7f27ae6c-c484e79185298424.js\",\"495\",\"static/chunks/6dc81886-03da5372308c376d.js\",\"599\",\"static/chunks/c132bf7d-740a7144e614cb2d.js\",\"852\",\"static/chunks/cf0511cf-88e5bf54e88504a3.js\",\"323\",\"static/chunks/323-9565a741f1447d32.js\",\"931\",\"static/chunks/app/page-5fd8da415e5e06aa.js\"],\"default\",1]\n6:I[60299,[],\"\"]\n7:I[43276,[],\"\"]\n9:I[28103,[],\"\"]\na:[]\n0:[\"$\",\"$L2\",null,{\"buildId\":\"
|
|
27
|
+
);position:absolute;will-change:left;min-width:50%;-webkit-animation:animation-11lmxjq 1s ease infinite normal none running;animation:animation-11lmxjq 1s ease infinite normal none running;}@-webkit-keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}@keyframes animation-11lmxjq{0%{left:-40%;}100%{left:100%;}}</style><div style="width:0%" data-indeterminate="" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="css-h5ends"></div></div></div><div class="css-0"></div></div></div></div><span></span><span id="__chakra_env" hidden=""></span><script src="/_next/static/chunks/webpack-300961f547f48fe7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/1d7428fe54fca42f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[16892,[],\"\"]\n4:I[38443,[],\"ClientPageRoot\"]\n5:I[17149,[\"524\",\"static/chunks/b3b1872b-97ea0be5bd9b42bc.js\",\"434\",\"static/chunks/868e7b5c-36d94ba5a58a2e6a.js\",\"678\",\"static/chunks/3998a672-e71829c331c77ccb.js\",\"509\",\"static/chunks/9746af58-daab848e55b5faf7.js\",\"648\",\"static/chunks/ce84277d-ced9559f73764a27.js\",\"989\",\"static/chunks/47d8844f-ccb4e71fbabd12f3.js\",\"147\",\"static/chunks/a30376cd-ea4617387c84b12e.js\",\"995\",\"static/chunks/fee69bc6-2cf346c884a74e9d.js\",\"739\",\"static/chunks/7a8a3e83-f7fe5f14c56108bf.js\",\"283\",\"static/chunks/450c323b-79414be6f43ef15c.js\",\"303\",\"static/chunks/36e1c10d-3bcdd9bb8564108c.js\",\"22\",\"static/chunks/29e3cc0d-490dbff344996865.js\",\"25\",\"static/chunks/b63b1b3f-13deddaaba264453.js\",\"355\",\"static/chunks/7f27ae6c-c484e79185298424.js\",\"495\",\"static/chunks/6dc81886-03da5372308c376d.js\",\"599\",\"static/chunks/c132bf7d-740a7144e614cb2d.js\",\"852\",\"static/chunks/cf0511cf-88e5bf54e88504a3.js\",\"323\",\"static/chunks/323-9565a741f1447d32.js\",\"931\",\"static/chunks/app/page-5fd8da415e5e06aa.js\"],\"default\",1]\n6:I[60299,[],\"\"]\n7:I[43276,[],\"\"]\n9:I[28103,[],\"\"]\na:[]\n0:[\"$\",\"$L2\",null,{\"buildId\":\"79raEzCsjmSMMSwf82Tf2\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1d7428fe54fca42f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helv"])</script><script>self.__next_f.push([1,"etica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}]]\n3:null\n"])</script></body></html>
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
3:I[17149,["524","static/chunks/b3b1872b-97ea0be5bd9b42bc.js","434","static/chunks/868e7b5c-36d94ba5a58a2e6a.js","678","static/chunks/3998a672-e71829c331c77ccb.js","509","static/chunks/9746af58-daab848e55b5faf7.js","648","static/chunks/ce84277d-ced9559f73764a27.js","989","static/chunks/47d8844f-ccb4e71fbabd12f3.js","147","static/chunks/a30376cd-ea4617387c84b12e.js","995","static/chunks/fee69bc6-2cf346c884a74e9d.js","739","static/chunks/7a8a3e83-f7fe5f14c56108bf.js","283","static/chunks/450c323b-79414be6f43ef15c.js","303","static/chunks/36e1c10d-3bcdd9bb8564108c.js","22","static/chunks/29e3cc0d-490dbff344996865.js","25","static/chunks/b63b1b3f-13deddaaba264453.js","355","static/chunks/7f27ae6c-c484e79185298424.js","495","static/chunks/6dc81886-03da5372308c376d.js","599","static/chunks/c132bf7d-740a7144e614cb2d.js","852","static/chunks/cf0511cf-88e5bf54e88504a3.js","323","static/chunks/323-9565a741f1447d32.js","931","static/chunks/app/page-5fd8da415e5e06aa.js"],"default",1]
|
|
3
3
|
4:I[60299,[],""]
|
|
4
4
|
5:I[43276,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["79raEzCsjmSMMSwf82Tf2",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1d7428fe54fca42f.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[[null,["$","html",null,{"lang":"en","children":["$","body",null,{"suppressHydrationWarning":true,"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
|
|
6
6
|
6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"recce"}],["$","meta","3",{"name":"description","content":"Recce: Data validation toolkit for comprehensive PR review"}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"32x32"}]]
|
|
7
7
|
1:null
|
|
@@ -6,15 +6,21 @@ def is_breaking_change(original_sql, modified_sql, dialect=None):
|
|
|
6
6
|
return False
|
|
7
7
|
|
|
8
8
|
try:
|
|
9
|
-
from sqlglot import parse_one, diff
|
|
9
|
+
from sqlglot import parse_one, diff, Dialect
|
|
10
10
|
from sqlglot.diff import Insert, Keep
|
|
11
11
|
import sqlglot.expressions as exp
|
|
12
12
|
except ImportError:
|
|
13
13
|
return True
|
|
14
14
|
|
|
15
15
|
try:
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
dialect = Dialect.get(dialect)
|
|
17
|
+
|
|
18
|
+
def _parse(sql):
|
|
19
|
+
ast = parse_one(sql, dialect=dialect)
|
|
20
|
+
return optimize(ast, dialect=dialect)
|
|
21
|
+
|
|
22
|
+
original_ast = _parse(original_sql)
|
|
23
|
+
modified_ast = _parse(modified_sql)
|
|
18
24
|
except Exception:
|
|
19
25
|
return True
|
|
20
26
|
|
|
@@ -27,31 +33,35 @@ def is_breaking_change(original_sql, modified_sql, dialect=None):
|
|
|
27
33
|
e.expression for e in edits if isinstance(e, Insert)
|
|
28
34
|
}
|
|
29
35
|
|
|
36
|
+
VALID_EXPRESSIONS = (
|
|
37
|
+
exp.Where,
|
|
38
|
+
exp.Join,
|
|
39
|
+
exp.Order,
|
|
40
|
+
exp.Group,
|
|
41
|
+
exp.Having,
|
|
42
|
+
exp.Limit,
|
|
43
|
+
exp.Offset,
|
|
44
|
+
exp.Window,
|
|
45
|
+
exp.Union,
|
|
46
|
+
exp.Intersect,
|
|
47
|
+
exp.Except,
|
|
48
|
+
exp.Merge,
|
|
49
|
+
exp.Delete,
|
|
50
|
+
exp.Update,
|
|
51
|
+
exp.Insert,
|
|
52
|
+
exp.Subquery,
|
|
53
|
+
)
|
|
54
|
+
|
|
30
55
|
for edit in edits:
|
|
31
56
|
if isinstance(edit, Insert):
|
|
32
57
|
inserted_expr = edit.expression
|
|
33
|
-
VALID_EXPRESSIONS = (
|
|
34
|
-
exp.Where,
|
|
35
|
-
exp.Join,
|
|
36
|
-
exp.Order,
|
|
37
|
-
exp.Group,
|
|
38
|
-
exp.Having,
|
|
39
|
-
exp.Limit,
|
|
40
|
-
exp.Offset,
|
|
41
|
-
exp.Window,
|
|
42
|
-
exp.Union,
|
|
43
|
-
exp.Intersect,
|
|
44
|
-
exp.Except,
|
|
45
|
-
exp.Merge,
|
|
46
|
-
exp.Delete,
|
|
47
|
-
exp.Update,
|
|
48
|
-
exp.Insert,
|
|
49
|
-
exp.Subquery,
|
|
50
|
-
)
|
|
51
58
|
|
|
52
59
|
if isinstance(inserted_expr, VALID_EXPRESSIONS):
|
|
53
60
|
return True
|
|
54
61
|
|
|
62
|
+
if isinstance(inserted_expr, exp.UDTF):
|
|
63
|
+
return True
|
|
64
|
+
|
|
55
65
|
if (
|
|
56
66
|
not isinstance(inserted_expr.parent, exp.Select) and
|
|
57
67
|
inserted_expr.parent not in inserted_expressions
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/SOURCES.txt
RENAMED
|
@@ -30,6 +30,8 @@ recce/data/404.html
|
|
|
30
30
|
recce/data/favicon.ico
|
|
31
31
|
recce/data/index.html
|
|
32
32
|
recce/data/index.txt
|
|
33
|
+
recce/data/_next/static/79raEzCsjmSMMSwf82Tf2/_buildManifest.js
|
|
34
|
+
recce/data/_next/static/79raEzCsjmSMMSwf82Tf2/_ssgManifest.js
|
|
33
35
|
recce/data/_next/static/chunks/157e448a-49151cad1ec51175.js
|
|
34
36
|
recce/data/_next/static/chunks/29e3cc0d-490dbff344996865.js
|
|
35
37
|
recce/data/_next/static/chunks/312-3e9b49b718b98737.js
|
|
@@ -61,8 +63,6 @@ recce/data/_next/static/chunks/app/_not-found/page-c2ee18b5ec3e3d57.js
|
|
|
61
63
|
recce/data/_next/static/chunks/pages/_app-ff7f75fed61fbef3.js
|
|
62
64
|
recce/data/_next/static/chunks/pages/_error-5e587f051118d074.js
|
|
63
65
|
recce/data/_next/static/css/1d7428fe54fca42f.css
|
|
64
|
-
recce/data/_next/static/mT45cY9h3mPz3EfSTSSjY/_buildManifest.js
|
|
65
|
-
recce/data/_next/static/mT45cY9h3mPz3EfSTSSjY/_ssgManifest.js
|
|
66
66
|
recce/data/_next/static/media/montserrat-cyrillic-800-normal.5c8b3804.woff
|
|
67
67
|
recce/data/_next/static/media/montserrat-cyrillic-800-normal.c03acce9.woff2
|
|
68
68
|
recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.83d3554a.woff2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.52.0.20250122
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/adapter/sqlmesh_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/data/logo/recce-logo-white.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce/util/pydantic_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/requires.txt
RENAMED
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/recce_nightly.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_histogram.py
RENAMED
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_preset_checks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_row_count.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-0.52.0.20250122 → recce_nightly-0.52.0.20250126}/tests/tasks/test_valuediff.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|