sqlmesh 0.191.1.dev1__py3-none-any.whl → 0.191.1.dev3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sqlmesh/_version.py +2 -2
- sqlmesh/core/config/connection.py +120 -7
- sqlmesh/core/engine_adapter/mssql.py +4 -0
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/METADATA +6 -2
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/RECORD +52 -52
- web/client/dist/assets/{Audits-Pgs8N6IE.js → Audits-Dym5PKHr.js} +1 -1
- web/client/dist/assets/{Banner-DVsKo_4f.js → Banner-BeLNhV1V.js} +1 -1
- web/client/dist/assets/{ChevronDownIcon-nW8Gsfc8.js → ChevronDownIcon-DlnnZjiA.js} +1 -1
- web/client/dist/assets/{ChevronRightIcon-dV0VWg50.js → ChevronRightIcon-NPjpYxnn.js} +1 -1
- web/client/dist/assets/{Content-C0JdHN-F.js → Content-BArLdTPL.js} +1 -1
- web/client/dist/assets/{Content-DV3whS9M.js → Content-DA4WySs8.js} +1 -1
- web/client/dist/assets/{Data-CGN0CnIX.js → Data-y-N_Uq1L.js} +1 -1
- web/client/dist/assets/{DataCatalog-dshO8o7W.js → DataCatalog-Mvlf_ijD.js} +1 -1
- web/client/dist/assets/{Editor-BV_q4XNs.js → Editor-BDYpNxXe.js} +1 -1
- web/client/dist/assets/{Editor-UXlx6hNl.js → Editor-B_Eu4-Yv.js} +1 -1
- web/client/dist/assets/{Errors-BZn1A8l3.js → Errors-DUEZ6U5r.js} +1 -1
- web/client/dist/assets/{FileExplorer-Bc12UBVw.js → FileExplorer-BMMg4WGN.js} +1 -1
- web/client/dist/assets/{Footer-BEjDDaSE.js → Footer-BWuRBavm.js} +1 -1
- web/client/dist/assets/{Header-BUnVQQzm.js → Header-BnCvN-7r.js} +1 -1
- web/client/dist/assets/{Input-CYkPiHdu.js → Input-DAYXvlPo.js} +1 -1
- web/client/dist/assets/Lineage-CQy2gjl7.js +1 -0
- web/client/dist/assets/{ListboxShow-BoQTSdAK.js → ListboxShow-CneqBQlG.js} +1 -1
- web/client/dist/assets/{ModelLineage-Bkj5mIkh.js → ModelLineage-LwVobskP.js} +1 -1
- web/client/dist/assets/{Models-DnL6WJTs.js → Models-ybMoSGAy.js} +1 -1
- web/client/dist/assets/{Page-CGKYDGz-.js → Page-C1ITdiJq.js} +1 -1
- web/client/dist/assets/{Plan-DcGriIiA.js → Plan-CSCHEA-W.js} +1 -1
- web/client/dist/assets/{PlusCircleIcon-G0dx9NQm.js → PlusCircleIcon-fYWRjHku.js} +1 -1
- web/client/dist/assets/{ReportErrors-B7Mr6CPy.js → ReportErrors-BQ_A528A.js} +1 -1
- web/client/dist/assets/{Root-B7VWZ_LH.js → Root-x89Lo48v.js} +1 -1
- web/client/dist/assets/{SearchList-BGwZi6Iv.js → SearchList-B9qYyCPy.js} +1 -1
- web/client/dist/assets/{SelectEnvironment-Bq5yNhkA.js → SelectEnvironment-3fBvWeru.js} +1 -1
- web/client/dist/assets/{SourceList-ChD1dovq.js → SourceList-CFOEK1vr.js} +1 -1
- web/client/dist/assets/{SourceListItem-BSGVpkoq.js → SourceListItem-DA5_xyCX.js} +1 -1
- web/client/dist/assets/{SplitPane-3okSokAv.js → SplitPane-B78j2dEu.js} +1 -1
- web/client/dist/assets/{Tests-itL38hJI.js → Tests-P41ilYMc.js} +1 -1
- web/client/dist/assets/{Welcome-BP7z8PA1.js → Welcome-hiNJ1DDk.js} +1 -1
- web/client/dist/assets/{context-DxH8yaYv.js → context-BBu4gIRy.js} +17 -17
- web/client/dist/assets/{context-D1hHNguh.js → context-DQtNDhRm.js} +1 -1
- web/client/dist/assets/{editor-CiPjHBto.js → editor-BC8LxZn5.js} +1 -1
- web/client/dist/assets/{file-CafyWkYy.js → file-ugRqly-F.js} +1 -1
- web/client/dist/assets/{floating-ui.react-dom-C8DFRCmP.js → floating-ui.react-dom-BYz8RJrU.js} +1 -1
- web/client/dist/assets/{help-ClwWI4Vm.js → help-BMdD8bGm.js} +1 -1
- web/client/dist/assets/{index-GDI1mjkA.js → index-B3LoCbyu.js} +1 -1
- web/client/dist/assets/{index-Cd9H4oK_.js → index-_R_PVUU6.js} +1 -1
- web/client/dist/assets/{plan-YZ0KB3_p.js → plan-BxgjbT85.js} +1 -1
- web/client/dist/assets/{popover-Cy5cZxvQ.js → popover-h8iQeLew.js} +1 -1
- web/client/dist/assets/{project-BDbQ0VpX.js → project-BaeMGMbz.js} +1 -1
- web/client/dist/index.html +1 -1
- web/client/dist/assets/Lineage-Bb_XDi8Z.js +0 -1
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/WHEEL +0 -0
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/entry_points.txt +0 -0
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/licenses/LICENSE +0 -0
- {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/top_level.txt +0 -0
sqlmesh/_version.py
CHANGED
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '0.191.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 191, 1, '
|
|
20
|
+
__version__ = version = '0.191.1.dev3'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 191, 1, 'dev3')
|
|
@@ -55,11 +55,10 @@ MOTHERDUCK_TOKEN_REGEX = re.compile(r"(\?|\&)(motherduck_token=)(\S*)")
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
def _get_engine_import_validator(
|
|
58
|
-
import_name: str, engine_type: str, extra_name: t.Optional[str] = None
|
|
58
|
+
import_name: str, engine_type: str, extra_name: t.Optional[str] = None, decorate: bool = True
|
|
59
59
|
) -> t.Callable:
|
|
60
60
|
extra_name = extra_name or engine_type
|
|
61
61
|
|
|
62
|
-
@model_validator(mode="before")
|
|
63
62
|
def validate(cls: t.Any, data: t.Any) -> t.Any:
|
|
64
63
|
check_import = (
|
|
65
64
|
str_to_bool(str(data.pop("check_import", True))) if isinstance(data, dict) else True
|
|
@@ -83,7 +82,7 @@ def _get_engine_import_validator(
|
|
|
83
82
|
|
|
84
83
|
return data
|
|
85
84
|
|
|
86
|
-
return validate
|
|
85
|
+
return model_validator(mode="before")(validate) if decorate else validate
|
|
87
86
|
|
|
88
87
|
|
|
89
88
|
class ConnectionConfig(abc.ABC, BaseConfig):
|
|
@@ -1422,17 +1421,50 @@ class MSSQLConnectionConfig(ConnectionConfig):
|
|
|
1422
1421
|
autocommit: t.Optional[bool] = False
|
|
1423
1422
|
tds_version: t.Optional[str] = None
|
|
1424
1423
|
|
|
1424
|
+
# Driver options
|
|
1425
|
+
driver: t.Literal["pymssql", "pyodbc"] = "pymssql"
|
|
1426
|
+
# PyODBC specific options
|
|
1427
|
+
driver_name: t.Optional[str] = None # e.g. "ODBC Driver 18 for SQL Server"
|
|
1428
|
+
trust_server_certificate: t.Optional[bool] = None
|
|
1429
|
+
encrypt: t.Optional[bool] = None
|
|
1430
|
+
# Dictionary of arbitrary ODBC connection properties
|
|
1431
|
+
# See: https://learn.microsoft.com/en-us/sql/connect/odbc/dsn-connection-string-attribute
|
|
1432
|
+
odbc_properties: t.Optional[t.Dict[str, t.Any]] = None
|
|
1433
|
+
|
|
1425
1434
|
concurrent_tasks: int = 4
|
|
1426
1435
|
register_comments: bool = True
|
|
1427
1436
|
pre_ping: bool = True
|
|
1428
1437
|
|
|
1429
1438
|
type_: t.Literal["mssql"] = Field(alias="type", default="mssql")
|
|
1430
1439
|
|
|
1431
|
-
|
|
1440
|
+
@model_validator(mode="before")
|
|
1441
|
+
@classmethod
|
|
1442
|
+
def _mssql_engine_import_validator(cls, data: t.Any) -> t.Any:
|
|
1443
|
+
if not isinstance(data, dict):
|
|
1444
|
+
return data
|
|
1445
|
+
|
|
1446
|
+
driver = data.get("driver", "pymssql")
|
|
1447
|
+
|
|
1448
|
+
# Define the mapping of driver to import module and extra name
|
|
1449
|
+
driver_configs = {"pymssql": ("pymssql", "mssql"), "pyodbc": ("pyodbc", "mssql-odbc")}
|
|
1450
|
+
|
|
1451
|
+
if driver not in driver_configs:
|
|
1452
|
+
raise ValueError(f"Unsupported driver: {driver}")
|
|
1453
|
+
|
|
1454
|
+
import_module, extra_name = driver_configs[driver]
|
|
1455
|
+
|
|
1456
|
+
# Use _get_engine_import_validator with decorate=False to get the raw validation function
|
|
1457
|
+
# This avoids the __wrapped__ issue in Python 3.9
|
|
1458
|
+
validator_func = _get_engine_import_validator(
|
|
1459
|
+
import_module, driver, extra_name, decorate=False
|
|
1460
|
+
)
|
|
1461
|
+
|
|
1462
|
+
# Call the raw validation function directly
|
|
1463
|
+
return validator_func(cls, data)
|
|
1432
1464
|
|
|
1433
1465
|
@property
|
|
1434
1466
|
def _connection_kwargs_keys(self) -> t.Set[str]:
|
|
1435
|
-
|
|
1467
|
+
base_keys = {
|
|
1436
1468
|
"host",
|
|
1437
1469
|
"user",
|
|
1438
1470
|
"password",
|
|
@@ -1447,15 +1479,96 @@ class MSSQLConnectionConfig(ConnectionConfig):
|
|
|
1447
1479
|
"tds_version",
|
|
1448
1480
|
}
|
|
1449
1481
|
|
|
1482
|
+
if self.driver == "pyodbc":
|
|
1483
|
+
base_keys.update(
|
|
1484
|
+
{
|
|
1485
|
+
"driver_name",
|
|
1486
|
+
"trust_server_certificate",
|
|
1487
|
+
"encrypt",
|
|
1488
|
+
"odbc_properties",
|
|
1489
|
+
}
|
|
1490
|
+
)
|
|
1491
|
+
# Remove pymssql-specific parameters
|
|
1492
|
+
base_keys.discard("tds_version")
|
|
1493
|
+
base_keys.discard("conn_properties")
|
|
1494
|
+
|
|
1495
|
+
return base_keys
|
|
1496
|
+
|
|
1450
1497
|
@property
|
|
1451
1498
|
def _engine_adapter(self) -> t.Type[EngineAdapter]:
|
|
1452
1499
|
return engine_adapter.MSSQLEngineAdapter
|
|
1453
1500
|
|
|
1454
1501
|
@property
|
|
1455
1502
|
def _connection_factory(self) -> t.Callable:
|
|
1456
|
-
|
|
1503
|
+
if self.driver == "pymssql":
|
|
1504
|
+
import pymssql
|
|
1505
|
+
|
|
1506
|
+
return pymssql.connect
|
|
1507
|
+
|
|
1508
|
+
import pyodbc
|
|
1509
|
+
|
|
1510
|
+
def connect(**kwargs: t.Any) -> t.Callable:
|
|
1511
|
+
# Extract parameters for connection string
|
|
1512
|
+
host = kwargs.pop("host")
|
|
1513
|
+
port = kwargs.pop("port", 1433)
|
|
1514
|
+
database = kwargs.pop("database", "")
|
|
1515
|
+
user = kwargs.pop("user", None)
|
|
1516
|
+
password = kwargs.pop("password", None)
|
|
1517
|
+
driver_name = kwargs.pop("driver_name", "ODBC Driver 18 for SQL Server")
|
|
1518
|
+
trust_server_certificate = kwargs.pop("trust_server_certificate", False)
|
|
1519
|
+
encrypt = kwargs.pop("encrypt", True)
|
|
1520
|
+
login_timeout = kwargs.pop("login_timeout", 60)
|
|
1521
|
+
|
|
1522
|
+
# Build connection string
|
|
1523
|
+
conn_str_parts = [
|
|
1524
|
+
f"DRIVER={{{driver_name}}}",
|
|
1525
|
+
f"SERVER={host},{port}",
|
|
1526
|
+
]
|
|
1527
|
+
|
|
1528
|
+
if database:
|
|
1529
|
+
conn_str_parts.append(f"DATABASE={database}")
|
|
1530
|
+
|
|
1531
|
+
# Add security options
|
|
1532
|
+
conn_str_parts.append(f"Encrypt={'YES' if encrypt else 'NO'}")
|
|
1533
|
+
if trust_server_certificate:
|
|
1534
|
+
conn_str_parts.append("TrustServerCertificate=YES")
|
|
1535
|
+
|
|
1536
|
+
conn_str_parts.append(f"Connection Timeout={login_timeout}")
|
|
1537
|
+
|
|
1538
|
+
# Standard SQL Server authentication
|
|
1539
|
+
if user:
|
|
1540
|
+
conn_str_parts.append(f"UID={user}")
|
|
1541
|
+
if password:
|
|
1542
|
+
conn_str_parts.append(f"PWD={password}")
|
|
1543
|
+
|
|
1544
|
+
# Add any additional ODBC properties from the odbc_properties dictionary
|
|
1545
|
+
if self.odbc_properties:
|
|
1546
|
+
for key, value in self.odbc_properties.items():
|
|
1547
|
+
# Skip properties that we've already set above
|
|
1548
|
+
if key.lower() in (
|
|
1549
|
+
"driver",
|
|
1550
|
+
"server",
|
|
1551
|
+
"database",
|
|
1552
|
+
"uid",
|
|
1553
|
+
"pwd",
|
|
1554
|
+
"encrypt",
|
|
1555
|
+
"trustservercertificate",
|
|
1556
|
+
"connection timeout",
|
|
1557
|
+
):
|
|
1558
|
+
continue
|
|
1457
1559
|
|
|
1458
|
-
|
|
1560
|
+
# Handle boolean values properly
|
|
1561
|
+
if isinstance(value, bool):
|
|
1562
|
+
conn_str_parts.append(f"{key}={'YES' if value else 'NO'}")
|
|
1563
|
+
else:
|
|
1564
|
+
conn_str_parts.append(f"{key}={value}")
|
|
1565
|
+
|
|
1566
|
+
# Create the connection string
|
|
1567
|
+
conn_str = ";".join(conn_str_parts)
|
|
1568
|
+
|
|
1569
|
+
return pyodbc.connect(conn_str, autocommit=kwargs.get("autocommit", False))
|
|
1570
|
+
|
|
1571
|
+
return connect
|
|
1459
1572
|
|
|
1460
1573
|
@property
|
|
1461
1574
|
def _extra_engine_config(self) -> t.Dict[str, t.Any]:
|
|
@@ -219,6 +219,10 @@ class MSSQLEngineAdapter(
|
|
|
219
219
|
assert isinstance(df, pd.DataFrame)
|
|
220
220
|
temp_table = self._get_temp_table(target_table or "pandas")
|
|
221
221
|
|
|
222
|
+
# Return the superclass implementation if the connection pool doesn't support bulk_copy
|
|
223
|
+
if not hasattr(self._connection_pool.get(), "bulk_copy"):
|
|
224
|
+
return super()._df_to_source_queries(df, columns_to_types, batch_size, target_table)
|
|
225
|
+
|
|
222
226
|
def query_factory() -> Query:
|
|
223
227
|
# It is possible for the factory to be called multiple times and if so then the temp table will already
|
|
224
228
|
# be created so we skip creating again. This means we are assuming the first call is the same result
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlmesh
|
|
3
|
-
Version: 0.191.1.
|
|
3
|
+
Version: 0.191.1.dev3
|
|
4
4
|
Summary: Next-generation data transformation framework
|
|
5
5
|
Author-email: "TobikoData Inc." <engineering@tobikodata.com>
|
|
6
6
|
License: Apache License
|
|
@@ -233,7 +233,7 @@ Requires-Dist: pydantic>=2.0.0
|
|
|
233
233
|
Requires-Dist: requests
|
|
234
234
|
Requires-Dist: rich[jupyter]
|
|
235
235
|
Requires-Dist: ruamel.yaml
|
|
236
|
-
Requires-Dist: sqlglot[rs]~=26.
|
|
236
|
+
Requires-Dist: sqlglot[rs]~=26.27.0
|
|
237
237
|
Requires-Dist: tenacity
|
|
238
238
|
Requires-Dist: time-machine
|
|
239
239
|
Requires-Dist: json-stream
|
|
@@ -241,6 +241,8 @@ Provides-Extra: athena
|
|
|
241
241
|
Requires-Dist: PyAthena[Pandas]; extra == "athena"
|
|
242
242
|
Provides-Extra: azuresql
|
|
243
243
|
Requires-Dist: pymssql; extra == "azuresql"
|
|
244
|
+
Provides-Extra: azuresql-odbc
|
|
245
|
+
Requires-Dist: pyodbc; extra == "azuresql-odbc"
|
|
244
246
|
Provides-Extra: bigquery
|
|
245
247
|
Requires-Dist: google-cloud-bigquery[pandas]; extra == "bigquery"
|
|
246
248
|
Requires-Dist: google-cloud-bigquery-storage; extra == "bigquery"
|
|
@@ -311,6 +313,8 @@ Requires-Dist: langchain; extra == "llm"
|
|
|
311
313
|
Requires-Dist: openai; extra == "llm"
|
|
312
314
|
Provides-Extra: mssql
|
|
313
315
|
Requires-Dist: pymssql; extra == "mssql"
|
|
316
|
+
Provides-Extra: mssql-odbc
|
|
317
|
+
Requires-Dist: pyodbc; extra == "mssql-odbc"
|
|
314
318
|
Provides-Extra: mysql
|
|
315
319
|
Requires-Dist: pymysql; extra == "mysql"
|
|
316
320
|
Provides-Extra: mwaa
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
|
|
2
|
-
sqlmesh/_version.py,sha256=
|
|
2
|
+
sqlmesh/_version.py,sha256=0o8PqaZ61TGJezMllndhSdNJSn8QcvUlbiUMC9Uasas,528
|
|
3
3
|
sqlmesh/magics.py,sha256=gjzoxREb1XT8Yho_PQMlMqhhkLq_sEfBM8S3PTgxvWE,40337
|
|
4
4
|
sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -41,7 +41,7 @@ sqlmesh/core/config/__init__.py,sha256=b4gFb04tpeZpowqJD-7h3U3TLgxrpQhZahVEAo6VW
|
|
|
41
41
|
sqlmesh/core/config/base.py,sha256=t8NQmsgQoZSc-k0dlDiCb8t1jj0AMYdGZ-6se9q_Pks,4898
|
|
42
42
|
sqlmesh/core/config/categorizer.py,sha256=6vzUoNLjR6GOEb_2mYVz2TwmMv2BfldgHX2u-Le5HZs,1975
|
|
43
43
|
sqlmesh/core/config/common.py,sha256=-o_HoRFtR4u84frg_TLno7z7vS9II6ASiOayb59MKHo,2806
|
|
44
|
-
sqlmesh/core/config/connection.py,sha256=
|
|
44
|
+
sqlmesh/core/config/connection.py,sha256=AV7Bx64YCPQCv6J17bsgt-1SyIOAZSEqHIF8U3Nrfh0,82103
|
|
45
45
|
sqlmesh/core/config/feature_flag.py,sha256=JRcD31OG_t2cYc24meKbHDGB0iVID0P07V2oOeB_mgA,203
|
|
46
46
|
sqlmesh/core/config/format.py,sha256=6CXFbvnor56xbldKE-Vrm9k_ABRoY4v6vgIb3mCihiQ,1355
|
|
47
47
|
sqlmesh/core/config/gateway.py,sha256=tYngyqwd_4Qr9lhcv2hlvLvb_2pgYYtKu6hdGsTr-4I,1931
|
|
@@ -66,7 +66,7 @@ sqlmesh/core/engine_adapter/clickhouse.py,sha256=LoPdm_s_s-ZxS1XJPA3Et0iOHeJ1Lgq
|
|
|
66
66
|
sqlmesh/core/engine_adapter/databricks.py,sha256=8ZExPIeT3dDh9MTJW8udvmh9LiY-f9HkRAN1Q5Qebhs,14541
|
|
67
67
|
sqlmesh/core/engine_adapter/duckdb.py,sha256=rFv27sF1KXhJcrIuM9Zdfl2cyZNRXEF9qQczgODdK0M,4614
|
|
68
68
|
sqlmesh/core/engine_adapter/mixins.py,sha256=HMB0Z9O3p5jaTZMolKiWKqpVDZokf5GoI99YXwEJ8bc,22470
|
|
69
|
-
sqlmesh/core/engine_adapter/mssql.py,sha256=
|
|
69
|
+
sqlmesh/core/engine_adapter/mssql.py,sha256=e-PElz8RAUwD-fGCx-2oleg3UGxFH-f0AzXODR3hpm0,14140
|
|
70
70
|
sqlmesh/core/engine_adapter/mysql.py,sha256=lVC-siXZK3iSfqCmBjZNw8uy09Z8la8v8_oUZ-E2OwI,6966
|
|
71
71
|
sqlmesh/core/engine_adapter/postgres.py,sha256=fdQrsBodfGlNf8lZYkS99U_gjoDyaYKEVKLgScduv3I,4601
|
|
72
72
|
sqlmesh/core/engine_adapter/redshift.py,sha256=B4GsPggz-xyvBpx5qubvVwEeKF3vk7n5SMExL-Q5Ysw,16754
|
|
@@ -275,53 +275,53 @@ sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,116
|
|
|
275
275
|
sqlmesh/utils/rich.py,sha256=xNZyPCqEc4TAlJlsEthg-5eYUWpaizz0QjBzO7a1Yv4,1509
|
|
276
276
|
sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
|
|
277
277
|
sqlmesh/utils/yaml.py,sha256=np-WVcwmwsKghCgAj1OBBMsK1SXSRn4wR-H37cGiFr8,2282
|
|
278
|
-
sqlmesh-0.191.1.
|
|
278
|
+
sqlmesh-0.191.1.dev3.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
|
|
279
279
|
web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
280
|
-
web/client/dist/index.html,sha256=
|
|
281
|
-
web/client/dist/assets/Audits-
|
|
282
|
-
web/client/dist/assets/Banner-
|
|
283
|
-
web/client/dist/assets/ChevronDownIcon-
|
|
284
|
-
web/client/dist/assets/ChevronRightIcon-
|
|
285
|
-
web/client/dist/assets/Content-
|
|
286
|
-
web/client/dist/assets/Content-
|
|
287
|
-
web/client/dist/assets/Data-
|
|
288
|
-
web/client/dist/assets/DataCatalog-
|
|
289
|
-
web/client/dist/assets/Editor-
|
|
290
|
-
web/client/dist/assets/Editor-
|
|
291
|
-
web/client/dist/assets/Errors-
|
|
292
|
-
web/client/dist/assets/FileExplorer-
|
|
293
|
-
web/client/dist/assets/Footer-
|
|
294
|
-
web/client/dist/assets/Header-
|
|
295
|
-
web/client/dist/assets/Input-
|
|
296
|
-
web/client/dist/assets/Lineage-
|
|
297
|
-
web/client/dist/assets/ListboxShow-
|
|
298
|
-
web/client/dist/assets/ModelLineage-
|
|
299
|
-
web/client/dist/assets/Models-
|
|
300
|
-
web/client/dist/assets/Page-
|
|
301
|
-
web/client/dist/assets/Plan-
|
|
302
|
-
web/client/dist/assets/PlusCircleIcon-
|
|
303
|
-
web/client/dist/assets/ReportErrors-
|
|
304
|
-
web/client/dist/assets/Root-
|
|
305
|
-
web/client/dist/assets/SearchList-
|
|
306
|
-
web/client/dist/assets/SelectEnvironment-
|
|
307
|
-
web/client/dist/assets/SourceList-
|
|
308
|
-
web/client/dist/assets/SourceListItem-
|
|
309
|
-
web/client/dist/assets/SplitPane-
|
|
310
|
-
web/client/dist/assets/Tests-
|
|
311
|
-
web/client/dist/assets/Welcome-
|
|
280
|
+
web/client/dist/index.html,sha256=6S_GSRtPwXyr17YSqAWyZ2Prb2puyUa-UdLiZpFtwe4,5472
|
|
281
|
+
web/client/dist/assets/Audits-Dym5PKHr.js,sha256=UZFlxjPaLxv7b4C494dCxXDNY7918lWEkn2FghwDd4E,1041
|
|
282
|
+
web/client/dist/assets/Banner-BeLNhV1V.js,sha256=RX6fG5rT0qLOAyyUSudfYryK7jO5aRcD4iJrFl7otzY,1549
|
|
283
|
+
web/client/dist/assets/ChevronDownIcon-DlnnZjiA.js,sha256=jeuVzD3gOeIV4WmkCXXvdycyLakO7h2IHloUVY1uUjU,553
|
|
284
|
+
web/client/dist/assets/ChevronRightIcon-NPjpYxnn.js,sha256=cp9VGTzu5wbp90y74UDOsMLOnGTY_dCGfGOXw8Ald88,553
|
|
285
|
+
web/client/dist/assets/Content-BArLdTPL.js,sha256=CqMgqcmDVKlw5an4PEyKixzG9q5J7sGCOvocSwRDkbU,803
|
|
286
|
+
web/client/dist/assets/Content-DA4WySs8.js,sha256=NwEUsZsBjfNZEIHicc0BOtpunIkI5im8zoru01Dbprw,37525
|
|
287
|
+
web/client/dist/assets/Data-y-N_Uq1L.js,sha256=83SYqcwl8OZY4ssU-3-DDFAHRZgHOf-Ne2k0Ed7h-xo,984
|
|
288
|
+
web/client/dist/assets/DataCatalog-Mvlf_ijD.js,sha256=wcQ0k8hmeJffB_q7QpqxyUG1Zwk2FvZ0JWVoX8dpxNQ,122486
|
|
289
|
+
web/client/dist/assets/Editor-BDYpNxXe.js,sha256=J8cqBwBamDdXbshPQRToh_KyEugNI_khJAkds1Pw_Ks,1490
|
|
290
|
+
web/client/dist/assets/Editor-B_Eu4-Yv.js,sha256=P1CbqaksPxXv_2YeFoWC5jiPVzHrwM20KA1w2Lj_RnA,43614
|
|
291
|
+
web/client/dist/assets/Errors-DUEZ6U5r.js,sha256=vVKTtEjLHnNW_oLC08GwF0PtOH-TpyGesai2u5Ff8is,1361
|
|
292
|
+
web/client/dist/assets/FileExplorer-BMMg4WGN.js,sha256=TNMzz2C84e1BiVtIMb11otEHPDctejm7Eda8AjP6Pyo,87619
|
|
293
|
+
web/client/dist/assets/Footer-BWuRBavm.js,sha256=afgrfTKzZ9kUEGoNf46NMPPyacq8xMaOzsQhYv3Ng1A,700
|
|
294
|
+
web/client/dist/assets/Header-BnCvN-7r.js,sha256=W9Vg-YbZ5eUWFbylfoR57pvc0JyzhzACRMFBjC2nxjI,11424
|
|
295
|
+
web/client/dist/assets/Input-DAYXvlPo.js,sha256=bqp2Gn6Gt-CJgKvqeBL0Ovnjjwv6aRmtoWBllY-0b98,54814
|
|
296
|
+
web/client/dist/assets/Lineage-CQy2gjl7.js,sha256=lQbzu_SpnPXK4VWVJ06Ah7wmSmz_dBB4JMHrPpnA30A,1002
|
|
297
|
+
web/client/dist/assets/ListboxShow-CneqBQlG.js,sha256=kwbrPFWVZZnP2vLo_0cfT8xB3hS25jBK0bJglDneq_k,29911
|
|
298
|
+
web/client/dist/assets/ModelLineage-LwVobskP.js,sha256=yNcH-48Bv5YA5X91LJdRrEBcU-yRn6-tnFTYzlz_Rtg,15546
|
|
299
|
+
web/client/dist/assets/Models-ybMoSGAy.js,sha256=4MJq6cJQW-0kUimgusdUdWU_7pNeqKBf39_jxUeIra4,2194
|
|
300
|
+
web/client/dist/assets/Page-C1ITdiJq.js,sha256=Qswqe6RzVxcuWoLbBXnRhDnO6138CeLvXu5gnF-NiX0,589
|
|
301
|
+
web/client/dist/assets/Plan-CSCHEA-W.js,sha256=bbjpxu-4Lsl0_mrOM_oZ5GrIi-PKqBp1HKYLfRvWLYY,666
|
|
302
|
+
web/client/dist/assets/PlusCircleIcon-fYWRjHku.js,sha256=cfdJxLRjJdsEozNAJPJdJ9utpSt5XoofI2Ug2eb8iO8,11698
|
|
303
|
+
web/client/dist/assets/ReportErrors-BQ_A528A.js,sha256=OtGzXjSgjxc7bV5ZinxPKH9h-7DZuPuDFudMTUdOSWI,5419
|
|
304
|
+
web/client/dist/assets/Root-x89Lo48v.js,sha256=BBYz1QMaAMxwp2vc1W9m1P-x9Its32g7IY1RYzuGgZ4,42195
|
|
305
|
+
web/client/dist/assets/SearchList-B9qYyCPy.js,sha256=nxul2ilxVndrVOy9vkCU-jj6XW9YFkun3cOQY-10zJU,291947
|
|
306
|
+
web/client/dist/assets/SelectEnvironment-3fBvWeru.js,sha256=B6uRorNoRi0VyjvGTMsjmHe6i9Qpqyrrg0HZphiAZhI,37637
|
|
307
|
+
web/client/dist/assets/SourceList-CFOEK1vr.js,sha256=s9LyuCfcSk79ntEu7DCx9TjPjzmltr9Okx7_cAmDJrE,3205
|
|
308
|
+
web/client/dist/assets/SourceListItem-DA5_xyCX.js,sha256=L76Ypvj3decSC2A9Lw1Ro0P5z1YZRcZdDirsNhzGpEw,1106
|
|
309
|
+
web/client/dist/assets/SplitPane-B78j2dEu.js,sha256=u4dPjbC8Vlmip490SsTxH9z-AL7GQIDDC24EmqYtDFw,10439
|
|
310
|
+
web/client/dist/assets/Tests-P41ilYMc.js,sha256=RzJxG6SAVHXltFDk8jxjnAgKK3NFkuQqz7Rdvvgx36s,1014
|
|
311
|
+
web/client/dist/assets/Welcome-hiNJ1DDk.js,sha256=XrOjckbtRhvP917w_41n_8MityaUYATkqzMsC_rhplk,354
|
|
312
312
|
web/client/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js,sha256=WQq4BXvAMsPhT58adqrv_QHaYJQT-xKIiBnKBDPB-uk,239
|
|
313
|
-
web/client/dist/assets/context-
|
|
314
|
-
web/client/dist/assets/context-
|
|
315
|
-
web/client/dist/assets/editor-
|
|
316
|
-
web/client/dist/assets/file-
|
|
317
|
-
web/client/dist/assets/floating-ui.react-dom-
|
|
313
|
+
web/client/dist/assets/context-BBu4gIRy.js,sha256=KiPcEPcgqnfkTAh-7XjORjzoUeN_Wb96lSaOb1X35PQ,2043860
|
|
314
|
+
web/client/dist/assets/context-DQtNDhRm.js,sha256=d_2B6b2QY9AQyx4Im8QQWnfFiFR0WQvb8_alOL_N19E,4517
|
|
315
|
+
web/client/dist/assets/editor-BC8LxZn5.js,sha256=mGOMb2BEfvGdxK09zgpLkR-_HRcrwHQ31ze4DBPPCpA,7858
|
|
316
|
+
web/client/dist/assets/file-ugRqly-F.js,sha256=HKEKU-mjl4QPsk3_5GjFIJ_ojNZmfIOh2UbY-V-nVpU,2349
|
|
317
|
+
web/client/dist/assets/floating-ui.react-dom-BYz8RJrU.js,sha256=fQ7SqPhEC_HoOMv7YNFDhInHbhbDN4MALKtEGp5DDBE,22266
|
|
318
318
|
web/client/dist/assets/help-6Q7f7fjd.js,sha256=93Iri9PzpAiPgCyRsrQwABjP2jomAUNR7y2OqHxPf34,445
|
|
319
|
-
web/client/dist/assets/help-
|
|
320
|
-
web/client/dist/assets/index-
|
|
321
|
-
web/client/dist/assets/index-
|
|
322
|
-
web/client/dist/assets/plan-
|
|
323
|
-
web/client/dist/assets/popover-
|
|
324
|
-
web/client/dist/assets/project-
|
|
319
|
+
web/client/dist/assets/help-BMdD8bGm.js,sha256=8OGnu1hNX6za-w7Ub6t3Udan2_gCVfaMLICjsWQrug0,57842
|
|
320
|
+
web/client/dist/assets/index-B3LoCbyu.js,sha256=fdVY9ISbu7MpHY7VexAj5XLuT0FG1Jwz17NfJdib0cM,13617
|
|
321
|
+
web/client/dist/assets/index-_R_PVUU6.js,sha256=dWzte5RrLpa0mq7l0tbu_PPR62uDjzhHSqZ1yInWVPM,531620
|
|
322
|
+
web/client/dist/assets/plan-BxgjbT85.js,sha256=kwbW2Y4QG54-oaTMkcPfFLyXqxHTWfsokJdP0tIGJVo,13754
|
|
323
|
+
web/client/dist/assets/popover-h8iQeLew.js,sha256=enIWwyJWktkgiHGMflQuqaLYNW4RUXD6iLcxrAegCJA,68101
|
|
324
|
+
web/client/dist/assets/project-BaeMGMbz.js,sha256=HehlRtaQWZx3AePNJAw7q1KxkVQ_g1_lRUfgKKF7S9c,3338
|
|
325
325
|
web/client/dist/css/base.css,sha256=JApDmQihY7DRy5Bd30uYMm5NdMKm0QsEOMBsOuK7gyU,9048
|
|
326
326
|
web/client/dist/css/design.css,sha256=9VTHN-aYFVW6I53jUWbV8qaqo87tXyZTYSWFLC_sRQY,17057
|
|
327
327
|
web/client/dist/favicons/favicon.svg,sha256=ZPNT00J77RHUj6Nlh6Z4Puxnp_oq9RSqACjomhDRUXE,1586
|
|
@@ -393,8 +393,8 @@ web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodraf
|
|
|
393
393
|
web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
|
|
394
394
|
web/server/api/endpoints/plan.py,sha256=OYuQ_4dgbhG9ibTcX1a8mvYgH3ANxw9Fhbb4wg6QWqc,9222
|
|
395
395
|
web/server/api/endpoints/table_diff.py,sha256=SCy3-pr5x6bEEiOaZGCDbiHQhpgxwmnz3Acqa2Ie6jI,2090
|
|
396
|
-
sqlmesh-0.191.1.
|
|
397
|
-
sqlmesh-0.191.1.
|
|
398
|
-
sqlmesh-0.191.1.
|
|
399
|
-
sqlmesh-0.191.1.
|
|
400
|
-
sqlmesh-0.191.1.
|
|
396
|
+
sqlmesh-0.191.1.dev3.dist-info/METADATA,sha256=pK4M-Y3dVREDQjEwPk0yvcsdfXchi2Kkomk4Q_UcAXQ,26690
|
|
397
|
+
sqlmesh-0.191.1.dev3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
398
|
+
sqlmesh-0.191.1.dev3.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
|
|
399
|
+
sqlmesh-0.191.1.dev3.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
|
|
400
|
+
sqlmesh-0.191.1.dev3.dist-info/RECORD,,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as n,j as s,O as f,e as t,H as c,B as p,m as x,l as d}from"./index-
|
|
1
|
+
import{x as n,j as s,O as f,e as t,H as c,B as p,m as x,l as d}from"./index-_R_PVUU6.js";import{P as j}from"./Page-C1ITdiJq.js";import{u as h}from"./project-BaeMGMbz.js";import{S as v}from"./SourceList-CFOEK1vr.js";import{S as A}from"./SourceListItem-DA5_xyCX.js";import"./SplitPane-B78j2dEu.js";import"./file-ugRqly-F.js";import"./Input-DAYXvlPo.js";import"./floating-ui.react-dom-BYz8RJrU.js";import"./index-B3LoCbyu.js";function k(){const{pathname:a}=n(),i=h(e=>e.files),r=Array.from(i.values()).filter(e=>e.path.endsWith("audits"));return s.jsx(j,{sidebar:s.jsxs("div",{className:"flex flex-col w-full h-full",children:[s.jsx(v,{keyId:"basename",keyName:"basename",to:t.Audits,items:r,isActive:e=>`${t.Audits}/${e}`===a,className:"h-full",listItem:({to:e,name:o,description:m,text:l,disabled:u=!1})=>s.jsx(A,{to:e,name:o,text:l,description:m,disabled:u})}),s.jsx(c,{}),s.jsx("div",{className:"py-1 px-1 flex justify-end",children:s.jsx(p,{size:d.sm,variant:x.Neutral,children:"Run All"})})]}),content:s.jsx(f,{})})}export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,c as i,l as a,m as n,H as p}from"./index-
|
|
1
|
+
import{j as s,c as i,l as a,m as n,H as p}from"./index-_R_PVUU6.js";function l({variant:t=n.Neutral,size:e=a.md,isFull:r=!1,isCenter:u=!1,hasBackground:x=!0,hasBackgroundOnHover:f=!1,hasBorder:c=!1,children:m,className:b}){return s.jsx("div",{className:i("w-full text-sm px-4 overflow-hidden rounded-lg",e===a.sm&&"py-2",e===a.md&&"py-4",e===a.lg&&"py-6",r&&"h-full",u&&"justify-center items-center",c&&"border-2",w(t,x,f),b),children:m})}function g({className:t}){return s.jsx(p,{className:i("mx-4 w-full",t)})}function d({children:t,className:e}){return s.jsx("h4",{className:i("font-bold text-sm whitespace-nowrap text-left",e),children:t})}function o({children:t,className:e}){return s.jsx("p",{className:i("text-neutral-600",e),children:t})}l.Label=d;l.Description=o;l.Divider=g;function w(t,e=!0,r=!1){switch(t){case n.Primary:return[r?"hover:bg-primary-5":"",e?"bg-primary-5":"","text-primary-600 dark:text-primary-400"];case n.Success:return[r?"hover:bg-success-5":"",e?"bg-success-5":"","text-success-600 dark:text-success-400"];case n.Warning:return[r?"hover:bg-warning-5":"",e?"bg-warning-5":"","text-warning-600 dark:text-warning-400"];case n.Danger:return[r?"hover:bg-danger-5":"",e?"bg-danger-5":"","text-danger-600 dark:text-danger-400"];case n.Info:return[r?"hover:bg-info-5":"",e?"bg-info-5":"","text-info-600 dark:text-info-400"];case n.Neutral:return[r?"hover:bg-neutral-5":"",e?"bg-neutral-5":"","text-neutral-600 dark:text-neutral-400"];default:return["bg-transparent","text-neutral-600 dark:text-neutral-400"]}}export{l as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./index-
|
|
1
|
+
import{r as e}from"./index-_R_PVUU6.js";function t({title:r,titleId:a,...l},o){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:o,"aria-labelledby":a},l),r?e.createElement("title",{id:a},r):null,e.createElement("path",{fillRule:"evenodd",d:"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const c=e.forwardRef(t);export{c as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./index-
|
|
1
|
+
import{r as e}from"./index-_R_PVUU6.js";function o({title:r,titleId:a,...t},l){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:l,"aria-labelledby":a},t),r?e.createElement("title",{id:a},r):null,e.createElement("path",{fillRule:"evenodd",d:"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const i=e.forwardRef(o);export{i as F};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a,Q as l,v as e,j as r,U as n,e as d}from"./index-
|
|
1
|
+
import{d as a,Q as l,v as e,j as r,U as n,e as d}from"./index-_R_PVUU6.js";import{D as u}from"./ReportErrors-BQ_A528A.js";import"./PlusCircleIcon-fYWRjHku.js";import"./popover-h8iQeLew.js";import"./floating-ui.react-dom-BYz8RJrU.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SplitPane-B78j2dEu.js";function v(){const{errors:i}=a(),{id:o}=l(),s=e(o)?void 0:Array.from(i).find(t=>t.id===o);return r.jsx("div",{className:"flex overflow-auto w-full h-full",children:e(s)?r.jsx(n,{link:d.Errors,description:e(o)?void 0:`Error ${o} Does Not Exist`,message:"Back To Errors"}):r.jsx("div",{className:"p-4 h-full w-full",children:r.jsx("div",{className:"w-full h-full p-4 rounded-lg bg-danger-5 text-danger-700",children:r.jsx(u,{error:s,scope:s.key,withSplitPane:!0})})})})}export{v as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as v,R as J,a as _,j as e,m as O,s as Qe,b as C,B as oe,v as E,l as T,c as w,M as De,f as V,I as Xe,J as de,i as I,K as Q,g as H,T as Me,H as ue,P as ye,C as es,A as $,q as ss,L as as,d as ns,k as ts,o as ls,p as is,Q as rs,U as os,e as cs}from"./index-Cd9H4oK_.js";import{u as W,S as ds,A as us,a as Ne,b as R,E as A,P as z,c as ms}from"./SelectEnvironment-Bq5yNhkA.js";import{u as j,a as Y,E as M}from"./plan-YZ0KB3_p.js";import{B as S}from"./Banner-DVsKo_4f.js";import{V as L,F as ke,a as Pe,p as ps}from"./PlusCircleIcon-G0dx9NQm.js";import{K as fs,L as $e,V as hs,y as xs,p as js,o as ce,$ as vs,W as gs,X as ys,_ as ws,Y as bs,a as Re,Z as Ns,z as se}from"./popover-Cy5cZxvQ.js";import{I as K}from"./Input-CYkPiHdu.js";import{H as ks,V as Ps,Q as Ts,w as Cs,u as Fs,a as As,l as Ss,T as Ds,N as Rs,U as Es,j as Bs,p as _s}from"./ListboxShow-BoQTSdAK.js";import{u as ze}from"./project-BDbQ0VpX.js";import{F as we}from"./context-DxH8yaYv.js";import"./ModelLineage-Bkj5mIkh.js";import"./editor-CiPjHBto.js";import"./file-CafyWkYy.js";import"./SearchList-BGwZi6Iv.js";import"./help-6Q7f7fjd.js";import"./floating-ui.react-dom-C8DFRCmP.js";import"./ChevronDownIcon-nW8Gsfc8.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SourceList-ChD1dovq.js";import"./index-GDI1mjkA.js";function Os({title:s,titleId:a,...t},r){return v.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":a},t),s?v.createElement("title",{id:a},s):null,v.createElement("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z",clipRule:"evenodd"}))}const X=v.forwardRef(Os);let Te=v.createContext(null);Te.displayName="GroupContext";let Is=v.Fragment;function Ms(s){var a;let[t,r]=v.useState(null),[l,i]=Ts(),[c,u]=Cs(),o=v.useMemo(()=>({switch:t,setSwitch:r}),[t,r]),d={},m=s,n=$e();return J.createElement(u,{name:"Switch.Description",value:c},J.createElement(i,{name:"Switch.Label",value:l,props:{htmlFor:(a=o.switch)==null?void 0:a.id,onClick(h){t&&(hs(h.currentTarget)&&h.preventDefault(),t.click(),t.focus({preventScroll:!0}))}}},J.createElement(Te.Provider,{value:o},n({ourProps:d,theirProps:m,slot:{},defaultTag:Is,name:"Switch.Group"}))))}let $s="button";function zs(s,a){var t;let r=v.useId(),l=Fs(),i=As(),{id:c=l||`headlessui-switch-${r}`,disabled:u=i||!1,checked:o,defaultChecked:d,onChange:m,name:n,value:h,form:p,autoFocus:f=!1,...x}=s,F=v.useContext(Te),[B,D]=v.useState(null),N=v.useRef(null),k=xs(N,a,F===null?null:F.setSwitch,D),g=Ss(d),[P,Z]=Ds(o,m,g??!1),je=js(),[le,b]=v.useState(!1),ie=ce(()=>{b(!0),Z==null||Z(!P),je.nextFrame(()=>{b(!1)})}),re=ce(U=>{if(Ns(U.currentTarget))return U.preventDefault();U.preventDefault(),ie()}),ve=ce(U=>{U.key===Re.Space?(U.preventDefault(),ie()):U.key===Re.Enter&&_s(U.currentTarget)}),Le=ce(U=>U.preventDefault()),Ve=Rs(),Ge=Es(),{isFocusVisible:Fe,focusProps:He}=vs({autoFocus:f}),{isHovered:Ae,hoverProps:Ke}=gs({isDisabled:u}),{pressed:Se,pressProps:Ze}=ys({disabled:u}),qe=v.useMemo(()=>({checked:P,disabled:u,hover:Ae,focus:Fe,active:Se,autofocus:f,changing:le}),[P,Ae,Fe,Se,u,le,f]),We=ws({id:c,ref:k,role:"switch",type:bs(s,B),tabIndex:s.tabIndex===-1?0:(t=s.tabIndex)!=null?t:0,"aria-checked":P,"aria-labelledby":Ve,"aria-describedby":Ge,disabled:u||void 0,autoFocus:f,onClick:re,onKeyUp:ve,onKeyPress:Le},He,Ke,Ze),Ye=v.useCallback(()=>{if(g!==void 0)return Z==null?void 0:Z(g)},[Z,g]),Je=$e();return J.createElement(J.Fragment,null,n!=null&&J.createElement(Bs,{disabled:u,data:{[n]:h||"on"},overrides:{type:"checkbox",checked:P},form:p,onReset:Ye}),Je({ourProps:We,theirProps:x,slot:qe,defaultTag:$s,name:"Switch"}))}let Us=fs(zs),Ls=Ms,Vs=Ps,Gs=ks,ge=Object.assign(Us,{Group:Ls,Label:Vs,Description:Gs});function Hs(){const s=_(a=>a.environment);return e.jsx("div",{className:"flex flex-col px-4 py-2 w-full",children:e.jsx(S,{variant:O.Warning,children:e.jsx(L,{defaultOpen:!1,children:({open:a})=>e.jsxs(e.Fragment,{children:[e.jsxs(L.Button,{className:"w-full flex items-center justify-between",children:[e.jsx(S.Label,{className:"w-full",children:s.isInitialProd?"Initializing Prod Environment":"Prod Environment"}),s.isInitialProd&&e.jsx(e.Fragment,{children:a?e.jsx(ke,{className:"w-5 text-warning-500"}):e.jsx(Pe,{className:"w-5 text-warning-500"})})]}),s.isInitialProd&&e.jsx(L.Panel,{className:"px-2 text-sm mt-2",children:e.jsx(S.Description,{children:"Prod will be completely backfilled in order to ensure there are no data gaps. After this is applied, it is recommended to validate further changes in a dev environment before deploying to production."})})]})})})})}function Ks(s=0){return v.useCallback(a=>{setTimeout(()=>{a==null||a.focus()},s)},[s])}function Zs({run:s,apply:a,cancel:t,reset:r}){const l=Qe(),{change_categorization:i}=W(),c=_(b=>b.modules),u=_(b=>b.environment),o=_(b=>b.environments),d=_(b=>b.addConfirmation),m=_(b=>b.setShowConfirmation),n=j(b=>b.planAction),h=j(b=>b.planOverview),p=j(b=>b.planApply),f=j(b=>b.planCancel),x=Ks();function F(b){b.stopPropagation(),r()}function B(b){b.stopPropagation(),t()}function D(b){b.stopPropagation(),l(-1)}function N(b){b.stopPropagation();const ie=u.isProd&&C(u.isInitial),re=Array.from(i.values()).some(ve=>E(ve.category));ie?d({headline:"Applying Plan Directly On Prod Environment!",tagline:"Safer choice will be to select or add new environment first.",description:"Are you sure you want to apply your changes directly on prod?",yesText:`Yes, Run ${u.name}`,noText:"No, Cancel",action:a,details:re?["ATTENTION!","[Breaking Change] category will be applied to all uncategorized changes"]:void 0,children:e.jsxs("div",{className:"mt-5 pt-4",children:[e.jsx("h4",{className:"mb-2",children:`${o.size>1?"Select or ":""}Add Environment`}),e.jsxs("div",{className:"flex items-center relative",children:[o.size>1&&e.jsx(ds,{className:"mr-2",showAddEnvironment:!1,onSelect:()=>{m(!1)},size:T.md}),e.jsx(us,{className:"w-full",size:T.md,onAdd:()=>{m(!1)}})]})]})}):re?d({headline:"Some changes are missing categorization!",description:"Are you sure you want to proceed?",details:["[Breaking Change] category will be applied to all uncategorized changes"],yesText:"Yes, Apply",noText:"No, Cancel",action:a}):a()}function k(b){b.stopPropagation(),s()}const g=h.isFailed||p.isFailed||f.isSuccessful,P=C(n.isCancelling)&&C(n.isDone)&&(n.isProcessing?C(f.isSuccessful):!0)&&C(g),Z=n.isApplying||f.isCancelling||p.isRunning&&h.isFinished,je=g||C(n.isProcessing)&&C(n.isRun)&&C(n.isDone),le=c.showHistoryNavigation;return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex justify-between pt-2 pl-4 pr-2 pb-2",children:[e.jsx("div",{className:"flex w-full items-center",children:e.jsx(se,{appear:!0,show:P,enter:"transition ease duration-300 transform",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"transition ease duration-300 transform",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95",className:"trasition-all duration-300 ease-in-out",as:"div",children:P&&e.jsx(oe,{disabled:n.isProcessing||f.isSuccessful||n.isDone,onClick:n.isRun?k:f.isSuccessful?void 0:N,ref:x,variant:f.isSuccessful?O.Danger:O.Primary,autoFocus:!0,className:"trasition-all duration-300 ease-in-out",children:e.jsx("span",{children:Y.getActionDisplayName(n,f.isSuccessful?[]:[M.RunningTask,M.Running,M.Run,M.Applying,M.ApplyBackfill,M.ApplyVirtual,M.ApplyChangesAndBackfill,M.ApplyMetadata],f.isSuccessful?"Canceled":"Done")})})})}),e.jsxs("div",{className:"flex items-center",children:[Z&&e.jsx(oe,{onClick:B,variant:O.Danger,disabled:n.isCancelling||n.isProcessing&&f.isSuccessful,children:Y.getActionDisplayName(n,n.isProcessing&&C(f.isSuccessful)?[M.Cancelling]:[],f.isSuccessful?"Finishing Cancellation...":"Cancel")}),je&&e.jsx(oe,{onClick:F,variant:O.Info,disabled:n.isCancelling||n.isProcessing&&f.isSuccessful,children:"Start Over"}),le&&e.jsx(oe,{onClick:D,variant:O.Info,children:"Go Back"})]})]})})}function qs({label:s,enabled:a,setEnabled:t,a11yTitle:r,size:l=T.md,disabled:i=!1,className:c}){return e.jsxs(ge.Group,{as:"div",className:"m-1",children:[e.jsxs(ge,{checked:i?!1:a,onChange:t,className:w("flex relative border-secondary-30 rounded-full m-0","shrink-0 focus:outline-none ring-secondary-300 ring-opacity-60 ring-offset ring-offset-secondary-100 focus:border-secondary-500 focus-visible:ring-opacity-75","transition duration-200 ease-in-out",a?"bg-secondary-500":"bg-secondary-20",c,i?"opacity-50 cursor-not-allowed":"cursor-pointer",l===T.sm&&"h-[14px] w-6 focus:ring-1 border",l===T.md&&"h-5 w-10 focus:ring-2 border-2",l===T.lg&&"h-7 w-14 focus:ring-4 border-2"),disabled:i,children:[e.jsx("span",{className:"sr-only",children:r}),e.jsx("span",{"aria-hidden":"true",className:w("pointer-events-none inline-block transform rounded-full shadow-md transition duration-200 ease-in-out","bg-light",l===T.sm&&"h-3 w-3",l===T.md&&"h-4 w-4",l===T.lg&&"h-6 w-6",a&&l===T.sm&&"translate-x-[10px]",a&&l===T.md&&"translate-x-5",a&&l===T.lg&&"translate-x-7")})]}),s!=null&&e.jsx(ge.Label,{className:w("text-xs font-light ml-1 text-neutral-600 dark:text-neutral-400"),children:s})]})}function q({label:s,info:a,enabled:t,disabled:r=!1,setEnabled:l,className:i}){return e.jsxs("div",{className:w("flex justify-between",i),children:[e.jsxs("label",{className:"block mb-1 px-3 text-sm font-bold",children:[s,e.jsx("small",{className:"block text-xs text-neutral-500",children:a})]}),e.jsx(qs,{disabled:r,enabled:t,setEnabled:l,size:T.lg})]})}function Ws({disabled:s=!1,className:a}){const t=Ne(),{start:r,end:l,isInitialPlanRun:i}=W();return e.jsxs("div",{className:w("flex w-full flex-wrap md:flex-nowrap",a),children:[e.jsx(K,{className:"w-full md:w-[50%]",label:"Start Date (UTC)",info:"The start datetime of the interval",disabled:s||i,children:({disabled:c,className:u})=>e.jsx(K.Textfield,{className:w(u,"w-full"),disabled:c,placeholder:"2023-12-13",value:r,onInput:o=>{o.stopPropagation(),t({type:R.DateStart,start:o.target.value})}})}),e.jsx(K,{className:"w-full md:w-[50%]",label:"End Date (UTC)",info:"The end datetime of the interval",disabled:s||i,children:({disabled:c,className:u})=>e.jsx(K.Textfield,{className:w(u,"w-full"),disabled:c,placeholder:"2022-12-13",value:l,onInput:o=>{o.stopPropagation(),t({type:R.DateEnd,end:o.target.value})}})})]})}function Ys(){const s=Ne(),{skip_tests:a,no_gaps:t,skip_backfill:r,forward_only:l,auto_apply:i,no_auto_categorization:c,restate_models:u,isInitialPlanRun:o,create_from:d,include_unmodified:m}=W(),n=v.useRef(null),h=j(N=>N.planAction),p=j(N=>N.planOverview),f=j(N=>N.planApply),x=_(N=>N.environment),F=_(N=>N.environments),B=De.getOnlyRemote(Array.from(F));v.useEffect(()=>{s({type:R.PlanOptions,...p.plan_options,skip_tests:!1})},[]);const D=h.isProcessing||h.isDone||f.isFinished||p.isLatest&&C(h.isRun)||p.isVirtualUpdate;return v.useEffect(()=>{var N;E(n.current)||h.isProcessing&&n.current.classList.contains("--is-open")&&((N=n.current)==null||N.click())},[n,h]),e.jsxs("form",{className:"w-full",children:[e.jsx("fieldset",{className:w(D&&"opacity-50 cursor-not-allowed"),children:e.jsx(Ws,{className:w(D&&"pointer-events-none")})}),e.jsx("fieldset",{className:"my-2",children:e.jsx(S,{children:e.jsx(L,{defaultOpen:h.isRun,children:({open:N})=>e.jsxs(e.Fragment,{children:[e.jsxs(L.Button,{ref:n,className:w("w-full flex items-center",N&&"--is-open"),children:[e.jsxs(S.Label,{className:"mr-2 text-sm w-full",children:[e.jsx("span",{children:"Additional Options"}),D&&e.jsx("span",{className:"ml-1",children:"(Read Only)"})]}),N?e.jsx(ke,{className:"h-5 w-5 text-neutral-400"}):e.jsx(Pe,{className:"h-5 w-5 text-neutral-400"})]}),e.jsxs(L.Panel,{unmount:!1,className:w("py-4 text-sm text-neutral-500",D&&"opacity-50 cursor-not-allowed"),children:[e.jsx("div",{className:w(D&&"pointer-events-none"),children:e.jsxs("div",{className:"flex flex-wrap md:flex-nowrap",children:[C(x.isProd)&&e.jsx(K,{className:"w-full",label:"Create From Environment",info:"The environment to base the plan on rather than local files",disabled:B.length<2,children:({className:k,disabled:g})=>e.jsx(K.Selector,{className:w(k,"w-full"),list:De.getOnlyRemote(Array.from(F)).filter(P=>P!==x).map(P=>({value:P.name,text:P.name})),onChange:P=>{s({type:R.PlanOptions,create_from:P})},value:d,disabled:g})}),e.jsx(K,{className:"w-full",label:"Restate Models",info:`Restate data for specified models and models
|
|
1
|
+
import{r as v,R as J,a as _,j as e,m as O,s as Qe,b as C,B as oe,v as E,l as T,c as w,M as De,f as V,I as Xe,J as de,i as I,K as Q,g as H,T as Me,H as ue,P as ye,C as es,A as $,q as ss,L as as,d as ns,k as ts,o as ls,p as is,Q as rs,U as os,e as cs}from"./index-_R_PVUU6.js";import{u as W,S as ds,A as us,a as Ne,b as R,E as A,P as z,c as ms}from"./SelectEnvironment-3fBvWeru.js";import{u as j,a as Y,E as M}from"./plan-BxgjbT85.js";import{B as S}from"./Banner-BeLNhV1V.js";import{V as L,F as ke,a as Pe,p as ps}from"./PlusCircleIcon-fYWRjHku.js";import{K as fs,L as $e,V as hs,y as xs,p as js,o as ce,$ as vs,W as gs,X as ys,_ as ws,Y as bs,a as Re,Z as Ns,z as se}from"./popover-h8iQeLew.js";import{I as K}from"./Input-DAYXvlPo.js";import{H as ks,V as Ps,Q as Ts,w as Cs,u as Fs,a as As,l as Ss,T as Ds,N as Rs,U as Es,j as Bs,p as _s}from"./ListboxShow-CneqBQlG.js";import{u as ze}from"./project-BaeMGMbz.js";import{F as we}from"./context-BBu4gIRy.js";import"./ModelLineage-LwVobskP.js";import"./editor-BC8LxZn5.js";import"./file-ugRqly-F.js";import"./SearchList-B9qYyCPy.js";import"./help-6Q7f7fjd.js";import"./floating-ui.react-dom-BYz8RJrU.js";import"./ChevronDownIcon-DlnnZjiA.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SourceList-CFOEK1vr.js";import"./index-B3LoCbyu.js";function Os({title:s,titleId:a,...t},r){return v.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":a},t),s?v.createElement("title",{id:a},s):null,v.createElement("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z",clipRule:"evenodd"}))}const X=v.forwardRef(Os);let Te=v.createContext(null);Te.displayName="GroupContext";let Is=v.Fragment;function Ms(s){var a;let[t,r]=v.useState(null),[l,i]=Ts(),[c,u]=Cs(),o=v.useMemo(()=>({switch:t,setSwitch:r}),[t,r]),d={},m=s,n=$e();return J.createElement(u,{name:"Switch.Description",value:c},J.createElement(i,{name:"Switch.Label",value:l,props:{htmlFor:(a=o.switch)==null?void 0:a.id,onClick(h){t&&(hs(h.currentTarget)&&h.preventDefault(),t.click(),t.focus({preventScroll:!0}))}}},J.createElement(Te.Provider,{value:o},n({ourProps:d,theirProps:m,slot:{},defaultTag:Is,name:"Switch.Group"}))))}let $s="button";function zs(s,a){var t;let r=v.useId(),l=Fs(),i=As(),{id:c=l||`headlessui-switch-${r}`,disabled:u=i||!1,checked:o,defaultChecked:d,onChange:m,name:n,value:h,form:p,autoFocus:f=!1,...x}=s,F=v.useContext(Te),[B,D]=v.useState(null),N=v.useRef(null),k=xs(N,a,F===null?null:F.setSwitch,D),g=Ss(d),[P,Z]=Ds(o,m,g??!1),je=js(),[le,b]=v.useState(!1),ie=ce(()=>{b(!0),Z==null||Z(!P),je.nextFrame(()=>{b(!1)})}),re=ce(U=>{if(Ns(U.currentTarget))return U.preventDefault();U.preventDefault(),ie()}),ve=ce(U=>{U.key===Re.Space?(U.preventDefault(),ie()):U.key===Re.Enter&&_s(U.currentTarget)}),Le=ce(U=>U.preventDefault()),Ve=Rs(),Ge=Es(),{isFocusVisible:Fe,focusProps:He}=vs({autoFocus:f}),{isHovered:Ae,hoverProps:Ke}=gs({isDisabled:u}),{pressed:Se,pressProps:Ze}=ys({disabled:u}),qe=v.useMemo(()=>({checked:P,disabled:u,hover:Ae,focus:Fe,active:Se,autofocus:f,changing:le}),[P,Ae,Fe,Se,u,le,f]),We=ws({id:c,ref:k,role:"switch",type:bs(s,B),tabIndex:s.tabIndex===-1?0:(t=s.tabIndex)!=null?t:0,"aria-checked":P,"aria-labelledby":Ve,"aria-describedby":Ge,disabled:u||void 0,autoFocus:f,onClick:re,onKeyUp:ve,onKeyPress:Le},He,Ke,Ze),Ye=v.useCallback(()=>{if(g!==void 0)return Z==null?void 0:Z(g)},[Z,g]),Je=$e();return J.createElement(J.Fragment,null,n!=null&&J.createElement(Bs,{disabled:u,data:{[n]:h||"on"},overrides:{type:"checkbox",checked:P},form:p,onReset:Ye}),Je({ourProps:We,theirProps:x,slot:qe,defaultTag:$s,name:"Switch"}))}let Us=fs(zs),Ls=Ms,Vs=Ps,Gs=ks,ge=Object.assign(Us,{Group:Ls,Label:Vs,Description:Gs});function Hs(){const s=_(a=>a.environment);return e.jsx("div",{className:"flex flex-col px-4 py-2 w-full",children:e.jsx(S,{variant:O.Warning,children:e.jsx(L,{defaultOpen:!1,children:({open:a})=>e.jsxs(e.Fragment,{children:[e.jsxs(L.Button,{className:"w-full flex items-center justify-between",children:[e.jsx(S.Label,{className:"w-full",children:s.isInitialProd?"Initializing Prod Environment":"Prod Environment"}),s.isInitialProd&&e.jsx(e.Fragment,{children:a?e.jsx(ke,{className:"w-5 text-warning-500"}):e.jsx(Pe,{className:"w-5 text-warning-500"})})]}),s.isInitialProd&&e.jsx(L.Panel,{className:"px-2 text-sm mt-2",children:e.jsx(S.Description,{children:"Prod will be completely backfilled in order to ensure there are no data gaps. After this is applied, it is recommended to validate further changes in a dev environment before deploying to production."})})]})})})})}function Ks(s=0){return v.useCallback(a=>{setTimeout(()=>{a==null||a.focus()},s)},[s])}function Zs({run:s,apply:a,cancel:t,reset:r}){const l=Qe(),{change_categorization:i}=W(),c=_(b=>b.modules),u=_(b=>b.environment),o=_(b=>b.environments),d=_(b=>b.addConfirmation),m=_(b=>b.setShowConfirmation),n=j(b=>b.planAction),h=j(b=>b.planOverview),p=j(b=>b.planApply),f=j(b=>b.planCancel),x=Ks();function F(b){b.stopPropagation(),r()}function B(b){b.stopPropagation(),t()}function D(b){b.stopPropagation(),l(-1)}function N(b){b.stopPropagation();const ie=u.isProd&&C(u.isInitial),re=Array.from(i.values()).some(ve=>E(ve.category));ie?d({headline:"Applying Plan Directly On Prod Environment!",tagline:"Safer choice will be to select or add new environment first.",description:"Are you sure you want to apply your changes directly on prod?",yesText:`Yes, Run ${u.name}`,noText:"No, Cancel",action:a,details:re?["ATTENTION!","[Breaking Change] category will be applied to all uncategorized changes"]:void 0,children:e.jsxs("div",{className:"mt-5 pt-4",children:[e.jsx("h4",{className:"mb-2",children:`${o.size>1?"Select or ":""}Add Environment`}),e.jsxs("div",{className:"flex items-center relative",children:[o.size>1&&e.jsx(ds,{className:"mr-2",showAddEnvironment:!1,onSelect:()=>{m(!1)},size:T.md}),e.jsx(us,{className:"w-full",size:T.md,onAdd:()=>{m(!1)}})]})]})}):re?d({headline:"Some changes are missing categorization!",description:"Are you sure you want to proceed?",details:["[Breaking Change] category will be applied to all uncategorized changes"],yesText:"Yes, Apply",noText:"No, Cancel",action:a}):a()}function k(b){b.stopPropagation(),s()}const g=h.isFailed||p.isFailed||f.isSuccessful,P=C(n.isCancelling)&&C(n.isDone)&&(n.isProcessing?C(f.isSuccessful):!0)&&C(g),Z=n.isApplying||f.isCancelling||p.isRunning&&h.isFinished,je=g||C(n.isProcessing)&&C(n.isRun)&&C(n.isDone),le=c.showHistoryNavigation;return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex justify-between pt-2 pl-4 pr-2 pb-2",children:[e.jsx("div",{className:"flex w-full items-center",children:e.jsx(se,{appear:!0,show:P,enter:"transition ease duration-300 transform",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"transition ease duration-300 transform",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95",className:"trasition-all duration-300 ease-in-out",as:"div",children:P&&e.jsx(oe,{disabled:n.isProcessing||f.isSuccessful||n.isDone,onClick:n.isRun?k:f.isSuccessful?void 0:N,ref:x,variant:f.isSuccessful?O.Danger:O.Primary,autoFocus:!0,className:"trasition-all duration-300 ease-in-out",children:e.jsx("span",{children:Y.getActionDisplayName(n,f.isSuccessful?[]:[M.RunningTask,M.Running,M.Run,M.Applying,M.ApplyBackfill,M.ApplyVirtual,M.ApplyChangesAndBackfill,M.ApplyMetadata],f.isSuccessful?"Canceled":"Done")})})})}),e.jsxs("div",{className:"flex items-center",children:[Z&&e.jsx(oe,{onClick:B,variant:O.Danger,disabled:n.isCancelling||n.isProcessing&&f.isSuccessful,children:Y.getActionDisplayName(n,n.isProcessing&&C(f.isSuccessful)?[M.Cancelling]:[],f.isSuccessful?"Finishing Cancellation...":"Cancel")}),je&&e.jsx(oe,{onClick:F,variant:O.Info,disabled:n.isCancelling||n.isProcessing&&f.isSuccessful,children:"Start Over"}),le&&e.jsx(oe,{onClick:D,variant:O.Info,children:"Go Back"})]})]})})}function qs({label:s,enabled:a,setEnabled:t,a11yTitle:r,size:l=T.md,disabled:i=!1,className:c}){return e.jsxs(ge.Group,{as:"div",className:"m-1",children:[e.jsxs(ge,{checked:i?!1:a,onChange:t,className:w("flex relative border-secondary-30 rounded-full m-0","shrink-0 focus:outline-none ring-secondary-300 ring-opacity-60 ring-offset ring-offset-secondary-100 focus:border-secondary-500 focus-visible:ring-opacity-75","transition duration-200 ease-in-out",a?"bg-secondary-500":"bg-secondary-20",c,i?"opacity-50 cursor-not-allowed":"cursor-pointer",l===T.sm&&"h-[14px] w-6 focus:ring-1 border",l===T.md&&"h-5 w-10 focus:ring-2 border-2",l===T.lg&&"h-7 w-14 focus:ring-4 border-2"),disabled:i,children:[e.jsx("span",{className:"sr-only",children:r}),e.jsx("span",{"aria-hidden":"true",className:w("pointer-events-none inline-block transform rounded-full shadow-md transition duration-200 ease-in-out","bg-light",l===T.sm&&"h-3 w-3",l===T.md&&"h-4 w-4",l===T.lg&&"h-6 w-6",a&&l===T.sm&&"translate-x-[10px]",a&&l===T.md&&"translate-x-5",a&&l===T.lg&&"translate-x-7")})]}),s!=null&&e.jsx(ge.Label,{className:w("text-xs font-light ml-1 text-neutral-600 dark:text-neutral-400"),children:s})]})}function q({label:s,info:a,enabled:t,disabled:r=!1,setEnabled:l,className:i}){return e.jsxs("div",{className:w("flex justify-between",i),children:[e.jsxs("label",{className:"block mb-1 px-3 text-sm font-bold",children:[s,e.jsx("small",{className:"block text-xs text-neutral-500",children:a})]}),e.jsx(qs,{disabled:r,enabled:t,setEnabled:l,size:T.lg})]})}function Ws({disabled:s=!1,className:a}){const t=Ne(),{start:r,end:l,isInitialPlanRun:i}=W();return e.jsxs("div",{className:w("flex w-full flex-wrap md:flex-nowrap",a),children:[e.jsx(K,{className:"w-full md:w-[50%]",label:"Start Date (UTC)",info:"The start datetime of the interval",disabled:s||i,children:({disabled:c,className:u})=>e.jsx(K.Textfield,{className:w(u,"w-full"),disabled:c,placeholder:"2023-12-13",value:r,onInput:o=>{o.stopPropagation(),t({type:R.DateStart,start:o.target.value})}})}),e.jsx(K,{className:"w-full md:w-[50%]",label:"End Date (UTC)",info:"The end datetime of the interval",disabled:s||i,children:({disabled:c,className:u})=>e.jsx(K.Textfield,{className:w(u,"w-full"),disabled:c,placeholder:"2022-12-13",value:l,onInput:o=>{o.stopPropagation(),t({type:R.DateEnd,end:o.target.value})}})})]})}function Ys(){const s=Ne(),{skip_tests:a,no_gaps:t,skip_backfill:r,forward_only:l,auto_apply:i,no_auto_categorization:c,restate_models:u,isInitialPlanRun:o,create_from:d,include_unmodified:m}=W(),n=v.useRef(null),h=j(N=>N.planAction),p=j(N=>N.planOverview),f=j(N=>N.planApply),x=_(N=>N.environment),F=_(N=>N.environments),B=De.getOnlyRemote(Array.from(F));v.useEffect(()=>{s({type:R.PlanOptions,...p.plan_options,skip_tests:!1})},[]);const D=h.isProcessing||h.isDone||f.isFinished||p.isLatest&&C(h.isRun)||p.isVirtualUpdate;return v.useEffect(()=>{var N;E(n.current)||h.isProcessing&&n.current.classList.contains("--is-open")&&((N=n.current)==null||N.click())},[n,h]),e.jsxs("form",{className:"w-full",children:[e.jsx("fieldset",{className:w(D&&"opacity-50 cursor-not-allowed"),children:e.jsx(Ws,{className:w(D&&"pointer-events-none")})}),e.jsx("fieldset",{className:"my-2",children:e.jsx(S,{children:e.jsx(L,{defaultOpen:h.isRun,children:({open:N})=>e.jsxs(e.Fragment,{children:[e.jsxs(L.Button,{ref:n,className:w("w-full flex items-center",N&&"--is-open"),children:[e.jsxs(S.Label,{className:"mr-2 text-sm w-full",children:[e.jsx("span",{children:"Additional Options"}),D&&e.jsx("span",{className:"ml-1",children:"(Read Only)"})]}),N?e.jsx(ke,{className:"h-5 w-5 text-neutral-400"}):e.jsx(Pe,{className:"h-5 w-5 text-neutral-400"})]}),e.jsxs(L.Panel,{unmount:!1,className:w("py-4 text-sm text-neutral-500",D&&"opacity-50 cursor-not-allowed"),children:[e.jsx("div",{className:w(D&&"pointer-events-none"),children:e.jsxs("div",{className:"flex flex-wrap md:flex-nowrap",children:[C(x.isProd)&&e.jsx(K,{className:"w-full",label:"Create From Environment",info:"The environment to base the plan on rather than local files",disabled:B.length<2,children:({className:k,disabled:g})=>e.jsx(K.Selector,{className:w(k,"w-full"),list:De.getOnlyRemote(Array.from(F)).filter(P=>P!==x).map(P=>({value:P.name,text:P.name})),onChange:P=>{s({type:R.PlanOptions,create_from:P})},value:d,disabled:g})}),e.jsx(K,{className:"w-full",label:"Restate Models",info:`Restate data for specified models and models
|
|
2
2
|
downstream from the one specified. For production
|
|
3
3
|
environment, all related model versions will have
|
|
4
4
|
their intervals wiped, but only the current
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as x,a as m,v as h,P as a,a4 as c,a5 as D,a6 as P,r as T,j as u}from"./index-
|
|
1
|
+
import{Q as x,a as m,v as h,P as a,a4 as c,a5 as D,a6 as P,r as T,j as u}from"./index-_R_PVUU6.js";import{g as b,T as g}from"./help-BMdD8bGm.js";import{u as r}from"./editor-BC8LxZn5.js";import"./index-B3LoCbyu.js";import"./floating-ui.react-dom-BYz8RJrU.js";import"./Input-DAYXvlPo.js";import"./file-ugRqly-F.js";const d=24*60*60*1e3;function S(){const{modelName:o}=x(),p=m(e=>e.models),s=m(e=>e.lastSelectedModel),v=r(e=>e.previewTable),i=r(e=>e.setPreviewQuery),n=r(e=>e.setPreviewTable),t=h(o)||o===(s==null?void 0:s.name)?s:p.get(encodeURI(o)),l={model:t.displayName,start:a(c(Date.now()-d)),end:a(new Date),execution_time:a(c(Date.now()-d)),limit:1e3},{refetch:f}=D(l),{refetch:w}=P(l);return T.useEffect(()=>{i(void 0),n(void 0),f().then(({data:e})=>{i(e==null?void 0:e.sql)}),w().then(({data:e})=>{n(b(e))})},[t]),u.jsx("div",{className:"flex overflow-hidden w-full h-full px-2",children:u.jsx(g,{headline:t==null?void 0:t.displayName,data:v??[[],[]]})})}export{S as default};
|