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.
Files changed (53) hide show
  1. sqlmesh/_version.py +2 -2
  2. sqlmesh/core/config/connection.py +120 -7
  3. sqlmesh/core/engine_adapter/mssql.py +4 -0
  4. {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/METADATA +6 -2
  5. {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/RECORD +52 -52
  6. web/client/dist/assets/{Audits-Pgs8N6IE.js → Audits-Dym5PKHr.js} +1 -1
  7. web/client/dist/assets/{Banner-DVsKo_4f.js → Banner-BeLNhV1V.js} +1 -1
  8. web/client/dist/assets/{ChevronDownIcon-nW8Gsfc8.js → ChevronDownIcon-DlnnZjiA.js} +1 -1
  9. web/client/dist/assets/{ChevronRightIcon-dV0VWg50.js → ChevronRightIcon-NPjpYxnn.js} +1 -1
  10. web/client/dist/assets/{Content-C0JdHN-F.js → Content-BArLdTPL.js} +1 -1
  11. web/client/dist/assets/{Content-DV3whS9M.js → Content-DA4WySs8.js} +1 -1
  12. web/client/dist/assets/{Data-CGN0CnIX.js → Data-y-N_Uq1L.js} +1 -1
  13. web/client/dist/assets/{DataCatalog-dshO8o7W.js → DataCatalog-Mvlf_ijD.js} +1 -1
  14. web/client/dist/assets/{Editor-BV_q4XNs.js → Editor-BDYpNxXe.js} +1 -1
  15. web/client/dist/assets/{Editor-UXlx6hNl.js → Editor-B_Eu4-Yv.js} +1 -1
  16. web/client/dist/assets/{Errors-BZn1A8l3.js → Errors-DUEZ6U5r.js} +1 -1
  17. web/client/dist/assets/{FileExplorer-Bc12UBVw.js → FileExplorer-BMMg4WGN.js} +1 -1
  18. web/client/dist/assets/{Footer-BEjDDaSE.js → Footer-BWuRBavm.js} +1 -1
  19. web/client/dist/assets/{Header-BUnVQQzm.js → Header-BnCvN-7r.js} +1 -1
  20. web/client/dist/assets/{Input-CYkPiHdu.js → Input-DAYXvlPo.js} +1 -1
  21. web/client/dist/assets/Lineage-CQy2gjl7.js +1 -0
  22. web/client/dist/assets/{ListboxShow-BoQTSdAK.js → ListboxShow-CneqBQlG.js} +1 -1
  23. web/client/dist/assets/{ModelLineage-Bkj5mIkh.js → ModelLineage-LwVobskP.js} +1 -1
  24. web/client/dist/assets/{Models-DnL6WJTs.js → Models-ybMoSGAy.js} +1 -1
  25. web/client/dist/assets/{Page-CGKYDGz-.js → Page-C1ITdiJq.js} +1 -1
  26. web/client/dist/assets/{Plan-DcGriIiA.js → Plan-CSCHEA-W.js} +1 -1
  27. web/client/dist/assets/{PlusCircleIcon-G0dx9NQm.js → PlusCircleIcon-fYWRjHku.js} +1 -1
  28. web/client/dist/assets/{ReportErrors-B7Mr6CPy.js → ReportErrors-BQ_A528A.js} +1 -1
  29. web/client/dist/assets/{Root-B7VWZ_LH.js → Root-x89Lo48v.js} +1 -1
  30. web/client/dist/assets/{SearchList-BGwZi6Iv.js → SearchList-B9qYyCPy.js} +1 -1
  31. web/client/dist/assets/{SelectEnvironment-Bq5yNhkA.js → SelectEnvironment-3fBvWeru.js} +1 -1
  32. web/client/dist/assets/{SourceList-ChD1dovq.js → SourceList-CFOEK1vr.js} +1 -1
  33. web/client/dist/assets/{SourceListItem-BSGVpkoq.js → SourceListItem-DA5_xyCX.js} +1 -1
  34. web/client/dist/assets/{SplitPane-3okSokAv.js → SplitPane-B78j2dEu.js} +1 -1
  35. web/client/dist/assets/{Tests-itL38hJI.js → Tests-P41ilYMc.js} +1 -1
  36. web/client/dist/assets/{Welcome-BP7z8PA1.js → Welcome-hiNJ1DDk.js} +1 -1
  37. web/client/dist/assets/{context-DxH8yaYv.js → context-BBu4gIRy.js} +17 -17
  38. web/client/dist/assets/{context-D1hHNguh.js → context-DQtNDhRm.js} +1 -1
  39. web/client/dist/assets/{editor-CiPjHBto.js → editor-BC8LxZn5.js} +1 -1
  40. web/client/dist/assets/{file-CafyWkYy.js → file-ugRqly-F.js} +1 -1
  41. web/client/dist/assets/{floating-ui.react-dom-C8DFRCmP.js → floating-ui.react-dom-BYz8RJrU.js} +1 -1
  42. web/client/dist/assets/{help-ClwWI4Vm.js → help-BMdD8bGm.js} +1 -1
  43. web/client/dist/assets/{index-GDI1mjkA.js → index-B3LoCbyu.js} +1 -1
  44. web/client/dist/assets/{index-Cd9H4oK_.js → index-_R_PVUU6.js} +1 -1
  45. web/client/dist/assets/{plan-YZ0KB3_p.js → plan-BxgjbT85.js} +1 -1
  46. web/client/dist/assets/{popover-Cy5cZxvQ.js → popover-h8iQeLew.js} +1 -1
  47. web/client/dist/assets/{project-BDbQ0VpX.js → project-BaeMGMbz.js} +1 -1
  48. web/client/dist/index.html +1 -1
  49. web/client/dist/assets/Lineage-Bb_XDi8Z.js +0 -1
  50. {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/WHEEL +0 -0
  51. {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/entry_points.txt +0 -0
  52. {sqlmesh-0.191.1.dev1.dist-info → sqlmesh-0.191.1.dev3.dist-info}/licenses/LICENSE +0 -0
  53. {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.dev1'
21
- __version_tuple__ = version_tuple = (0, 191, 1, 'dev1')
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
- _engine_import_validator = _get_engine_import_validator("pymssql", "mssql")
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
- return {
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
- import pymssql
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
- return pymssql.connect
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.dev1
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.26.0
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=7hh-fhvpsFAPwOfArTlM6CZ9gYvfxD3DI1WDSOp7590,528
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=HWplZfaZx1VSsBEs6B6EPg1QrdYCgXNot8d5B-AezMw,77697
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=nsBM9U6N6CmKCY8gr8PTNeQAMD8UeSM51uM9eCjlP3A,13880
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.dev1.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
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=k5bAEoPDJ0BhYQ4hBcKWObITCxIgqOUC28nGXvEDrt0,5472
281
- web/client/dist/assets/Audits-Pgs8N6IE.js,sha256=BQuc9kiznZSqTnzNrJSDNqAAdOTGjNQJt32M1sHZFok,1041
282
- web/client/dist/assets/Banner-DVsKo_4f.js,sha256=WzGUKwRxUQiF9a9TD8XNw6dQCFYk8CAjmt0V9FxfkC8,1549
283
- web/client/dist/assets/ChevronDownIcon-nW8Gsfc8.js,sha256=BLwnCGHfzIz3vnPiZ6_9jVEHOJ5o5PmUzXYljaEXImk,553
284
- web/client/dist/assets/ChevronRightIcon-dV0VWg50.js,sha256=7KPbZDJjg8-ZxHf-x9W5odr7gtowWUlMowxo2BUeqVs,553
285
- web/client/dist/assets/Content-C0JdHN-F.js,sha256=98SmlRO1MO4HqEWXrZ9ojLri1VEvxDJbM8yxGBqUvA8,803
286
- web/client/dist/assets/Content-DV3whS9M.js,sha256=UV6m6aGo2TFGTS_wbmxjinlCCbLpQ82S8ZGgRQdS76Q,37525
287
- web/client/dist/assets/Data-CGN0CnIX.js,sha256=EabtGqAXqSd1V7nQbb8nrEQTISe8P74ehGmiiYJ3IJQ,984
288
- web/client/dist/assets/DataCatalog-dshO8o7W.js,sha256=W9oVJTXn4DXUsoQNoO8tTsu4lHNHD9dXDZKvGvuw_jc,122486
289
- web/client/dist/assets/Editor-BV_q4XNs.js,sha256=CKdxqL7xWBBlcAQZmyFGIcOeNZuGu2gBQAc7YlI3TP0,1490
290
- web/client/dist/assets/Editor-UXlx6hNl.js,sha256=aUb8Cfd7ByEqVKX1Tq0Vwd6Y79H-zGOd9EySl2SdPLw,43614
291
- web/client/dist/assets/Errors-BZn1A8l3.js,sha256=GvEHt_fGwPi4Mg1I1b2S4CnJR-Wn1pDlU98pa3XEirE,1361
292
- web/client/dist/assets/FileExplorer-Bc12UBVw.js,sha256=Jjmhs6Z1VdWpsjJzA9LYTURspwRUuLiKWVidXoyux-8,87619
293
- web/client/dist/assets/Footer-BEjDDaSE.js,sha256=GI0MjjhVYF54194TbdkZenoztNJuGmGCkWca5pD8l8o,700
294
- web/client/dist/assets/Header-BUnVQQzm.js,sha256=tu8SHdMqJcXy6b3YtfoZXx_QDqNdwpZD4hDf5dnMC7Q,11424
295
- web/client/dist/assets/Input-CYkPiHdu.js,sha256=mpE6pAua8E8TDjJH5oI1CGsF5NRCZTqOUDAvhuM58TY,54814
296
- web/client/dist/assets/Lineage-Bb_XDi8Z.js,sha256=ZeMiyV9St68aRp90uYoOdEKnwJQEGZRdbZYS78oqNXo,1002
297
- web/client/dist/assets/ListboxShow-BoQTSdAK.js,sha256=s5_piO_zGFKueh5Vc2B2MQ2BUBSOA_NNwQ6IIoAHWP4,29911
298
- web/client/dist/assets/ModelLineage-Bkj5mIkh.js,sha256=0AnAX0FchJ2VXVFqFCb5esQBKlFzXl-aJjphT1UB7ro,15546
299
- web/client/dist/assets/Models-DnL6WJTs.js,sha256=h9gdG6AMAdfWkEBwHyUEE4XZEVnOPujUTsEC5Kr7Ngw,2194
300
- web/client/dist/assets/Page-CGKYDGz-.js,sha256=xtJwlcB14pX5YDLxJnvsMn4-JDmwTGUL797ER_cKEUE,589
301
- web/client/dist/assets/Plan-DcGriIiA.js,sha256=jTZ3OMFf4NBgFK2o-ErJADudvvYivbxIzsiKt1WhyN0,666
302
- web/client/dist/assets/PlusCircleIcon-G0dx9NQm.js,sha256=lS6qIgKb0WxcsyYIOSClowefuJHPLtAnH2OYHrXrqto,11698
303
- web/client/dist/assets/ReportErrors-B7Mr6CPy.js,sha256=zIKiB05tTC_qy9-H9J0S1y1bQbqXAPqdrEUofEIoTG0,5419
304
- web/client/dist/assets/Root-B7VWZ_LH.js,sha256=0oZVwBcYCKQhF806WuJmMYqllclq_l785GJRlpTU_ag,42195
305
- web/client/dist/assets/SearchList-BGwZi6Iv.js,sha256=jP6bKW1PEzXKeop9eCBGrwXRtWR7Qype_346DfYNS2Y,291947
306
- web/client/dist/assets/SelectEnvironment-Bq5yNhkA.js,sha256=VIIdjHRGsfODF1zAvUnMgHicwwjxTft8FDWFxPCQtI4,37637
307
- web/client/dist/assets/SourceList-ChD1dovq.js,sha256=fPqUQtFstkefsQbIR1oZfQ5FWY0ZyHC51Myx9zuQY0g,3205
308
- web/client/dist/assets/SourceListItem-BSGVpkoq.js,sha256=QgXSDYNo62s87kvH8XbXT_hZVEWAlL1iNyorKk086rU,1106
309
- web/client/dist/assets/SplitPane-3okSokAv.js,sha256=PQ4u8FDbj7VP9pswDlhO7ZU8Bfse8Vih2di8VhtH1hE,10439
310
- web/client/dist/assets/Tests-itL38hJI.js,sha256=tbLDJiTxRedWqWydop82xafnZ5kEwfQsEWZX5hVMkKs,1014
311
- web/client/dist/assets/Welcome-BP7z8PA1.js,sha256=9luJTr22abU43Pwojq87flVn2JZf4-me1n9RphjsIy8,354
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-D1hHNguh.js,sha256=_Bgl3secGJrdw9-4Jxzyk7vG0y72f0bm73OVSIt1W6w,4517
314
- web/client/dist/assets/context-DxH8yaYv.js,sha256=iviwogoZA35TgqCXXJ8Bw9sRcDhuO0e1Ma4rC1vcwFk,2043851
315
- web/client/dist/assets/editor-CiPjHBto.js,sha256=_9H4AR93_lR29iHcUG0FMJEFD_pgcjzzEmn3CMwpTS4,7858
316
- web/client/dist/assets/file-CafyWkYy.js,sha256=YfOZDSF-FNWjhcaMNABPIrY7WBX3ks6_aa08O3CiSN8,2349
317
- web/client/dist/assets/floating-ui.react-dom-C8DFRCmP.js,sha256=Oc05YcNKTp50UoEv5fDhN0AyylYdBRh89Hoc6xEALmk,22266
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-ClwWI4Vm.js,sha256=zJaqc1JyFFHjGvsAKrKNaKsT2563W85vesGmhX3gqpY,57842
320
- web/client/dist/assets/index-Cd9H4oK_.js,sha256=hMUhywWRWNDiYpHhOg0PVqTt46CmybmrzZ5aIJ2XklU,531620
321
- web/client/dist/assets/index-GDI1mjkA.js,sha256=_rbcoOfjNcEBIpGZbkwKrMhT4eto2LApS8yP-BdgtM0,13617
322
- web/client/dist/assets/plan-YZ0KB3_p.js,sha256=NjNHtBmfn8ttCrCXV_naDAoNQUS9HUvCwFQJO0lFdKA,13754
323
- web/client/dist/assets/popover-Cy5cZxvQ.js,sha256=cd7tJ4f7Mlq7czU0KpNBb61bYvVR16FNmqkrEKxHwP0,68101
324
- web/client/dist/assets/project-BDbQ0VpX.js,sha256=uJFttGO6UQEv2dWdmWrY3_nvq8nUuAyURU3pmd9T-qk,3338
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.dev1.dist-info/METADATA,sha256=Yc9GVN9IIzZxnLpB6NEFetXNdSHxdfCwK5dzFeQtJV8,26540
397
- sqlmesh-0.191.1.dev1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
398
- sqlmesh-0.191.1.dev1.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
399
- sqlmesh-0.191.1.dev1.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
400
- sqlmesh-0.191.1.dev1.dist-info/RECORD,,
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-Cd9H4oK_.js";import{P as j}from"./Page-CGKYDGz-.js";import{u as h}from"./project-BDbQ0VpX.js";import{S as v}from"./SourceList-ChD1dovq.js";import{S as A}from"./SourceListItem-BSGVpkoq.js";import"./SplitPane-3okSokAv.js";import"./file-CafyWkYy.js";import"./Input-CYkPiHdu.js";import"./floating-ui.react-dom-C8DFRCmP.js";import"./index-GDI1mjkA.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
+ 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-Cd9H4oK_.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
+ 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-Cd9H4oK_.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
+ 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-Cd9H4oK_.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
+ 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-Cd9H4oK_.js";import{D as u}from"./ReportErrors-B7Mr6CPy.js";import"./PlusCircleIcon-G0dx9NQm.js";import"./popover-Cy5cZxvQ.js";import"./floating-ui.react-dom-C8DFRCmP.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SplitPane-3okSokAv.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
+ 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-Cd9H4oK_.js";import{g as b,T as g}from"./help-ClwWI4Vm.js";import{u as r}from"./editor-CiPjHBto.js";import"./index-GDI1mjkA.js";import"./floating-ui.react-dom-C8DFRCmP.js";import"./Input-CYkPiHdu.js";import"./file-CafyWkYy.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};
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};