sqlmesh 0.187.6.dev6__py3-none-any.whl → 0.187.6.dev8__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 (55) hide show
  1. sqlmesh/_version.py +2 -2
  2. sqlmesh/core/context.py +8 -5
  3. sqlmesh/lsp/reference.py +194 -3
  4. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.dist-info}/METADATA +1 -1
  5. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.dist-info}/RECORD +54 -54
  6. web/client/dist/assets/{Audits-BPlxzqeG.js → Audits-C6gUfP0Y.js} +1 -1
  7. web/client/dist/assets/{Banner-BnIDM-p-.js → Banner-_C9c6nFf.js} +1 -1
  8. web/client/dist/assets/{ChevronDownIcon-v5uzV5KS.js → ChevronDownIcon-RfKS8PKd.js} +1 -1
  9. web/client/dist/assets/{ChevronRightIcon-lNBkq9fQ.js → ChevronRightIcon-CTOwDuap.js} +1 -1
  10. web/client/dist/assets/{Content-wP7OzMQ9.js → Content-Dxw_m-3F.js} +1 -1
  11. web/client/dist/assets/{Content-Dvky48vX.js → Content-Uj95lQQ-.js} +1 -1
  12. web/client/dist/assets/{Data-D2tj5W3z.js → Data-CH4v_k47.js} +1 -1
  13. web/client/dist/assets/{DataCatalog-H5ANpnSz.js → DataCatalog-CZgWBSbO.js} +1 -1
  14. web/client/dist/assets/{Editor-Dq1m6nff.js → Editor-CPGKdIv3.js} +1 -1
  15. web/client/dist/assets/{Editor-BpeAbLta.js → Editor-DDzPd4K5.js} +1 -1
  16. web/client/dist/assets/{Errors-BDlLsOz8.js → Errors-Bd_lCqWq.js} +1 -1
  17. web/client/dist/assets/{FileExplorer-BLOsvw4r.js → FileExplorer-FTqyN550.js} +1 -1
  18. web/client/dist/assets/{Footer-B4UOL2Zx.js → Footer-By8eV-Xw.js} +1 -1
  19. web/client/dist/assets/{Header-KC58-CQw.js → Header-CWgMNmyS.js} +1 -1
  20. web/client/dist/assets/{Input-DQ3H5Jf5.js → Input-tTLAeFk_.js} +1 -1
  21. web/client/dist/assets/Lineage-B24dFVy0.js +1 -0
  22. web/client/dist/assets/{ListboxShow-Bp0ARqZ0.js → ListboxShow-BnVk8Pao.js} +1 -1
  23. web/client/dist/assets/{ModelLineage-Du6fUL20.js → ModelLineage-CfoiOAVb.js} +1 -1
  24. web/client/dist/assets/{Models-BqQSh5xi.js → Models-C0WhiYIC.js} +1 -1
  25. web/client/dist/assets/{Page-C9v-mVEC.js → Page-LHbK1yD_.js} +1 -1
  26. web/client/dist/assets/{Plan-zagXv_gS.js → Plan-MwkSS6xa.js} +1 -1
  27. web/client/dist/assets/{PlusCircleIcon-DgugPkXr.js → PlusCircleIcon-CPdy9bpf.js} +1 -1
  28. web/client/dist/assets/{ReportErrors-ClY5ezEU.js → ReportErrors-9LAVRQKL.js} +1 -1
  29. web/client/dist/assets/{Root-BnlPjbrk.js → Root-CpkGXO_A.js} +1 -1
  30. web/client/dist/assets/{SearchList-B1ophTod.js → SearchList-DCuxxaPn.js} +1 -1
  31. web/client/dist/assets/{SelectEnvironment-CheqF0wg.js → SelectEnvironment-CltENlzE.js} +1 -1
  32. web/client/dist/assets/{SourceList-C_z4JbJU.js → SourceList-u_0soueL.js} +1 -1
  33. web/client/dist/assets/{SourceListItem-Be4vNQZL.js → SourceListItem-CHxTMFnQ.js} +1 -1
  34. web/client/dist/assets/{SplitPane-C8CPNQrK.js → SplitPane-DO1JEVxf.js} +1 -1
  35. web/client/dist/assets/{Tests-DuGqAE7Q.js → Tests-D_-8MKq9.js} +1 -1
  36. web/client/dist/assets/{Welcome-BovgrYsq.js → Welcome-DTulZMrl.js} +1 -1
  37. web/client/dist/assets/{context-BJbxiwu1.js → context-B7_ioojx.js} +1 -1
  38. web/client/dist/assets/{context-C7kvMRgQ.js → context-ByRTRbGV.js} +30 -30
  39. web/client/dist/assets/{editor-C3xrJUHo.js → editor-IxXTso9p.js} +1 -1
  40. web/client/dist/assets/{file-Cn8UMGdB.js → file-CtGXXxxH.js} +1 -1
  41. web/client/dist/assets/{floating-ui.react-dom-njuatPE_.js → floating-ui.react-dom-BqmCcnHz.js} +1 -1
  42. web/client/dist/assets/{help-B9pKFCi-.js → help-DZgsqPrY.js} +1 -1
  43. web/client/dist/assets/{index-D0B238GC.js → index-BOoFTMqX.js} +8 -8
  44. web/client/dist/assets/{index-0HTVGXbP.js → index-D-NV5rsk.js} +1 -1
  45. web/client/dist/assets/{plan-BT_YMvAu.js → plan-BITq8bOv.js} +1 -1
  46. web/client/dist/assets/{popover-zR5tE2ci.js → popover-CThXyzI8.js} +1 -1
  47. web/client/dist/assets/{project-8LRoNrpG.js → project-D9WffyNb.js} +1 -1
  48. web/client/dist/index.html +1 -1
  49. web/server/api/endpoints/files.py +1 -1
  50. web/server/utils.py +1 -2
  51. web/client/dist/assets/Lineage-COIwTlx7.js +0 -1
  52. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.dist-info}/WHEEL +0 -0
  53. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.dist-info}/entry_points.txt +0 -0
  54. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.dist-info}/licenses/LICENSE +0 -0
  55. {sqlmesh-0.187.6.dev6.dist-info → sqlmesh-0.187.6.dev8.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.187.6.dev6'
21
- __version_tuple__ = version_tuple = (0, 187, 6, 'dev6')
20
+ __version__ = version = '0.187.6.dev8'
21
+ __version_tuple__ = version_tuple = (0, 187, 6, 'dev8')
sqlmesh/core/context.py CHANGED
@@ -932,19 +932,22 @@ class GenericContext(BaseContext, t.Generic[C]):
932
932
 
933
933
  return snapshot
934
934
 
935
- def config_for_path(self, path: Path) -> Config:
935
+ def config_for_path(self, path: Path) -> t.Tuple[Config, Path]:
936
+ """Returns the config and path of the said project for a given file path."""
936
937
  for config_path, config in self.configs.items():
937
938
  try:
938
939
  path.relative_to(config_path)
939
- return config
940
+ return config, config_path
940
941
  except ValueError:
941
942
  pass
942
- return self.config
943
+ return self.config, self.path
943
944
 
944
945
  def config_for_node(self, node: str | Model | Audit) -> Config:
945
946
  if isinstance(node, str):
946
- return self.config_for_path(self.get_snapshot(node, raise_if_missing=True).node._path) # type: ignore
947
- return self.config_for_path(node._path) # type: ignore
947
+ return self.config_for_path(self.get_snapshot(node, raise_if_missing=True).node._path)[
948
+ 0
949
+ ] # type: ignore
950
+ return self.config_for_path(node._path)[0] # type: ignore
948
951
 
949
952
  @property
950
953
  def models(self) -> MappingProxyType[str, Model]:
sqlmesh/lsp/reference.py CHANGED
@@ -1,6 +1,8 @@
1
1
  from lsprotocol.types import Range, Position
2
2
  import typing as t
3
+ from pathlib import Path
3
4
 
5
+ from sqlmesh.core.audit import StandaloneAudit
4
6
  from sqlmesh.core.dialect import normalize_model_name
5
7
  from sqlmesh.core.model.definition import SqlModel
6
8
  from sqlmesh.lsp.context import LSPContext, ModelTarget, AuditTarget
@@ -10,6 +12,10 @@ from sqlglot.optimizer.scope import build_scope
10
12
  from sqlmesh.lsp.uri import URI
11
13
  from sqlmesh.utils.pydantic import PydanticModel
12
14
  from sqlglot.optimizer.normalize_identifiers import normalize_identifiers
15
+ import ast
16
+ from sqlmesh.core.model import Model
17
+ from sqlmesh import macro
18
+ import inspect
13
19
 
14
20
 
15
21
  class Reference(PydanticModel):
@@ -72,6 +78,11 @@ def get_references(
72
78
  A list of references at the given position
73
79
  """
74
80
  references = get_model_definitions_for_a_path(lint_context, document_uri)
81
+
82
+ # Get macro references before filtering by position
83
+ macro_references = get_macro_definitions_for_a_path(lint_context, document_uri)
84
+ references.extend(macro_references)
85
+
75
86
  filtered_references = list(filter(by_position(position), references))
76
87
  return filtered_references
77
88
 
@@ -134,9 +145,12 @@ def get_model_definitions_for_a_path(
134
145
  with open(file_path, "r", encoding="utf-8") as file:
135
146
  read_file = file.readlines()
136
147
 
137
- # Build scope tree to properly handle nested CTEs
138
- query = normalize_identifiers(query.copy(), dialect=dialect)
139
- root_scope = build_scope(query)
148
+ # Build a scope tree to properly handle nested CTEs
149
+ try:
150
+ query = normalize_identifiers(query.copy(), dialect=dialect)
151
+ root_scope = build_scope(query)
152
+ except Exception:
153
+ root_scope = None
140
154
 
141
155
  if root_scope:
142
156
  # Traverse all scopes to find CTE definitions and table references
@@ -287,3 +301,180 @@ def _range_from_token_position_details(
287
301
  start=Position(line=start_line_0, character=start_col_0),
288
302
  end=Position(line=end_line_0, character=end_col_0),
289
303
  )
304
+
305
+
306
+ def get_macro_definitions_for_a_path(
307
+ lsp_context: LSPContext, document_uri: URI
308
+ ) -> t.List[Reference]:
309
+ """
310
+ Get macro references for a given path.
311
+
312
+ This function finds all macro invocations (e.g., @ADD_ONE, @MULTIPLY) in a SQL file
313
+ and creates references to their definitions in the Python macro files.
314
+
315
+ Args:
316
+ lsp_context: The LSP context containing macro definitions
317
+ document_uri: The URI of the document to search for macro invocations
318
+
319
+ Returns:
320
+ A list of Reference objects for each macro invocation found
321
+ """
322
+ path = document_uri.to_path()
323
+ if path.suffix != ".sql":
324
+ return []
325
+
326
+ # Get the file info from the context map
327
+ if path not in lsp_context.map:
328
+ return []
329
+
330
+ file_info = lsp_context.map[path]
331
+ # Process based on whether it's a model or standalone audit
332
+ if isinstance(file_info, ModelTarget):
333
+ # It's a model
334
+ target: t.Optional[t.Union[Model, StandaloneAudit]] = lsp_context.context.get_model(
335
+ model_or_snapshot=file_info.names[0], raise_if_missing=False
336
+ )
337
+ if target is None or not isinstance(target, SqlModel):
338
+ return []
339
+ query = target.query
340
+ file_path = target._path
341
+ elif isinstance(file_info, AuditTarget):
342
+ # It's a standalone audit
343
+ target = lsp_context.context.standalone_audits.get(file_info.name)
344
+ if target is None:
345
+ return []
346
+ query = target.query
347
+ file_path = target._path
348
+ else:
349
+ return []
350
+
351
+ references = []
352
+ config_for_model, config_path = lsp_context.context.config_for_path(
353
+ file_path,
354
+ )
355
+
356
+ with open(file_path, "r", encoding="utf-8") as file:
357
+ read_file = file.readlines()
358
+
359
+ for node in query.find_all(exp.Anonymous):
360
+ macro_name = node.name.lower()
361
+ reference = get_macro_reference(
362
+ node=node,
363
+ target=target,
364
+ read_file=read_file,
365
+ config_path=config_path,
366
+ macro_name=macro_name,
367
+ )
368
+ if reference is not None:
369
+ references.append(reference)
370
+
371
+ return references
372
+
373
+
374
+ def get_macro_reference(
375
+ target: t.Union[Model, StandaloneAudit],
376
+ read_file: t.List[str],
377
+ config_path: t.Optional[Path],
378
+ node: exp.Expression,
379
+ macro_name: str,
380
+ ) -> t.Optional[Reference]:
381
+ # Get the file path where the macro is defined
382
+ try:
383
+ # Get the position of the macro invocation in the source file first
384
+ if hasattr(node, "meta") and node.meta:
385
+ token_details = TokenPositionDetails.from_meta(node.meta)
386
+ macro_range = _range_from_token_position_details(token_details, read_file)
387
+
388
+ # Check if it's a built-in method
389
+ if builtin := get_built_in_macro_reference(macro_name, macro_range):
390
+ return builtin
391
+ else:
392
+ # Skip if we can't get the position
393
+ return None
394
+
395
+ # Find the macro definition information
396
+ macro_def = target.python_env.get(macro_name)
397
+ if macro_def is None:
398
+ return None
399
+
400
+ function_name = macro_def.name
401
+ if not function_name:
402
+ return None
403
+ if not macro_def.path:
404
+ return None
405
+ if not config_path:
406
+ return None
407
+ path = Path(config_path).joinpath(macro_def.path)
408
+
409
+ # Parse the Python file to find the function definition
410
+ with open(path, "r") as f:
411
+ tree = ast.parse(f.read())
412
+ with open(path, "r") as f:
413
+ output_read_line = f.readlines()
414
+
415
+ # Find the function definition by name
416
+ start_line = None
417
+ end_line = None
418
+ get_length_of_end_line = None
419
+ docstring = None
420
+ for ast_node in ast.walk(tree):
421
+ if isinstance(ast_node, ast.FunctionDef) and ast_node.name == function_name:
422
+ start_line = ast_node.lineno
423
+ end_line = ast_node.end_lineno
424
+ get_length_of_end_line = (
425
+ len(output_read_line[end_line - 1])
426
+ if end_line is not None and end_line - 1 < len(read_file)
427
+ else 0
428
+ )
429
+ # Extract docstring if present
430
+ docstring = ast.get_docstring(ast_node)
431
+ break
432
+
433
+ if start_line is None or end_line is None or get_length_of_end_line is None:
434
+ return None
435
+
436
+ # Create a reference to the macro definition
437
+ macro_uri = URI.from_path(path)
438
+
439
+ return Reference(
440
+ uri=macro_uri.value,
441
+ range=macro_range,
442
+ target_range=Range(
443
+ start=Position(line=start_line - 1, character=0),
444
+ end=Position(line=end_line - 1, character=get_length_of_end_line),
445
+ ),
446
+ markdown_description=docstring,
447
+ )
448
+ except Exception:
449
+ return None
450
+
451
+
452
+ def get_built_in_macro_reference(macro_name: str, macro_range: Range) -> t.Optional[Reference]:
453
+ """
454
+ Get a reference to a built-in macro by its name.
455
+
456
+ Args:
457
+ macro_name: The name of the built-in macro (e.g., 'each', 'sql_literal')
458
+ macro_range: The range of the macro invocation in the source file
459
+ """
460
+ built_in_macros = macro.get_registry()
461
+ built_in_macro = built_in_macros.get(macro_name)
462
+ if built_in_macro is None:
463
+ return None
464
+
465
+ func = built_in_macro.func
466
+ filename = inspect.getfile(func)
467
+ source_lines, line_number = inspect.getsourcelines(func)
468
+
469
+ # Calculate the end line number by counting the number of source lines
470
+ end_line_number = line_number + len(source_lines) - 1
471
+
472
+ return Reference(
473
+ uri=URI.from_path(Path(filename)).value,
474
+ range=macro_range,
475
+ target_range=Range(
476
+ start=Position(line=line_number - 1, character=0),
477
+ end=Position(line=end_line_number - 1, character=0),
478
+ ),
479
+ markdown_description=func.__doc__ if func.__doc__ else None,
480
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.187.6.dev6
3
+ Version: 0.187.6.dev8
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=69xw6bTmi4cW90M-sl3g6wLDgxVcLHcKg1q8GS3lqyA,7466
2
- sqlmesh/_version.py,sha256=nwLeHNJZHDMcITzvamR5IDQO8DhPkF3cQ712so8RVsw,528
2
+ sqlmesh/_version.py,sha256=t-q_qJgc2Z8fYDdUBhH1EGGu4syoJaadC7IgtdmizXI,528
3
3
  sqlmesh/magics.py,sha256=JHorAZNtezf123jmTyNSoUC9yHmv-08hMP205PJmmIo,39750
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -13,7 +13,7 @@ sqlmesh/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  sqlmesh/core/_typing.py,sha256=e1f7xO2aZCy38M_3VoDy-XI3shyd99-IFctgIFSgXWM,497
14
14
  sqlmesh/core/console.py,sha256=ZAaGLOWBJGBxPzLV7KZZ9akPExgD5m5AboCM8O0Q0nY,150944
15
15
  sqlmesh/core/constants.py,sha256=oqt6zjepUhQoWlgapKn_HpG7Pu9mrFwepdX5caNfJUI,2499
16
- sqlmesh/core/context.py,sha256=gOwToFkXSQjb71Ki3cEqfxYjS64p2T2XKfZPVBtjGQA,115624
16
+ sqlmesh/core/context.py,sha256=qdnbqhTJsxYXs8RcqSq8KRBOlxN6BL0XMFCmHHz0XTc,115784
17
17
  sqlmesh/core/context_diff.py,sha256=s9toP17d4tJfOpFH91LcjGK2CM64PVuB0MPkeFgF4hQ,20415
18
18
  sqlmesh/core/dialect.py,sha256=fPTV517IOS0nWMxYznNNQnXkQkFFrPOSKe8ghsQ0o8A,49759
19
19
  sqlmesh/core/environment.py,sha256=Fsih6WZ7Tx4ec0XIlmIIspUWcmijPNW5uHPRQSWuhA8,12315
@@ -161,7 +161,7 @@ sqlmesh/lsp/context.py,sha256=nCWg2uVH28-IJC2uDYuCbiXTh1lUFElSpNu4Q-fDWi4,2918
161
161
  sqlmesh/lsp/custom.py,sha256=1YVcQz0y-4cdsvTdOQvlhUQXwOqPBWi3v_u1X2EqQxE,901
162
162
  sqlmesh/lsp/description.py,sha256=4QIGC9ix8IzmWF6DVUNhY4m1Crk3sNQA6hZ1RbyqU78,827
163
163
  sqlmesh/lsp/main.py,sha256=Lg_XHxXNScStf0aiOUptijZnBLOIjcmmhsFgM5w2rNo,27405
164
- sqlmesh/lsp/reference.py,sha256=v4VXMYQY9rPC8b5w-jzob3i77VdZ1FZ8sA_-sWuPx7M,10502
164
+ sqlmesh/lsp/reference.py,sha256=-HkMMzRzq4ike5mSkoWajanYNMAwhQhlPaqw62451ac,16887
165
165
  sqlmesh/lsp/uri.py,sha256=mvSLbZGmMTHPpliThOtVWiFcHnfJzp1w39q9l-xD2SI,802
166
166
  sqlmesh/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  sqlmesh/migrations/v0001_init.py,sha256=h8FwMYJj9_O8yGpk12guaSaGwX5A3we2GiKeHrXi15o,2048
@@ -270,53 +270,53 @@ sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,116
270
270
  sqlmesh/utils/rich.py,sha256=xNZyPCqEc4TAlJlsEthg-5eYUWpaizz0QjBzO7a1Yv4,1509
271
271
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
272
272
  sqlmesh/utils/yaml.py,sha256=np-WVcwmwsKghCgAj1OBBMsK1SXSRn4wR-H37cGiFr8,2282
273
- sqlmesh-0.187.6.dev6.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
273
+ sqlmesh-0.187.6.dev8.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
274
274
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
- web/client/dist/index.html,sha256=M50OuwjW63dRCS0Dz40Yecgvw9ecLFqizbTa6gv5Nd4,5472
276
- web/client/dist/assets/Audits-BPlxzqeG.js,sha256=TCx1qCjCGgmUSvH6HoPr5t8ztbRXMlOxrcW4o7hRjlA,1041
277
- web/client/dist/assets/Banner-BnIDM-p-.js,sha256=t51SWQ14HbO-G8bLMBXq9uf5lojKlKGsiLk5IDLhNfY,1549
278
- web/client/dist/assets/ChevronDownIcon-v5uzV5KS.js,sha256=Sk4lLWzUSHJKDfIJVV_l3DulqjKS_KUvg5CsOJg2LRY,553
279
- web/client/dist/assets/ChevronRightIcon-lNBkq9fQ.js,sha256=VLd-7z69i8gvwkxAvI2M1NkL73UVWrCdqbOdKrDXoL8,553
280
- web/client/dist/assets/Content-Dvky48vX.js,sha256=W9V20VvW9kE4l5t-vRlfhdzvskPFLWKD76erdYWJXcE,37525
281
- web/client/dist/assets/Content-wP7OzMQ9.js,sha256=S-xGe8-eLnId1IDHaZsJIXWbkDW-p7Wb48Qj19P-mb0,803
282
- web/client/dist/assets/Data-D2tj5W3z.js,sha256=ckx9IyhK3yVyqF0bXueVflA4bYMQxZ8ekToMqNdt5_w,984
283
- web/client/dist/assets/DataCatalog-H5ANpnSz.js,sha256=Bc1X6IK05QtEELEIQ8GevPwFBYgfVmfUAzGXKyj_5Eo,122464
284
- web/client/dist/assets/Editor-BpeAbLta.js,sha256=4vzo01r4FcBbaUUdTw38cdyQ13iD-ingFcE51gxLJiA,1490
285
- web/client/dist/assets/Editor-Dq1m6nff.js,sha256=ny8V1tCQwBS0mD-8uNT1DGTTVgRnWgaeKA37nGV2cVQ,43614
286
- web/client/dist/assets/Errors-BDlLsOz8.js,sha256=RZaIyqj7vcjuCXaD7AWClmdiy0rw1Yuef8yDdkz1u3w,1361
287
- web/client/dist/assets/FileExplorer-BLOsvw4r.js,sha256=I1QH90ZDZlsuFFymhxY7M3I2fnfeJ4W8JMcsgWXeZXk,87619
288
- web/client/dist/assets/Footer-B4UOL2Zx.js,sha256=DgLjOjhOwXrSEStRJEHMPIdfhpXKc3kdOp5AYs-2K64,700
289
- web/client/dist/assets/Header-KC58-CQw.js,sha256=QjUssOffhjXSvE3bb_i8d6Qe0JsG8EXl6jRhz9xBoM0,11424
290
- web/client/dist/assets/Input-DQ3H5Jf5.js,sha256=ZmZiVRrGQzxZpM1ImuvKX4t_muuGTYSEullb13ngKKY,54762
291
- web/client/dist/assets/Lineage-COIwTlx7.js,sha256=xgFIhg8z9waUug-UQyg2gC_Uh6FsTQp-dwEjcRO9g4w,1002
292
- web/client/dist/assets/ListboxShow-Bp0ARqZ0.js,sha256=bunCbnee7hW-1fLOKGn_TMNtbExXUyJZlUOdEGdqU_0,29911
293
- web/client/dist/assets/ModelLineage-Du6fUL20.js,sha256=1PAoXP8OSxWzx46VYTz0QA8zTupIVnwuKzhZv8DFf8M,15546
294
- web/client/dist/assets/Models-BqQSh5xi.js,sha256=KeWh96kR52K4f5xW3GEiaNcSkzFEHOX0PBJuBgLMBcw,2194
295
- web/client/dist/assets/Page-C9v-mVEC.js,sha256=CQh22jMfYOhQ1a5TkuR5-4cyguZjOW4vX0q7urUwTtA,589
296
- web/client/dist/assets/Plan-zagXv_gS.js,sha256=KTMUN52W0Qza-rB07RjGq_SOlA9hVRFihmEQd5I38Iw,666
297
- web/client/dist/assets/PlusCircleIcon-DgugPkXr.js,sha256=AQQV8_QObLGRBcW1K1gA9_Y-M0ISr7fOvvCiXSlH5ig,11698
298
- web/client/dist/assets/ReportErrors-ClY5ezEU.js,sha256=0h06mDvTDy923ji9uO7YAaxqi0FxIzqf1wmlv_-SvHI,5419
299
- web/client/dist/assets/Root-BnlPjbrk.js,sha256=VJXTpIvEpBG3KeHsc9cI0MwksNPFu101PpqF_JYbm5I,42195
300
- web/client/dist/assets/SearchList-B1ophTod.js,sha256=68FDWRTPK6BWMazJSvbdwRa_1AMOH6DCM179MgMda-8,291983
301
- web/client/dist/assets/SelectEnvironment-CheqF0wg.js,sha256=0i4bYX7QSDqouHSp3xwUIR5vJgXFmDJORopuRqHclMM,37637
302
- web/client/dist/assets/SourceList-C_z4JbJU.js,sha256=4wCpCOPpl0e3-np5o9HUOHVeTyk_AhZ_TkqsceVO7Ps,3205
303
- web/client/dist/assets/SourceListItem-Be4vNQZL.js,sha256=uAT-JXsD8vtMKsuoy0B6v1ts2y4jZ_kFlbAPM7CRQuw,1106
304
- web/client/dist/assets/SplitPane-C8CPNQrK.js,sha256=NYjYtqiZTWYAQe-uZnQeZ8a6B2QCDuGQRWMugHqzAuc,10439
305
- web/client/dist/assets/Tests-DuGqAE7Q.js,sha256=Q_oTZ7LJqRGSZ6pBJ-GG6Ft61CzYPOC95J4twJMJmPQ,1014
306
- web/client/dist/assets/Welcome-BovgrYsq.js,sha256=vOII0ivu5CdxihGnB7bKUTuiAl0ikKMtoKx0pkIVRCs,354
275
+ web/client/dist/index.html,sha256=8vySM6CmjEU7pX2XGNeYyHR4PwjYGMsYT_RJn3p8Qt8,5472
276
+ web/client/dist/assets/Audits-C6gUfP0Y.js,sha256=fgwKzn8EkoySQW3vumBtag39Tf7tKZ1CAjrtgiV6nVg,1041
277
+ web/client/dist/assets/Banner-_C9c6nFf.js,sha256=hGSMnU-Zmutt4YNdNkwg-jKE9OlPjQeULQifBdotSlY,1549
278
+ web/client/dist/assets/ChevronDownIcon-RfKS8PKd.js,sha256=XquGUICqkVP2nKhT55sDNAxYOZwGLSOCVWK-9qtrYeI,553
279
+ web/client/dist/assets/ChevronRightIcon-CTOwDuap.js,sha256=Kp7tXDvLy08rGX857CvNKpxK1ZM1voyQ0BhsPzSiBz4,553
280
+ web/client/dist/assets/Content-Dxw_m-3F.js,sha256=2tCL_vMTE21ljC7jovcFsLTghWCzNn1CSLwsAS24k6w,803
281
+ web/client/dist/assets/Content-Uj95lQQ-.js,sha256=ThFYaN_37COh1Ex8fhm0nUV4lYPKPK7qBz04eVGvQ5Q,37525
282
+ web/client/dist/assets/Data-CH4v_k47.js,sha256=FtHpolZ2s4xFYGB2WftK3bxH_ofkdeFPyY265vXJl3o,984
283
+ web/client/dist/assets/DataCatalog-CZgWBSbO.js,sha256=0EPDEoUQ274TF3LYesGQSwI1SX1v9KPDzMK6F3VJE5E,122464
284
+ web/client/dist/assets/Editor-CPGKdIv3.js,sha256=kdcII6GnxjQ5fpI5w4WM3hBAkFmNZe7K5MbzyrUkG6w,43614
285
+ web/client/dist/assets/Editor-DDzPd4K5.js,sha256=ocjBvMxBQmSI41y53wkHSXJl4a7LEV5yOB-fYZ34-RA,1490
286
+ web/client/dist/assets/Errors-Bd_lCqWq.js,sha256=yssKcyqinPUHwqqC-2MdHWTJXzFCvN8JYYsz8Nv3cJ8,1361
287
+ web/client/dist/assets/FileExplorer-FTqyN550.js,sha256=kpw7dZjsetzcJfBUYilG9TxMbB7LJdGO2PI9T6uklww,87619
288
+ web/client/dist/assets/Footer-By8eV-Xw.js,sha256=VmipP5rdEi5J0wgzNxuaPJahH5Bs2iQ-rIXokt47oxI,700
289
+ web/client/dist/assets/Header-CWgMNmyS.js,sha256=xHHIZPCPtf3D_twGczDQFG4rJJqSan0ik2MwBJx5JhE,11424
290
+ web/client/dist/assets/Input-tTLAeFk_.js,sha256=0NvLpJyhFlSRpoii8Rw0kkpZL6UQvqJofyZ6CtWyIIY,54762
291
+ web/client/dist/assets/Lineage-B24dFVy0.js,sha256=SDSpwYVvxnv3nR8ajlRZAvLQdRqmFDKapS_-t5dByPA,1002
292
+ web/client/dist/assets/ListboxShow-BnVk8Pao.js,sha256=21utItoWK1_Z7mO9hb8rB4dzBpYcwR67MAvsxeVS9AU,29911
293
+ web/client/dist/assets/ModelLineage-CfoiOAVb.js,sha256=TpX6nqlxrxUz5H6FWJFPPOmUylHHONpLtcwL9IdC1K0,15546
294
+ web/client/dist/assets/Models-C0WhiYIC.js,sha256=_A_J-isthWSwBACutDdKtkVSOFXvAsnxGVfCqcKhjwI,2194
295
+ web/client/dist/assets/Page-LHbK1yD_.js,sha256=SyzAMHijqIfq8vtiAiMtYZ5QON0q52--8TvOew03sjM,589
296
+ web/client/dist/assets/Plan-MwkSS6xa.js,sha256=oq0YAYYFY90bcu04QC_HAkido85WKk1cwRC4GOM1Fbo,666
297
+ web/client/dist/assets/PlusCircleIcon-CPdy9bpf.js,sha256=0tTpCrcTMrBwCtR3vrMzLfaF4zLBpJuqFewdnqn9QxY,11698
298
+ web/client/dist/assets/ReportErrors-9LAVRQKL.js,sha256=u8GQoJbChwgOnGbP_Nl_xI0DFJp3yX5V8Fh9NEyzi3s,5419
299
+ web/client/dist/assets/Root-CpkGXO_A.js,sha256=FAab1_hPThWp7PfqeJBFVSGOb7uanUhS21fxa5CK2gs,42195
300
+ web/client/dist/assets/SearchList-DCuxxaPn.js,sha256=ztgIhC9WWAAHa1tmtE_cUD6JmQn8y_yg1DiQTWtk6Wc,291983
301
+ web/client/dist/assets/SelectEnvironment-CltENlzE.js,sha256=5xZn3sxYxlf8NyZ-OHIri0VaK7jVXJZgQTev0f-u1oA,37637
302
+ web/client/dist/assets/SourceList-u_0soueL.js,sha256=jbbw4LnoTj1rbgMFJKEIOGSfYfNsVE0cDrPTTLtigmk,3205
303
+ web/client/dist/assets/SourceListItem-CHxTMFnQ.js,sha256=sXIp_m9CYqoUaMqC9ZYL77kgM1cmTVW9stwKO2qx9NI,1106
304
+ web/client/dist/assets/SplitPane-DO1JEVxf.js,sha256=wX4H77DQdK4sh66oPaRAIjVVNceXedaOcDcB_x1QQzg,10439
305
+ web/client/dist/assets/Tests-D_-8MKq9.js,sha256=ALocSXnbRuMy3supTdHrRHhabiflJza8G0y6Y5xMKvM,1014
306
+ web/client/dist/assets/Welcome-DTulZMrl.js,sha256=jpLQFORBeA76xkC_9bN2BzFIGvX1DdHNARLOXXBuBe4,354
307
307
  web/client/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js,sha256=WQq4BXvAMsPhT58adqrv_QHaYJQT-xKIiBnKBDPB-uk,239
308
- web/client/dist/assets/context-BJbxiwu1.js,sha256=_xHQTz04xJFWlIaCI5wha9-JQ2fmjoqqzGe8L_x5JnI,4517
309
- web/client/dist/assets/context-C7kvMRgQ.js,sha256=-lKLe6mZWphfKV-U2DBFLm-5qAVBDE4_r8zJ74J_KVA,2043300
310
- web/client/dist/assets/editor-C3xrJUHo.js,sha256=E--sacrQGzP8uBXvfryOnyzszGsG4tQRuXRIv-G9XEI,7858
311
- web/client/dist/assets/file-Cn8UMGdB.js,sha256=P5wJ-RYkoTwq5SVje2fFivfLuYCEurHKbNZlupDJrqY,2349
312
- web/client/dist/assets/floating-ui.react-dom-njuatPE_.js,sha256=MyEyu49eMF4wC9MZXuV6m0qQ08jFUNzWzhOVd8Fql5E,22264
308
+ web/client/dist/assets/context-B7_ioojx.js,sha256=KL77RWbd8BbyqpQ1I1bDOv7uKytF8qRkyqQZY-PKdz0,4517
309
+ web/client/dist/assets/context-ByRTRbGV.js,sha256=U3-rAmOByd3G89QTIwAWKOQyLmaGbX_2Vhi6pDBp9K4,2043777
310
+ web/client/dist/assets/editor-IxXTso9p.js,sha256=UWbqhOKBoSojkYRCOPbmEuYbAIMwdoZnIvV2DChy7oY,7858
311
+ web/client/dist/assets/file-CtGXXxxH.js,sha256=Hmwx1J0KQMz0hcpqXiIynntwFpCDbMP5_938ZarD5-A,2349
312
+ web/client/dist/assets/floating-ui.react-dom-BqmCcnHz.js,sha256=hUj2Zpxmmuh4sZRjdhbW3WQdZO1jxbwFasZwBzAubkw,22264
313
313
  web/client/dist/assets/help-6Q7f7fjd.js,sha256=93Iri9PzpAiPgCyRsrQwABjP2jomAUNR7y2OqHxPf34,445
314
- web/client/dist/assets/help-B9pKFCi-.js,sha256=kennh2r-HMenkP_cWZFSl-KhZsfiF4kO96fmnvEcOso,57842
315
- web/client/dist/assets/index-0HTVGXbP.js,sha256=xObxBzbbifnuu2eX4UTCMKv962DVoiliLOhcmI1ZdjY,13582
316
- web/client/dist/assets/index-D0B238GC.js,sha256=7vwZdl-LV3Fbad0gHvqDWZjMFu0Fw3JCEbV9631Jfas,531341
317
- web/client/dist/assets/plan-BT_YMvAu.js,sha256=aN7T5SXTRYirij32hq8AsPFIbddk07mImucGSXUTTcM,13754
318
- web/client/dist/assets/popover-zR5tE2ci.js,sha256=5pzkErx6jz2Fjt1YjQoe-xwe6y0bLEqyn0HYJtU0Xt8,68101
319
- web/client/dist/assets/project-8LRoNrpG.js,sha256=7kDyC1Nd8A1jv_EjdbHTcLrX9jHwbdmr4VmNoyOlBMA,3338
314
+ web/client/dist/assets/help-DZgsqPrY.js,sha256=u34E2lFVgPEukvLepY35LaguZ9NvafB2IAjpUCfhPX8,57842
315
+ web/client/dist/assets/index-BOoFTMqX.js,sha256=6bJ--bovDCOYxNYsdTGPX9dkUhJGud7dInwHj5iDslQ,531532
316
+ web/client/dist/assets/index-D-NV5rsk.js,sha256=MOQca9xczbp7ryFp7CvKNQ4pWZrLAHcCA3Kn-E468rI,13582
317
+ web/client/dist/assets/plan-BITq8bOv.js,sha256=PM_G9uJMrLje18K44Wxbf9aftxeA_oIekqxKylI_QNg,13754
318
+ web/client/dist/assets/popover-CThXyzI8.js,sha256=Og-Lr2D_aptCqqoa1iK7TlQV59y2XPmwueK_kA5F3OM,68101
319
+ web/client/dist/assets/project-D9WffyNb.js,sha256=2EiQGE1FNRjLDvmBzIYSnu7YpGKPHGL7ljMvoFQYPDY,3338
320
320
  web/client/dist/css/base.css,sha256=JApDmQihY7DRy5Bd30uYMm5NdMKm0QsEOMBsOuK7gyU,9048
321
321
  web/client/dist/css/design.css,sha256=9VTHN-aYFVW6I53jUWbV8qaqo87tXyZTYSWFLC_sRQY,17057
322
322
  web/client/dist/favicons/favicon.svg,sha256=ZPNT00J77RHUj6Nlh6Z4Puxnp_oq9RSqACjomhDRUXE,1586
@@ -373,7 +373,7 @@ web/server/main.py,sha256=9PaDa8sigo1z0AxtI3sQ3fHmDqs6uXwP-_IvoMwkznw,3199
373
373
  web/server/models.py,sha256=NUI2xqDcav20uuC2BZ9xDL2x0v16-gpVT1Sb-WHfAcg,15518
374
374
  web/server/openapi.py,sha256=NOg__YQg7arVdajQv5CvOA5KLTQCfGZFvwnjARuM6iE,586
375
375
  web/server/settings.py,sha256=PuWrOmn5LpJMBTymCMQreqMsL93tClTJ6wlcAZXjgCo,3755
376
- web/server/utils.py,sha256=WodQI75kQTXVCO_g1g9Sf0_b-9yoYFieb_xcKRpZ470,3986
376
+ web/server/utils.py,sha256=xqfzyqzsFSZu9Q9QHBCNvULUpAC6viInsznOJwcU6ig,3988
377
377
  web/server/watcher.py,sha256=5biJ8gbHmGNUrooMFWRmw00XDVg0bMx6Hub571cs6TI,5246
378
378
  web/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
379
  web/server/api/endpoints/__init__.py,sha256=FcXl56-kPqbKgCZKOx0kjE50hn37q1m-nwOCxI9tRcc,932
@@ -381,15 +381,15 @@ web/server/api/endpoints/commands.py,sha256=MVlxC-QG6VMEcboHYeuTdtsd7WgPpqJcQDa1
381
381
  web/server/api/endpoints/directories.py,sha256=Aa8U4pTs3Saj5DnJ9TDnX9mZois-EXgpcBm5GpNNM_s,1822
382
382
  web/server/api/endpoints/environments.py,sha256=g3YC6j4LLlG_wjJqn-Hrz78BWmgS7vhUhzaycsiez00,2124
383
383
  web/server/api/endpoints/events.py,sha256=tjhOhGe9jt7L1mOLLapl5qTvicDRnP5lPZHSq9OnSVI,932
384
- web/server/api/endpoints/files.py,sha256=HogdDH35tHBPLu_4vwj2aXrAqikA2UdkCOLv5QXf0Ng,6720
384
+ web/server/api/endpoints/files.py,sha256=H309MNDakLDBG12xtP1_J6URTSN3o2lq2rB9qQA5bRg,6731
385
385
  web/server/api/endpoints/lineage.py,sha256=XU99RI-6Q9SidItGM5WLQMje8NhM5nZWHbtWxDwWeFE,6050
386
386
  web/server/api/endpoints/meta.py,sha256=QKWWrHewGh5JS8mCSWXTKCIQwXw-TQfaT9tWt_SsNY4,1032
387
387
  web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodrafB7Ndk,4697
388
388
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
389
389
  web/server/api/endpoints/plan.py,sha256=OYuQ_4dgbhG9ibTcX1a8mvYgH3ANxw9Fhbb4wg6QWqc,9222
390
390
  web/server/api/endpoints/table_diff.py,sha256=Wd5YxeKbZB7AkrDvqFgvV9ZQlnKYOF1n5W_w2EHE_Zw,2085
391
- sqlmesh-0.187.6.dev6.dist-info/METADATA,sha256=LPngDmRnD-PUHYU9VsgtEwdgog70kQ1iUaiS9YlbuUQ,26493
392
- sqlmesh-0.187.6.dev6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
- sqlmesh-0.187.6.dev6.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
- sqlmesh-0.187.6.dev6.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
- sqlmesh-0.187.6.dev6.dist-info/RECORD,,
391
+ sqlmesh-0.187.6.dev8.dist-info/METADATA,sha256=U4RAMCMoF9gc7XvPkD6zIwq5XxFRxwV7PE_KkCBNFhs,26493
392
+ sqlmesh-0.187.6.dev8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
+ sqlmesh-0.187.6.dev8.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
+ sqlmesh-0.187.6.dev8.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
+ sqlmesh-0.187.6.dev8.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-D0B238GC.js";import{P as j}from"./Page-C9v-mVEC.js";import{u as h}from"./project-8LRoNrpG.js";import{S as v}from"./SourceList-C_z4JbJU.js";import{S as A}from"./SourceListItem-Be4vNQZL.js";import"./SplitPane-C8CPNQrK.js";import"./file-Cn8UMGdB.js";import"./Input-DQ3H5Jf5.js";import"./floating-ui.react-dom-njuatPE_.js";import"./index-0HTVGXbP.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-BOoFTMqX.js";import{P as j}from"./Page-LHbK1yD_.js";import{u as h}from"./project-D9WffyNb.js";import{S as v}from"./SourceList-u_0soueL.js";import{S as A}from"./SourceListItem-CHxTMFnQ.js";import"./SplitPane-DO1JEVxf.js";import"./file-CtGXXxxH.js";import"./Input-tTLAeFk_.js";import"./floating-ui.react-dom-BqmCcnHz.js";import"./index-D-NV5rsk.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-D0B238GC.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-BOoFTMqX.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-D0B238GC.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-BOoFTMqX.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-D0B238GC.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-BOoFTMqX.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-D0B238GC.js";import{D as u}from"./ReportErrors-ClY5ezEU.js";import"./PlusCircleIcon-DgugPkXr.js";import"./popover-zR5tE2ci.js";import"./floating-ui.react-dom-njuatPE_.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SplitPane-C8CPNQrK.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-BOoFTMqX.js";import{D as u}from"./ReportErrors-9LAVRQKL.js";import"./PlusCircleIcon-CPdy9bpf.js";import"./popover-CThXyzI8.js";import"./floating-ui.react-dom-BqmCcnHz.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SplitPane-DO1JEVxf.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-D0B238GC.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-CheqF0wg.js";import{u as j,a as Y,E as M}from"./plan-BT_YMvAu.js";import{B as S}from"./Banner-BnIDM-p-.js";import{V as L,F as ke,a as Pe,p as ps}from"./PlusCircleIcon-DgugPkXr.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-zR5tE2ci.js";import{I as K}from"./Input-DQ3H5Jf5.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-Bp0ARqZ0.js";import{u as ze}from"./project-8LRoNrpG.js";import{F as we}from"./context-C7kvMRgQ.js";import"./ModelLineage-Du6fUL20.js";import"./editor-C3xrJUHo.js";import"./file-Cn8UMGdB.js";import"./SearchList-B1ophTod.js";import"./help-6Q7f7fjd.js";import"./floating-ui.react-dom-njuatPE_.js";import"./ChevronDownIcon-v5uzV5KS.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SourceList-C_z4JbJU.js";import"./index-0HTVGXbP.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-BOoFTMqX.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-CltENlzE.js";import{u as j,a as Y,E as M}from"./plan-BITq8bOv.js";import{B as S}from"./Banner-_C9c6nFf.js";import{V as L,F as ke,a as Pe,p as ps}from"./PlusCircleIcon-CPdy9bpf.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-CThXyzI8.js";import{I as K}from"./Input-tTLAeFk_.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-BnVk8Pao.js";import{u as ze}from"./project-D9WffyNb.js";import{F as we}from"./context-ByRTRbGV.js";import"./ModelLineage-CfoiOAVb.js";import"./editor-IxXTso9p.js";import"./file-CtGXXxxH.js";import"./SearchList-DCuxxaPn.js";import"./help-6Q7f7fjd.js";import"./floating-ui.react-dom-BqmCcnHz.js";import"./ChevronDownIcon-RfKS8PKd.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./SourceList-u_0soueL.js";import"./index-D-NV5rsk.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-D0B238GC.js";import{g as b,T as g}from"./help-B9pKFCi-.js";import{u as r}from"./editor-C3xrJUHo.js";import"./index-0HTVGXbP.js";import"./floating-ui.react-dom-njuatPE_.js";import"./Input-DQ3H5Jf5.js";import"./file-Cn8UMGdB.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-BOoFTMqX.js";import{g as b,T as g}from"./help-DZgsqPrY.js";import{u as r}from"./editor-IxXTso9p.js";import"./index-D-NV5rsk.js";import"./floating-ui.react-dom-BqmCcnHz.js";import"./Input-tTLAeFk_.js";import"./file-CtGXXxxH.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};