recce-nightly 0.54.0.20250218__tar.gz → 0.55.0.20250220__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.54.0.20250218 → recce_nightly-0.55.0.20250220}/PKG-INFO +1 -1
- recce_nightly-0.55.0.20250220/recce/VERSION +1 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/adapter/dbt_adapter/__init__.py +27 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/404.html +1 -1
- recce_nightly-0.55.0.20250220/recce/data/_next/static/chunks/app/page-a82caa413d353ee4.js +1 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/index.html +2 -2
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/index.txt +2 -2
- recce_nightly-0.55.0.20250220/recce/util/cll.py +189 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/PKG-INFO +1 -1
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/SOURCES.txt +4 -3
- recce_nightly-0.54.0.20250218/recce/VERSION +0 -1
- recce_nightly-0.54.0.20250218/recce/data/_next/static/chunks/app/page-ea34b9fd5e919913.js +0 -1
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/LICENSE +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/README.md +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/adapter/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/adapter/base.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/adapter/dbt_adapter/dbt_version.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/adapter/sqlmesh_adapter.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/apis/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/apis/check_api.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/apis/check_func.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/apis/run_api.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/apis/run_func.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/artifact.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/cli.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/config.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/core.py +0 -0
- {recce_nightly-0.54.0.20250218/recce/data/_next/static/EetxLM2oU_AyaB7mtM8fd → recce_nightly-0.55.0.20250220/recce/data/_next/static/QkPW3VTSbTMwgQRBH2Ook}/_buildManifest.js +0 -0
- {recce_nightly-0.54.0.20250218/recce/data/_next/static/EetxLM2oU_AyaB7mtM8fd → recce_nightly-0.55.0.20250220/recce/data/_next/static/QkPW3VTSbTMwgQRBH2Ook}/_ssgManifest.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/157e448a-49151cad1ec51175.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/29e3cc0d-490dbff344996865.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/312-3e9b49b718b98737.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/323-9565a741f1447d32.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/36e1c10d-3bcdd9bb8564108c.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/3998a672-e71829c331c77ccb.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/450c323b-79414be6f43ef15c.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/47d8844f-ccb4e71fbabd12f3.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/6dc81886-03da5372308c376d.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/7a8a3e83-f7fe5f14c56108bf.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/7f27ae6c-c484e79185298424.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/868e7b5c-36d94ba5a58a2e6a.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/9746af58-daab848e55b5faf7.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/a30376cd-ea4617387c84b12e.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/app/_not-found/page-c2ee18b5ec3e3d57.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/app/layout-5b30ab0207459cb8.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/b3b1872b-97ea0be5bd9b42bc.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/b63b1b3f-13deddaaba264453.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/c132bf7d-740a7144e614cb2d.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/ce84277d-ced9559f73764a27.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/cf0511cf-88e5bf54e88504a3.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/fee69bc6-2cf346c884a74e9d.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/main-45628b9d5f140527.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/main-app-19c0918a6bb54549.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/pages/_app-ff7f75fed61fbef3.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/pages/_error-5e587f051118d074.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/chunks/webpack-300961f547f48fe7.js +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/css/1d7428fe54fca42f.css +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.5c8b3804.woff +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.c03acce9.woff2 +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.83d3554a.woff2 +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.8a4a9645.woff +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-latin-800-normal.388abfc2.woff2 +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-latin-800-normal.e7b55ea8.woff +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.40cba3c6.woff +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.85728e97.woff2 +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.0bd05041.woff +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.dfbbc7ba.woff2 +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/favicon.ico +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/imgs/feedback/thumbs-down.png +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/imgs/feedback/thumbs-up.png +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/data/logo/recce-logo-white.png +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/diff.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/event/CONFIG +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/event/SENTRY_DNS +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/event/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/event/collector.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/event/track.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/exceptions.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/git.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/github.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/models/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/models/check.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/models/run.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/models/types.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/pull_request.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/run.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/server.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/state.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/summary.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/core.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/dataframe.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/histogram.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/lineage.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/profile.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/query.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/rowcount.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/schema.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/top_k.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/tasks/valuediff.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/breaking.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/cache.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/io.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/logger.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/pydantic_model.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/recce_cloud.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/util/singleton.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce/yaml/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/dependency_links.txt +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/entry_points.txt +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/requires.txt +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/recce_nightly.egg-info/top_level.txt +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/setup.cfg +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/setup.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/dbt_adapter/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/dbt_adapter/conftest.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/adapter/dbt_adapter/test_selector.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/__init__.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/conftest.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_histogram.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_lineage.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_preset_checks.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_profile.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_query.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_row_count.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_schema.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_top_k.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/tasks/test_valuediff.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_cli.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_config.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_core.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_dbt.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_pull_request.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_server.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_state.py +0 -0
- {recce_nightly-0.54.0.20250218 → recce_nightly-0.55.0.20250220}/tests/test_summary.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.55.0.20250220
|
|
@@ -9,6 +9,8 @@ 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
|
+
from recce.util.cll import cll
|
|
13
|
+
|
|
12
14
|
try:
|
|
13
15
|
import agate
|
|
14
16
|
import dbt.adapters.factory
|
|
@@ -677,6 +679,31 @@ class DbtAdapter(BaseAdapter):
|
|
|
677
679
|
continue
|
|
678
680
|
parent_map[k] = [parent for parent in parents if parent in nodeIds]
|
|
679
681
|
|
|
682
|
+
# Handle column-level lineage, only enable if env var is set to true
|
|
683
|
+
if os.getenv('RECCE_CLL_ENABLED') == 'true':
|
|
684
|
+
for node in nodes.values():
|
|
685
|
+
if node.get('resource_type') != 'model':
|
|
686
|
+
continue
|
|
687
|
+
|
|
688
|
+
if node.get('raw_code') is None:
|
|
689
|
+
continue
|
|
690
|
+
|
|
691
|
+
compiled_sql = self.generate_sql(node.get('raw_code'), base=base)
|
|
692
|
+
schema = {}
|
|
693
|
+
for parent_id in parent_map[node.get('id')]:
|
|
694
|
+
parent_node = nodes.get(parent_id)
|
|
695
|
+
if parent_node is None:
|
|
696
|
+
continue
|
|
697
|
+
columns = parent_node.get('columns') or {}
|
|
698
|
+
schema[parent_node['name']] = {
|
|
699
|
+
name: column.get('type') for name, column in columns.items()
|
|
700
|
+
}
|
|
701
|
+
column_lineage = cll(compiled_sql, schema=schema)
|
|
702
|
+
for name, column in node['columns'].items():
|
|
703
|
+
if name in column_lineage:
|
|
704
|
+
column['depends_on'] = column_lineage[name].depends_on
|
|
705
|
+
column['transformation_type'] = column_lineage[name].type
|
|
706
|
+
|
|
680
707
|
return dict(
|
|
681
708
|
parent_map=parent_map,
|
|
682
709
|
nodes=nodes,
|
|
@@ -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\":\"QkPW3VTSbTMwgQRBH2Ook\",\"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>
|