@contentful/experience-design-system-cli 2.37.1-dev-build-f22bf3b7.0 → 2.37.1-dev-build-0b7e3e1f.0

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.
package/dist/index.js CHANGED
@@ -9164,8 +9164,8 @@ function extractAccessorProperties(classDecl, applyRuntimeFieldDenylist = false)
9164
9164
  accessors.set(name, entry);
9165
9165
  }
9166
9166
  for (const [name, { getter, setter }] of accessors) {
9167
- const hasPropertyDecorator2 = getter?.getDecorators().some((decorator) => decorator.getName() === "property") || setter?.getDecorators().some((decorator) => decorator.getName() === "property");
9168
- if (!hasPropertyDecorator2 && !(getter && setter))
9167
+ const hasPropertyDecorator = getter?.getDecorators().some((decorator) => decorator.getName() === "property") || setter?.getDecorators().some((decorator) => decorator.getName() === "property");
9168
+ if (!hasPropertyDecorator && !(getter && setter))
9169
9169
  continue;
9170
9170
  const type = getter?.getReturnTypeNode()?.getText() ?? setter?.getParameters()[0]?.getTypeNode()?.getText() ?? "any";
9171
9171
  const accessorNode = getter ?? setter;
@@ -12979,9 +12979,9 @@ function generateUlid(now = Date.now()) {
12979
12979
  tsBytes[i] = n & 255;
12980
12980
  n = Math.floor(n / 256);
12981
12981
  }
12982
- const ts6 = encodeBase32(tsBytes, 10);
12982
+ const ts3 = encodeBase32(tsBytes, 10);
12983
12983
  const rand = encodeBase32(randomBytes2(10), 16);
12984
- return (ts6 + rand).toUpperCase();
12984
+ return (ts3 + rand).toUpperCase();
12985
12985
  }
12986
12986
  var CROCKFORD;
12987
12987
  var init_generate_ulid = __esm({
@@ -16475,1506 +16475,7 @@ var init_component = __esm({
16475
16475
  }
16476
16476
  });
16477
16477
 
16478
- // packages/experience-design-system-extraction/dist/src/extract/types/display.js
16479
- var init_display = __esm({
16480
- "packages/experience-design-system-extraction/dist/src/extract/types/display.js"() {
16481
- "use strict";
16482
- }
16483
- });
16484
-
16485
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-analysis.js
16486
- var init_component_path_analysis = __esm({
16487
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-analysis.js"() {
16488
- "use strict";
16489
- }
16490
- });
16491
-
16492
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-scoring.js
16493
- var init_component_path_scoring = __esm({
16494
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/helpers/component-path-scoring.js"() {
16495
- "use strict";
16496
- init_component_path_analysis();
16497
- }
16498
- });
16499
-
16500
- // packages/experience-design-system-extraction/dist/src/extract/services/deduplication/deduplicate-components.js
16501
- var init_deduplicate_components = __esm({
16502
- "packages/experience-design-system-extraction/dist/src/extract/services/deduplication/deduplicate-components.js"() {
16503
- "use strict";
16504
- init_component_path_scoring();
16505
- }
16506
- });
16507
-
16508
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/file-workers.js
16509
- var init_file_workers = __esm({
16510
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/file-workers.js"() {
16511
- "use strict";
16512
- }
16513
- });
16514
-
16515
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js
16516
- var init_result_normalizer = __esm({
16517
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/result-normalizer.js"() {
16518
- "use strict";
16519
- }
16520
- });
16521
-
16522
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-type-symbol.js
16523
- var init_resolve_type_symbol = __esm({
16524
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-type-symbol.js"() {
16525
- "use strict";
16526
- }
16527
- });
16528
-
16529
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/get-node-source-lines.js
16530
- var init_get_node_source_lines = __esm({
16531
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/get-node-source-lines.js"() {
16532
- "use strict";
16533
- }
16534
- });
16535
-
16536
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js
16537
- import { Node as Node10, Project as Project7 } from "ts-morph";
16538
- var init_collect_astro_props_bindings = __esm({
16539
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/helpers/collect-astro-props-bindings.js"() {
16540
- "use strict";
16541
- }
16542
- });
16543
-
16544
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/frontmatter.js
16545
- var init_frontmatter = __esm({
16546
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/frontmatter.js"() {
16547
- "use strict";
16548
- init_resolve_type_symbol();
16549
- init_get_node_source_lines();
16550
- init_collect_astro_props_bindings();
16551
- }
16552
- });
16553
-
16554
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/slots.js
16555
- var init_slots = __esm({
16556
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/slots.js"() {
16557
- "use strict";
16558
- }
16559
- });
16560
-
16561
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/extractor.js
16562
- var init_extractor = __esm({
16563
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/astro/extractor.js"() {
16564
- "use strict";
16565
- init_file_workers();
16566
- init_result_normalizer();
16567
- init_frontmatter();
16568
- init_slots();
16569
- }
16570
- });
16571
-
16572
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js
16573
- import ts3 from "typescript";
16574
- var init_resolve_tsx_tsconfig_path = __esm({
16575
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-tsconfig-path.js"() {
16576
- "use strict";
16577
- }
16578
- });
16579
-
16580
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js
16581
- var init_find_tsx_workspace_package = __esm({
16582
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/find-tsx-workspace-package.js"() {
16583
- "use strict";
16584
- }
16585
- });
16586
-
16587
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js
16588
- import { Node as Node11 } from "ts-morph";
16589
- var init_resolve_tsx_workspace_imports = __esm({
16590
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-tsx-workspace-imports.js"() {
16591
- "use strict";
16592
- init_resolve_tsx_tsconfig_path();
16593
- init_find_tsx_workspace_package();
16594
- }
16595
- });
16596
-
16597
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js
16598
- import { Node as Node12, SyntaxKind as SyntaxKind7 } from "ts-morph";
16599
- var init_tsx_node_utils = __esm({
16600
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-node-utils.js"() {
16601
- "use strict";
16602
- init_resolve_tsx_workspace_imports();
16603
- }
16604
- });
16605
-
16606
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js
16607
- import { Node as Node13 } from "ts-morph";
16608
- var init_tsx_renderable_exports = __esm({
16609
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-renderable-exports.js"() {
16610
- "use strict";
16611
- }
16612
- });
16613
-
16614
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js
16615
- import { Project as Project8 } from "ts-morph";
16616
- var init_tsx_shared = __esm({
16617
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/tsx-shared.js"() {
16618
- "use strict";
16619
- init_tsx_node_utils();
16620
- init_tsx_renderable_exports();
16621
- }
16622
- });
16623
-
16624
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-allowed-component-names.js
16625
- var init_collect_allowed_component_names = __esm({
16626
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-allowed-component-names.js"() {
16627
- "use strict";
16628
- }
16629
- });
16630
-
16631
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js
16632
- var init_build_component_lookup_maps = __esm({
16633
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/build-component-lookup-maps.js"() {
16634
- "use strict";
16635
- }
16636
- });
16637
-
16638
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js
16639
- var init_extract_react_allowed_components = __esm({
16640
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-allowed-components.js"() {
16641
- "use strict";
16642
- init_collect_allowed_component_names();
16643
- init_build_component_lookup_maps();
16644
- }
16645
- });
16646
-
16647
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js
16648
- import { Node as Node14 } from "ts-morph";
16649
- var init_get_jsx_ast_data = __esm({
16650
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/get-jsx-ast-data.js"() {
16651
- "use strict";
16652
- }
16653
- });
16654
-
16655
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js
16656
- import { SyntaxKind as SyntaxKind8 } from "ts-morph";
16657
- var init_collect_structural_jsx_evidence = __esm({
16658
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/collect-structural-jsx-evidence.js"() {
16659
- "use strict";
16660
- init_tsx_shared();
16661
- init_get_jsx_ast_data();
16662
- }
16663
- });
16664
-
16665
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-jsx-component-references.js
16666
- import { Node as Node15, SyntaxKind as SyntaxKind9 } from "ts-morph";
16667
- var init_collect_jsx_component_references = __esm({
16668
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/collect-jsx-component-references.js"() {
16669
- "use strict";
16670
- init_collect_allowed_component_names();
16671
- init_get_jsx_ast_data();
16672
- init_collect_structural_jsx_evidence();
16673
- }
16674
- });
16675
-
16676
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js
16677
- var init_synthesize_react_structural_slots = __esm({
16678
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/synthesize-react-structural-slots.js"() {
16679
- "use strict";
16680
- init_collect_jsx_component_references();
16681
- init_build_component_lookup_maps();
16682
- }
16683
- });
16684
-
16685
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js
16686
- var init_resolve_react_prop_forwarding = __esm({
16687
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-prop-forwarding.js"() {
16688
- "use strict";
16689
- }
16690
- });
16691
-
16692
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js
16693
- var init_detect_react_node_types = __esm({
16694
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/ast/detect-react-node-types.js"() {
16695
- "use strict";
16696
- }
16697
- });
16698
-
16699
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/detect-slot-from-prop.js
16700
- var init_detect_slot_from_prop = __esm({
16701
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/detect-slot-from-prop.js"() {
16702
- "use strict";
16703
- init_detect_react_node_types();
16704
- init_detect_react_node_types();
16705
- }
16706
- });
16707
-
16708
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js
16709
- import { Node as Node16 } from "ts-morph";
16710
- var init_resolve_component_function = __esm({
16711
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-component-function.js"() {
16712
- "use strict";
16713
- init_tsx_shared();
16714
- }
16715
- });
16716
-
16717
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js
16718
- import { Node as Node17, SyntaxKind as SyntaxKind10 } from "ts-morph";
16719
- var init_collect_prop_dataflow = __esm({
16720
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-prop-dataflow.js"() {
16721
- "use strict";
16722
- init_tsx_shared();
16723
- init_resolve_component_function();
16724
- }
16725
- });
16726
-
16727
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js
16728
- var init_extract_react_slots = __esm({
16729
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-slots.js"() {
16730
- "use strict";
16731
- }
16732
- });
16733
-
16734
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js
16735
- import { Node as Node18 } from "ts-morph";
16736
- function createTextControlSurface2(onChangeType, specificProps) {
16737
- return [
16738
- { name: "autoComplete", type: "string", required: false },
16739
- ...specificProps,
16740
- { name: "disabled", type: "boolean", required: false },
16741
- { name: "name", type: "string", required: false },
16742
- { name: "onChange", type: onChangeType, required: false },
16743
- { name: "placeholder", type: "string", required: false },
16744
- { name: "readOnly", type: "boolean", required: false },
16745
- { name: "required", type: "boolean", required: false },
16746
- {
16747
- name: "value",
16748
- type: "string | number | readonly string[]",
16749
- required: false
16750
- }
16751
- ];
16752
- }
16753
- var DOM_ATTRIBUTE_PROP_SURFACES2;
16754
- var init_dom_attribute_surfaces = __esm({
16755
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/dom-attribute-surfaces.js"() {
16756
- "use strict";
16757
- DOM_ATTRIBUTE_PROP_SURFACES2 = {
16758
- HTMLProps: [],
16759
- HTMLAttributes: [
16760
- { name: "className", type: "string", required: false },
16761
- { name: "hidden", type: "boolean", required: false },
16762
- { name: "id", type: "string", required: false },
16763
- {
16764
- name: "onClick",
16765
- type: "MouseEventHandler<HTMLElement>",
16766
- required: false
16767
- },
16768
- { name: "style", type: "CSSProperties", required: false },
16769
- { name: "tabIndex", type: "number", required: false },
16770
- { name: "title", type: "string", required: false }
16771
- ],
16772
- ImgHTMLAttributes: [
16773
- { name: "alt", type: "string", required: false },
16774
- { name: "crossOrigin", type: "string", required: false },
16775
- { name: "height", type: "number | string", required: false },
16776
- {
16777
- name: "loading",
16778
- type: "string",
16779
- required: false,
16780
- allowedValues: ["eager", "lazy"]
16781
- },
16782
- { name: "sizes", type: "string", required: false },
16783
- { name: "src", type: "string", required: false },
16784
- { name: "srcSet", type: "string", required: false },
16785
- { name: "width", type: "number | string", required: false }
16786
- ],
16787
- LiHTMLAttributes: [],
16788
- AnchorHTMLAttributes: [
16789
- { name: "download", type: "boolean | string", required: false },
16790
- { name: "href", type: "string", required: false },
16791
- { name: "hrefLang", type: "string", required: false },
16792
- { name: "referrerPolicy", type: "string", required: false },
16793
- { name: "rel", type: "string", required: false },
16794
- {
16795
- name: "target",
16796
- type: "string",
16797
- required: false,
16798
- allowedValues: ["_blank", "_parent", "_self", "_top"]
16799
- }
16800
- ],
16801
- ButtonHTMLAttributes: [
16802
- { name: "autoFocus", type: "boolean", required: false },
16803
- { name: "disabled", type: "boolean", required: false },
16804
- { name: "form", type: "string", required: false },
16805
- { name: "formAction", type: "string", required: false },
16806
- { name: "formMethod", type: "string", required: false },
16807
- { name: "formNoValidate", type: "boolean", required: false },
16808
- { name: "formTarget", type: "string", required: false },
16809
- { name: "name", type: "string", required: false },
16810
- {
16811
- name: "type",
16812
- type: "string",
16813
- required: false,
16814
- allowedValues: ["button", "reset", "submit"]
16815
- },
16816
- {
16817
- name: "value",
16818
- type: "string | number | readonly string[]",
16819
- required: false
16820
- }
16821
- ],
16822
- InputHTMLAttributes: createTextControlSurface2("ChangeEventHandler<HTMLInputElement>", [
16823
- { name: "checked", type: "boolean", required: false },
16824
- { name: "max", type: "number | string", required: false },
16825
- { name: "maxLength", type: "number", required: false },
16826
- { name: "min", type: "number | string", required: false },
16827
- { name: "minLength", type: "number", required: false },
16828
- { name: "type", type: "string", required: false }
16829
- ]),
16830
- FieldsetHTMLAttributes: [
16831
- { name: "disabled", type: "boolean", required: false },
16832
- { name: "form", type: "string", required: false },
16833
- { name: "name", type: "string", required: false }
16834
- ],
16835
- LabelHTMLAttributes: [
16836
- { name: "form", type: "string", required: false },
16837
- { name: "htmlFor", type: "string", required: false }
16838
- ],
16839
- SelectHTMLAttributes: [
16840
- { name: "autoComplete", type: "string", required: false },
16841
- { name: "disabled", type: "boolean", required: false },
16842
- { name: "form", type: "string", required: false },
16843
- { name: "multiple", type: "boolean", required: false },
16844
- { name: "name", type: "string", required: false },
16845
- {
16846
- name: "onChange",
16847
- type: "ChangeEventHandler<HTMLSelectElement>",
16848
- required: false
16849
- },
16850
- { name: "required", type: "boolean", required: false },
16851
- { name: "size", type: "number", required: false },
16852
- {
16853
- name: "value",
16854
- type: "string | number | readonly string[]",
16855
- required: false
16856
- }
16857
- ],
16858
- SVGAttributes: [
16859
- {
16860
- name: "focusable",
16861
- type: 'boolean | "auto"',
16862
- required: false,
16863
- allowedValues: ["auto"]
16864
- },
16865
- { name: "height", type: "number | string", required: false },
16866
- { name: "viewBox", type: "string", required: false },
16867
- { name: "width", type: "number | string", required: false }
16868
- ],
16869
- SVGProps: [],
16870
- TextareaHTMLAttributes: createTextControlSurface2("ChangeEventHandler<HTMLTextAreaElement>", [
16871
- { name: "cols", type: "number", required: false },
16872
- { name: "rows", type: "number", required: false },
16873
- { name: "wrap", type: "string", required: false }
16874
- ]),
16875
- TdHTMLAttributes: [
16876
- {
16877
- name: "align",
16878
- type: "string",
16879
- required: false,
16880
- allowedValues: ["center", "char", "justify", "left", "right"]
16881
- },
16882
- { name: "colSpan", type: "number", required: false },
16883
- { name: "headers", type: "string", required: false },
16884
- { name: "rowSpan", type: "number", required: false },
16885
- { name: "scope", type: "string", required: false }
16886
- ]
16887
- };
16888
- }
16889
- });
16890
-
16891
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js
16892
- import { Node as Node19 } from "ts-morph";
16893
- var init_collect_dom_wrapper_contexts = __esm({
16894
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-dom-wrapper-contexts.js"() {
16895
- "use strict";
16896
- init_tsx_shared();
16897
- init_tsx_node_utils();
16898
- init_dom_attribute_surfaces();
16899
- }
16900
- });
16901
-
16902
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js
16903
- import { Node as Node20 } from "ts-morph";
16904
- var init_detect_dom_is_pure_wrapper = __esm({
16905
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-is-pure-wrapper.js"() {
16906
- "use strict";
16907
- init_tsx_shared();
16908
- init_tsx_node_utils();
16909
- init_dom_attribute_surfaces();
16910
- }
16911
- });
16912
-
16913
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js
16914
- import { Node as Node21 } from "ts-morph";
16915
- var init_detect_omit_wrapped_custom_props = __esm({
16916
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-omit-wrapped-custom-props.js"() {
16917
- "use strict";
16918
- init_tsx_shared();
16919
- init_tsx_node_utils();
16920
- init_detect_dom_is_pure_wrapper();
16921
- }
16922
- });
16923
-
16924
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js
16925
- import { Node as Node22 } from "ts-morph";
16926
- var init_detect_pick_type_patterns = __esm({
16927
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-pick-type-patterns.js"() {
16928
- "use strict";
16929
- init_tsx_shared();
16930
- init_tsx_node_utils();
16931
- init_detect_dom_type_patterns();
16932
- }
16933
- });
16934
-
16935
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js
16936
- var init_detect_dom_type_patterns = __esm({
16937
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-dom-type-patterns.js"() {
16938
- "use strict";
16939
- init_dom_attribute_surfaces();
16940
- init_collect_dom_wrapper_contexts();
16941
- init_detect_dom_is_pure_wrapper();
16942
- init_detect_omit_wrapped_custom_props();
16943
- init_detect_pick_type_patterns();
16944
- init_collect_dom_wrapper_contexts();
16945
- }
16946
- });
16947
-
16948
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js
16949
- import { Node as Node23 } from "ts-morph";
16950
- var init_detect_react_polymorphic = __esm({
16951
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/detect-react-polymorphic.js"() {
16952
- "use strict";
16953
- init_tsx_shared();
16954
- init_tsx_node_utils();
16955
- }
16956
- });
16957
-
16958
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js
16959
- import { Node as Node24 } from "ts-morph";
16960
- var init_extract_react_props_from_type = __esm({
16961
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-props-from-type.js"() {
16962
- "use strict";
16963
- init_tsx_shared();
16964
- init_get_node_source_lines();
16965
- init_detect_dom_type_patterns();
16966
- init_detect_react_polymorphic();
16967
- init_dom_attribute_surfaces();
16968
- }
16969
- });
16970
-
16971
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js
16972
- import { Node as Node25 } from "ts-morph";
16973
- var init_resolve_react_props_type = __esm({
16974
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/resolve-react-props-type.js"() {
16975
- "use strict";
16976
- init_tsx_shared();
16977
- init_detect_dom_type_patterns();
16978
- }
16979
- });
16980
-
16981
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js
16982
- import { Node as Node26 } from "ts-morph";
16983
- var init_filter_impl_alias_props = __esm({
16984
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/filter-impl-alias-props.js"() {
16985
- "use strict";
16986
- }
16987
- });
16988
-
16989
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js
16990
- import { Node as Node27, SyntaxKind as SyntaxKind11 } from "ts-morph";
16991
- var init_extract_binding_fallback_props = __esm({
16992
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-binding-fallback-props.js"() {
16993
- "use strict";
16994
- init_get_node_source_lines();
16995
- }
16996
- });
16997
-
16998
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js
16999
- import { Node as Node28 } from "ts-morph";
17000
- var init_extract_react_binding_defaults = __esm({
17001
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-binding-defaults.js"() {
17002
- "use strict";
17003
- init_filter_impl_alias_props();
17004
- init_extract_binding_fallback_props();
17005
- }
17006
- });
17007
-
17008
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js
17009
- import { Node as Node29, SyntaxKind as SyntaxKind12 } from "ts-morph";
17010
- var init_infer_primitive_dom_props = __esm({
17011
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/infer-primitive-dom-props.js"() {
17012
- "use strict";
17013
- init_tsx_shared();
17014
- init_dom_attribute_surfaces();
17015
- }
17016
- });
17017
-
17018
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js
17019
- import { Node as Node30, SyntaxKind as SyntaxKind13 } from "ts-morph";
17020
- var init_collect_react_impl_hints = __esm({
17021
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/collect-react-impl-hints.js"() {
17022
- "use strict";
17023
- init_infer_primitive_dom_props();
17024
- }
17025
- });
17026
-
17027
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js
17028
- import { Node as Node31 } from "ts-morph";
17029
- var init_extract_react_prop_types = __esm({
17030
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-prop-types.js"() {
17031
- "use strict";
17032
- }
17033
- });
17034
-
17035
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js
17036
- import { Node as Node32 } from "ts-morph";
17037
- var init_extract_react_component_from_export = __esm({
17038
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-react-component-from-export.js"() {
17039
- "use strict";
17040
- init_detect_slot_from_prop();
17041
- init_collect_prop_dataflow();
17042
- init_resolve_component_function();
17043
- init_extract_react_slots();
17044
- init_extract_react_props_from_type();
17045
- init_detect_dom_type_patterns();
17046
- init_resolve_react_props_type();
17047
- init_extract_react_binding_defaults();
17048
- init_collect_react_impl_hints();
17049
- init_extract_react_prop_types();
17050
- }
17051
- });
17052
-
17053
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js
17054
- import { SyntaxKind as SyntaxKind14 } from "ts-morph";
17055
- var init_extract_from_react_source_file = __esm({
17056
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/helpers/extract-from-react-source-file.js"() {
17057
- "use strict";
17058
- init_tsx_shared();
17059
- init_extract_react_component_from_export();
17060
- }
17061
- });
17062
-
17063
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/extractor.js
17064
- var init_extractor2 = __esm({
17065
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/react/extractor.js"() {
17066
- "use strict";
17067
- init_tsx_shared();
17068
- init_extract_react_allowed_components();
17069
- init_synthesize_react_structural_slots();
17070
- init_resolve_react_prop_forwarding();
17071
- init_extract_from_react_source_file();
17072
- }
17073
- });
17074
-
17075
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js
17076
- var init_project_source_files = __esm({
17077
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/file-processing/project-source-files.js"() {
17078
- "use strict";
17079
- }
17080
- });
17081
-
17082
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js
17083
- import { Node as Node33 } from "ts-morph";
17084
- var init_detect_stencil_class = __esm({
17085
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/detect-stencil-class.js"() {
17086
- "use strict";
17087
- }
17088
- });
17089
-
17090
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js
17091
- import { Node as Node34, SyntaxKind as SyntaxKind15 } from "ts-morph";
17092
- var init_stencil_prop_helpers = __esm({
17093
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/stencil-prop-helpers.js"() {
17094
- "use strict";
17095
- init_tsx_shared();
17096
- }
17097
- });
17098
-
17099
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js
17100
- import { Node as Node35 } from "ts-morph";
17101
- var init_extract_stencil_props = __esm({
17102
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-props.js"() {
17103
- "use strict";
17104
- init_detect_stencil_class();
17105
- init_stencil_prop_helpers();
17106
- init_stencil_prop_helpers();
17107
- }
17108
- });
17109
-
17110
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js
17111
- var init_collect_jsdoc_slot_comments = __esm({
17112
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/collect-jsdoc-slot-comments.js"() {
17113
- "use strict";
17114
- }
17115
- });
17116
-
17117
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js
17118
- import { Node as Node36 } from "ts-morph";
17119
- var init_extract_stencil_slots = __esm({
17120
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/helpers/extract-stencil-slots.js"() {
17121
- "use strict";
17122
- init_collect_jsdoc_slot_comments();
17123
- }
17124
- });
17125
-
17126
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/extractor.js
17127
- import { Project as Project9, Node as Node37 } from "ts-morph";
17128
- var init_extractor3 = __esm({
17129
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/stencil/extractor.js"() {
17130
- "use strict";
17131
- init_tsx_shared();
17132
- init_result_normalizer();
17133
- init_project_source_files();
17134
- init_detect_stencil_class();
17135
- init_extract_stencil_props();
17136
- init_extract_stencil_slots();
17137
- }
17138
- });
17139
-
17140
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js
17141
- var init_get_svelte_component_name = __esm({
17142
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/get-svelte-component-name.js"() {
17143
- "use strict";
17144
- }
17145
- });
17146
-
17147
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.js
17148
- function isWidePrimitiveUnion2(type) {
17149
- const parts = type.split("|").map((p) => p.trim());
17150
- if (parts.length < 3)
17151
- return false;
17152
- const basePrimitives = /* @__PURE__ */ new Set(["string", "number", "boolean"]);
17153
- const nullability = /* @__PURE__ */ new Set(["null", "undefined"]);
17154
- const baseCount = parts.filter((p) => basePrimitives.has(p)).length;
17155
- const nullabilityCount = parts.filter((p) => nullability.has(p)).length;
17156
- return baseCount >= 3 || baseCount >= 2 && nullabilityCount > 0 && baseCount + nullabilityCount >= 3;
17157
- }
17158
- function countExtractionIssues(component, options = {}) {
17159
- let count = 0;
17160
- const reasons = [];
17161
- if (component.props.length === 0 && component.slots.length === 0) {
17162
- count++;
17163
- reasons.push("no-props-or-slots");
17164
- }
17165
- if (component.props.length > 50) {
17166
- count++;
17167
- reasons.push(`high-prop-count:${component.props.length}`);
17168
- }
17169
- for (const prop of component.props) {
17170
- if (OPAQUE_TYPES2.has(prop.type.trim())) {
17171
- count++;
17172
- reasons.push(`opaque-type:${prop.name}`);
17173
- break;
17174
- }
17175
- if (isWidePrimitiveUnion2(prop.type)) {
17176
- count++;
17177
- reasons.push(`wide-union:${prop.name}`);
17178
- break;
17179
- }
17180
- if (!prop.description && !OBVIOUS_PROP_NAMES2.has(prop.name)) {
17181
- count++;
17182
- reasons.push("props-missing-description");
17183
- break;
17184
- }
17185
- }
17186
- count += options.additionalIssueCount ?? 0;
17187
- if (options.additionalReasons && options.additionalReasons.length > 0) {
17188
- reasons.push(...options.additionalReasons);
17189
- }
17190
- return { count, reasons: [...new Set(reasons)] };
17191
- }
17192
- function mapIssueCountToConfidence(count) {
17193
- if (count === 0)
17194
- return 5;
17195
- if (count === 1)
17196
- return 4;
17197
- if (count === 2)
17198
- return 3;
17199
- if (count === 3)
17200
- return 2;
17201
- return 1;
17202
- }
17203
- var OPAQUE_TYPES2, OBVIOUS_PROP_NAMES2;
17204
- var init_collect_scoring_inputs = __esm({
17205
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/collect-scoring-inputs.js"() {
17206
- "use strict";
17207
- OPAQUE_TYPES2 = /* @__PURE__ */ new Set(["any", "unknown", "object", "Record<string, unknown>", "Record<string, any>"]);
17208
- OBVIOUS_PROP_NAMES2 = /* @__PURE__ */ new Set([
17209
- "className",
17210
- "style",
17211
- "id",
17212
- "children",
17213
- "disabled",
17214
- "hidden",
17215
- "onClick",
17216
- "onChange",
17217
- "onSubmit",
17218
- "onBlur",
17219
- "onFocus",
17220
- "href",
17221
- "src",
17222
- "alt",
17223
- "type",
17224
- "value",
17225
- "checked",
17226
- "placeholder",
17227
- "label",
17228
- "title",
17229
- "name",
17230
- "required",
17231
- "readOnly",
17232
- "autoFocus",
17233
- "tabIndex",
17234
- "role",
17235
- "aria-label",
17236
- "aria-describedby"
17237
- ]);
17238
- }
17239
- });
17240
-
17241
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js
17242
- function computeExtractionScore2(component, options = {}) {
17243
- const { count, reasons } = countExtractionIssues(component, options);
17244
- return {
17245
- confidence: mapIssueCountToConfidence(count),
17246
- reasons
17247
- };
17248
- }
17249
- function deriveNeedsReview2(confidence) {
17250
- return confidence <= 2;
17251
- }
17252
- var init_compute_extraction_score = __esm({
17253
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/scoring/compute-extraction-score.js"() {
17254
- "use strict";
17255
- init_collect_scoring_inputs();
17256
- }
17257
- });
17258
-
17259
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js
17260
- var init_extract_svelte_template_slots = __esm({
17261
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-template-slots.js"() {
17262
- "use strict";
17263
- }
17264
- });
17265
-
17266
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js
17267
- var init_collect_svelte_type_references = __esm({
17268
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/collect-svelte-type-references.js"() {
17269
- "use strict";
17270
- }
17271
- });
17272
-
17273
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js
17274
- var init_find_svelte_script_declarations = __esm({
17275
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/find-svelte-script-declarations.js"() {
17276
- "use strict";
17277
- init_collect_svelte_type_references();
17278
- }
17279
- });
17280
-
17281
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js
17282
- var init_render_svelte_type_strings = __esm({
17283
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type-strings.js"() {
17284
- "use strict";
17285
- }
17286
- });
17287
-
17288
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js
17289
- var init_render_svelte_type = __esm({
17290
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/render-svelte-type.js"() {
17291
- "use strict";
17292
- init_render_svelte_type_strings();
17293
- }
17294
- });
17295
-
17296
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js
17297
- var init_extract_svelte_ast_type_members = __esm({
17298
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-ast-type-members.js"() {
17299
- "use strict";
17300
- init_render_svelte_type();
17301
- }
17302
- });
17303
-
17304
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js
17305
- import { Node as Node38 } from "ts-morph";
17306
- var init_extract_svelte_declaration_data = __esm({
17307
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-declaration-data.js"() {
17308
- "use strict";
17309
- }
17310
- });
17311
-
17312
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js
17313
- import { Project as Project10, ScriptTarget as ScriptTarget2, ModuleKind as ModuleKind2, ts as ts4 } from "ts-morph";
17314
- var init_resolve_svelte_type_checker = __esm({
17315
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-checker.js"() {
17316
- "use strict";
17317
- init_render_svelte_type();
17318
- init_extract_svelte_declaration_data();
17319
- }
17320
- });
17321
-
17322
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-import-file-path.js
17323
- var init_resolve_import_file_path = __esm({
17324
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/shared/helpers/resolve-import-file-path.js"() {
17325
- "use strict";
17326
- }
17327
- });
17328
-
17329
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js
17330
- import { Node as Node39 } from "ts-morph";
17331
- var init_extract_svelte_external_type_members = __esm({
17332
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-external-type-members.js"() {
17333
- "use strict";
17334
- init_render_svelte_type();
17335
- }
17336
- });
17337
-
17338
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js
17339
- import { Node as Node40, Project as Project11, ScriptTarget as ScriptTarget3, ModuleKind as ModuleKind3 } from "ts-morph";
17340
- var init_resolve_svelte_external_type_readers = __esm({
17341
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-external-type-readers.js"() {
17342
- "use strict";
17343
- init_resolve_import_file_path();
17344
- init_extract_svelte_external_type_members();
17345
- }
17346
- });
17347
-
17348
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js
17349
- var init_resolve_svelte_type_members = __esm({
17350
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-type-members.js"() {
17351
- "use strict";
17352
- init_find_svelte_script_declarations();
17353
- init_extract_svelte_ast_type_members();
17354
- init_resolve_svelte_type_checker();
17355
- init_resolve_svelte_external_type_readers();
17356
- init_extract_svelte_ast_type_members();
17357
- init_resolve_svelte_type_checker();
17358
- }
17359
- });
17360
-
17361
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js
17362
- var init_extract_svelte_from_destructure = __esm({
17363
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-from-destructure.js"() {
17364
- "use strict";
17365
- init_render_svelte_type();
17366
- }
17367
- });
17368
-
17369
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js
17370
- var init_extract_svelte_type_member_props = __esm({
17371
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-type-member-props.js"() {
17372
- "use strict";
17373
- }
17374
- });
17375
-
17376
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js
17377
- var init_classify_svelte_props_annotation = __esm({
17378
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/classify-svelte-props-annotation.js"() {
17379
- "use strict";
17380
- init_find_svelte_script_declarations();
17381
- }
17382
- });
17383
-
17384
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js
17385
- var init_extract_svelte_props = __esm({
17386
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-svelte-props.js"() {
17387
- "use strict";
17388
- init_resolve_svelte_type_members();
17389
- init_extract_svelte_from_destructure();
17390
- init_extract_svelte_type_member_props();
17391
- init_classify_svelte_props_annotation();
17392
- init_classify_svelte_props_annotation();
17393
- }
17394
- });
17395
-
17396
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js
17397
- var init_resolve_dts_location = __esm({
17398
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-dts-location.js"() {
17399
- "use strict";
17400
- }
17401
- });
17402
-
17403
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js
17404
- import { Project as Project12, ScriptTarget as ScriptTarget4, ModuleKind as ModuleKind4, ts as ts5 } from "ts-morph";
17405
- var init_resolve_svelte_unresolved_retry = __esm({
17406
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-unresolved-retry.js"() {
17407
- "use strict";
17408
- init_compute_extraction_score();
17409
- init_extract_svelte_template_slots();
17410
- init_find_svelte_script_declarations();
17411
- init_resolve_svelte_type_members();
17412
- init_extract_svelte_props();
17413
- init_resolve_dts_location();
17414
- }
17415
- });
17416
-
17417
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js
17418
- var init_resolve_svelte_allowed_components = __esm({
17419
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/resolve-svelte-allowed-components.js"() {
17420
- "use strict";
17421
- init_collect_allowed_component_names();
17422
- init_build_component_lookup_maps();
17423
- }
17424
- });
17425
-
17426
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js
17427
- import { parse as parseSvelte2 } from "svelte/compiler";
17428
- var init_extract_from_svelte_file = __esm({
17429
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/helpers/extract-from-svelte-file.js"() {
17430
- "use strict";
17431
- init_compute_extraction_score();
17432
- init_get_svelte_component_name();
17433
- init_extract_svelte_template_slots();
17434
- init_find_svelte_script_declarations();
17435
- init_extract_svelte_props();
17436
- }
17437
- });
17438
-
17439
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/extractor.js
17440
- var init_extractor4 = __esm({
17441
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/svelte/extractor.js"() {
17442
- "use strict";
17443
- init_file_workers();
17444
- init_get_svelte_component_name();
17445
- init_resolve_svelte_unresolved_retry();
17446
- init_resolve_svelte_allowed_components();
17447
- init_extract_from_svelte_file();
17448
- }
17449
- });
17450
-
17451
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js
17452
- import { Node as Node41, SyntaxKind as SyntaxKind16 } from "ts-morph";
17453
- var init_resolve_ast_object = __esm({
17454
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/resolve-ast-object.js"() {
17455
- "use strict";
17456
- init_tsx_shared();
17457
- }
17458
- });
17459
-
17460
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js
17461
- import { Node as Node42 } from "ts-morph";
17462
- var init_extract_vue_tsx_props = __esm({
17463
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-props.js"() {
17464
- "use strict";
17465
- init_tsx_shared();
17466
- init_resolve_ast_object();
17467
- }
17468
- });
17469
-
17470
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js
17471
- import { Node as Node43, SyntaxKind as SyntaxKind17 } from "ts-morph";
17472
- var init_extract_vue_tsx_slots = __esm({
17473
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/helpers/extract-vue-tsx-slots.js"() {
17474
- "use strict";
17475
- init_tsx_shared();
17476
- }
17477
- });
17478
-
17479
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/extractor.js
17480
- import { Node as Node44 } from "ts-morph";
17481
- var init_extractor5 = __esm({
17482
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue-tsx/extractor.js"() {
17483
- "use strict";
17484
- init_tsx_shared();
17485
- init_extract_vue_tsx_props();
17486
- init_extract_vue_tsx_slots();
17487
- }
17488
- });
17489
-
17490
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js
17491
- var init_resolve_vue_component_name = __esm({
17492
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-vue-component-name.js"() {
17493
- "use strict";
17494
- }
17495
- });
17496
-
17497
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js
17498
- var init_extract_vue_slots = __esm({
17499
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-slots.js"() {
17500
- "use strict";
17501
- }
17502
- });
17503
-
17504
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js
17505
- import { Node as Node45 } from "ts-morph";
17506
- var init_extract_vue_object_props = __esm({
17507
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-object-props.js"() {
17508
- "use strict";
17509
- }
17510
- });
17511
-
17512
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js
17513
- import { Project as Project13, Node as Node46 } from "ts-morph";
17514
- var init_extract_vue_setup_object_props = __esm({
17515
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-object-props.js"() {
17516
- "use strict";
17517
- init_resolve_import_file_path();
17518
- init_extract_vue_object_props();
17519
- }
17520
- });
17521
-
17522
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js
17523
- import { Project as Project14, Node as Node47 } from "ts-morph";
17524
- var init_extract_vue_setup_props = __esm({
17525
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-setup-props.js"() {
17526
- "use strict";
17527
- init_resolve_type_symbol();
17528
- init_extract_vue_setup_object_props();
17529
- }
17530
- });
17531
-
17532
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js
17533
- var init_workspace_package_dirs = __esm({
17534
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/workspace-package-dirs.js"() {
17535
- "use strict";
17536
- }
17537
- });
17538
-
17539
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js
17540
- var init_resolve_workspace_module = __esm({
17541
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/resolve-workspace-module.js"() {
17542
- "use strict";
17543
- init_workspace_package_dirs();
17544
- }
17545
- });
17546
-
17547
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js
17548
- import { parse as parseSFC2 } from "@vue/compiler-sfc";
17549
- import { Node as Node48, Project as Project15 } from "ts-morph";
17550
- var init_extract_vue_options_props = __esm({
17551
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/helpers/extract-vue-options-props.js"() {
17552
- "use strict";
17553
- init_resolve_workspace_module();
17554
- init_extract_vue_object_props();
17555
- init_extract_vue_object_props();
17556
- }
17557
- });
17558
-
17559
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/extractor.js
17560
- import { parse as parseSFC3 } from "@vue/compiler-sfc";
17561
- var init_extractor6 = __esm({
17562
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/vue/extractor.js"() {
17563
- "use strict";
17564
- init_file_workers();
17565
- init_result_normalizer();
17566
- init_resolve_vue_component_name();
17567
- init_extract_vue_slots();
17568
- init_extract_vue_setup_props();
17569
- init_extract_vue_options_props();
17570
- }
17571
- });
17572
-
17573
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js
17574
- import { Node as Node49 } from "ts-morph";
17575
- var init_extract_wc_observed_attrs = __esm({
17576
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-observed-attrs.js"() {
17577
- "use strict";
17578
- }
17579
- });
17580
-
17581
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js
17582
- var init_detect_wc_non_public_members = __esm({
17583
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/detect-wc-non-public-members.js"() {
17584
- "use strict";
17585
- }
17586
- });
17587
-
17588
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js
17589
- var init_extract_wc_accessor_props = __esm({
17590
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-accessor-props.js"() {
17591
- "use strict";
17592
- init_detect_wc_non_public_members();
17593
- }
17594
- });
17595
-
17596
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js
17597
- var init_extract_wc_jsdoc_attr_props = __esm({
17598
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-jsdoc-attr-props.js"() {
17599
- "use strict";
17600
- }
17601
- });
17602
-
17603
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js
17604
- import { Node as Node50 } from "ts-morph";
17605
- var init_extract_wc_class_properties = __esm({
17606
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-class-properties.js"() {
17607
- "use strict";
17608
- init_detect_wc_non_public_members();
17609
- }
17610
- });
17611
-
17612
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js
17613
- var init_merge_wc_prop_lists = __esm({
17614
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/merge-wc-prop-lists.js"() {
17615
- "use strict";
17616
- init_extract_wc_observed_attrs();
17617
- init_extract_wc_accessor_props();
17618
- init_extract_wc_jsdoc_attr_props();
17619
- init_extract_wc_class_properties();
17620
- }
17621
- });
17622
-
17623
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js
17624
- import { Node as Node51 } from "ts-morph";
17625
- var init_resolve_wc_decorator_tag = __esm({
17626
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-decorator-tag.js"() {
17627
- "use strict";
17628
- }
17629
- });
17630
-
17631
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js
17632
- import { Node as Node52 } from "ts-morph";
17633
- var init_resolve_wc_import_source = __esm({
17634
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import-source.js"() {
17635
- "use strict";
17636
- }
17637
- });
17638
-
17639
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js
17640
- import { Node as Node53, SyntaxKind as SyntaxKind18 } from "ts-morph";
17641
- var init_resolve_wc_import = __esm({
17642
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-import.js"() {
17643
- "use strict";
17644
- init_resolve_wc_import_source();
17645
- }
17646
- });
17647
-
17648
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js
17649
- import { Node as Node54, SyntaxKind as SyntaxKind19 } from "ts-morph";
17650
- var init_resolve_wc_sibling_definition = __esm({
17651
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-sibling-definition.js"() {
17652
- "use strict";
17653
- init_resolve_wc_import();
17654
- }
17655
- });
17656
-
17657
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js
17658
- var init_resolve_wc_tag_name = __esm({
17659
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-tag-name.js"() {
17660
- "use strict";
17661
- init_tsx_shared();
17662
- init_resolve_wc_decorator_tag();
17663
- init_resolve_wc_sibling_definition();
17664
- }
17665
- });
17666
-
17667
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js
17668
- import { Node as Node55 } from "ts-morph";
17669
- var init_collect_wc_html_templates = __esm({
17670
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/collect-wc-html-templates.js"() {
17671
- "use strict";
17672
- init_resolve_wc_import();
17673
- }
17674
- });
17675
-
17676
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js
17677
- import { Node as Node56 } from "ts-morph";
17678
- var init_extract_wc_template_content = __esm({
17679
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-template-content.js"() {
17680
- "use strict";
17681
- init_resolve_wc_import();
17682
- init_extract_wc_slots();
17683
- init_collect_wc_html_templates();
17684
- }
17685
- });
17686
-
17687
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js
17688
- var init_extract_wc_slots = __esm({
17689
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-slots.js"() {
17690
- "use strict";
17691
- init_collect_jsdoc_slot_comments();
17692
- init_extract_wc_template_content();
17693
- }
17694
- });
17695
-
17696
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js
17697
- import { Node as Node57, SyntaxKind as SyntaxKind20 } from "ts-morph";
17698
- var init_resolve_wc_base_class = __esm({
17699
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/resolve-wc-base-class.js"() {
17700
- "use strict";
17701
- init_resolve_wc_import();
17702
- }
17703
- });
17704
-
17705
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js
17706
- var init_extract_wc_inheritance = __esm({
17707
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/helpers/extract-wc-inheritance.js"() {
17708
- "use strict";
17709
- init_merge_wc_prop_lists();
17710
- init_extract_wc_slots();
17711
- init_resolve_wc_base_class();
17712
- }
17713
- });
17714
-
17715
- // packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/extractor.js
17716
- import { Project as Project16 } from "ts-morph";
17717
- var init_extractor7 = __esm({
17718
- "packages/experience-design-system-extraction/dist/src/extract/framework-adapters/web-components/extractor.js"() {
17719
- "use strict";
17720
- init_result_normalizer();
17721
- init_project_source_files();
17722
- init_merge_wc_prop_lists();
17723
- init_resolve_wc_tag_name();
17724
- init_extract_wc_slots();
17725
- init_extract_wc_inheritance();
17726
- }
17727
- });
17728
-
17729
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/register-extractors.js
17730
- var init_register_extractors = __esm({
17731
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/register-extractors.js"() {
17732
- "use strict";
17733
- init_extractor();
17734
- init_extractor2();
17735
- init_extractor3();
17736
- init_extractor4();
17737
- init_extractor5();
17738
- init_extractor6();
17739
- init_extractor7();
17740
- }
17741
- });
17742
-
17743
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/run-extractor-batches.js
17744
- var init_run_extractor_batches = __esm({
17745
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/run-extractor-batches.js"() {
17746
- "use strict";
17747
- }
17748
- });
17749
-
17750
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js
17751
- var init_collect_sveltekit_route_exclusions = __esm({
17752
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/collect-sveltekit-route-exclusions.js"() {
17753
- "use strict";
17754
- }
17755
- });
17756
-
17757
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/filter-hook-components.js
17758
- var init_filter_hook_components = __esm({
17759
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/helpers/filter-hook-components.js"() {
17760
- "use strict";
17761
- }
17762
- });
17763
-
17764
- // packages/experience-design-system-extraction/dist/src/extract/services/extraction/extract-components.js
17765
- var init_extract_components = __esm({
17766
- "packages/experience-design-system-extraction/dist/src/extract/services/extraction/extract-components.js"() {
17767
- "use strict";
17768
- init_deduplicate_components();
17769
- init_register_extractors();
17770
- init_run_extractor_batches();
17771
- init_collect_sveltekit_route_exclusions();
17772
- init_filter_hook_components();
17773
- }
17774
- });
17775
-
17776
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/check-prop-types.js
17777
- function isStringLiteralUnion(type) {
17778
- return type.includes("|") && type.includes("'");
17779
- }
17780
- function isSimpleType(type) {
17781
- const t = type.trim();
17782
- if (t === "string" || t === "boolean" || t === "number")
17783
- return true;
17784
- return isStringLiteralUnion(t);
17785
- }
17786
- function isBooleanType(type) {
17787
- return type.trim() === "boolean";
17788
- }
17789
- function isStringType(type) {
17790
- return type.trim() === "string";
17791
- }
17792
- function isNumberType(type) {
17793
- return type.trim() === "number";
17794
- }
17795
- function isComplexType(type) {
17796
- return !isSimpleType(type);
17797
- }
17798
- var init_check_prop_types = __esm({
17799
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/check-prop-types.js"() {
17800
- "use strict";
17801
- }
17802
- });
17803
-
17804
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/detect-dom-props.js
17805
- function isDomPassThroughProp(name) {
17806
- if (DOM_PASS_THROUGH_PROPS.has(name))
17807
- return true;
17808
- if (/^aria[-A-Z]/.test(name))
17809
- return true;
17810
- return name.startsWith("data-");
17811
- }
17812
- var DOM_PASS_THROUGH_PROPS;
17813
- var init_detect_dom_props = __esm({
17814
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/helpers/detect-dom-props.js"() {
17815
- "use strict";
17816
- DOM_PASS_THROUGH_PROPS = /* @__PURE__ */ new Set([
17817
- // Bare HTML / framework styling pass-through
17818
- "className",
17819
- "class",
17820
- "classes",
17821
- "classNames",
17822
- "rootClassName",
17823
- "prefixCls",
17824
- "style",
17825
- "styles",
17826
- // Bare HTML attributes
17827
- "id",
17828
- "role",
17829
- "tabIndex",
17830
- "tabindex",
17831
- "htmlFor",
17832
- "for",
17833
- "slot",
17834
- "is",
17835
- "lang",
17836
- "dir",
17837
- "hidden",
17838
- "draggable",
17839
- "spellCheck",
17840
- "spellcheck",
17841
- "contentEditable",
17842
- "contenteditable",
17843
- "inputMode",
17844
- "inputmode",
17845
- "autoComplete",
17846
- "autocomplete",
17847
- "autoFocus",
17848
- "autofocus",
17849
- "translate",
17850
- "part",
17851
- "exportparts",
17852
- "aria",
17853
- // Framework theming / pass-through escape hatches — dev-facing, never marketer-configurable
17854
- "dt",
17855
- "pt",
17856
- "ptOptions",
17857
- "unstyled",
17858
- "sx",
17859
- // Polymorphic component props — change rendered HTML/component, not marketer-visible behavior
17860
- "as",
17861
- "element",
17862
- "component",
17863
- // QA / vendor test attributes
17864
- "dataQa",
17865
- "data-qa",
17866
- // Vue v-model internals — framework wiring, never marketer-configurable
17867
- "modelValue",
17868
- "modelModifiers"
17869
- ]);
17870
- }
17871
- });
17872
-
17873
- // packages/experience-design-system-extraction/dist/src/extract/services/classification/classify-component-props.js
17874
- function preClassifyProp(prop) {
17875
- const { name, type } = prop;
17876
- if (/^on[A-Z]/.test(name) || type.includes("=> void") || type.includes("EventHandler")) {
17877
- return { category: "exclude" };
17878
- }
17879
- if (name === "ref" || name === "innerRef" || type.includes("Ref<") || type.includes("RefObject<")) {
17880
- return { category: "exclude" };
17881
- }
17882
- if (name === "testId" || name === "data-testid" || name === "dataTestId") {
17883
- return { category: "exclude" };
17884
- }
17885
- if (name === "key") {
17886
- return { category: "exclude" };
17887
- }
17888
- if (type.includes("Dispatch<") || type.includes("SetStateAction")) {
17889
- return { category: "exclude" };
17890
- }
17891
- if (isDomPassThroughProp(name)) {
17892
- return { category: "exclude" };
17893
- }
17894
- if (name === "name" && prop.domAttribute) {
17895
- return { category: "exclude" };
17896
- }
17897
- if (isStringLiteralUnion(type)) {
17898
- return { category: "design", cdfTypeHint: "enum" };
17899
- }
17900
- if (!isComplexType(type)) {
17901
- const designNameStart = /^(variant|size|spacing|gap|color|bg|theme|align|layout|orientation|position)/i;
17902
- const designNameEnd = /(Color|Size|Variant|Style)$/;
17903
- if (designNameStart.test(name) || designNameEnd.test(name)) {
17904
- return { category: "design", cdfTypeHint: "string" };
17905
- }
17906
- }
17907
- if (isBooleanType(type)) {
17908
- const stateNames = ["disabled", "loading", "expanded", "isOpen", "selected", "checked", "active", "preview"];
17909
- if (stateNames.includes(name)) {
17910
- return { category: "state", cdfTypeHint: "boolean" };
17911
- }
17912
- }
17913
- if (isBooleanType(type)) {
17914
- const visualToggle = /^(hide|show|enable|disable|vertical|horizontal|reverse|bold|italic|imageOn|with)/i;
17915
- if (visualToggle.test(name)) {
17916
- return { category: "design", cdfTypeHint: "boolean" };
17917
- }
17918
- }
17919
- if (name === "componentId" || name === "sectionKey" || name === "locale" || name === "variantIndex") {
17920
- return { category: "state", cdfTypeHint: "string" };
17921
- }
17922
- if (isStringType(type)) {
17923
- const urlNameStart = /^(href|url|link|src)/i;
17924
- const urlNameEnd = /(Url|Href|Link|Src)$/;
17925
- if (urlNameStart.test(name) || urlNameEnd.test(name)) {
17926
- return { category: "content", cdfTypeHint: "string" };
17927
- }
17928
- }
17929
- if (isStringType(type)) {
17930
- const textNameStart = /^(label|title|text|description|caption|heading|subheading|body|alt|name|placeholder|summary)/i;
17931
- const textNameEnd = /(Text|Label|Title|Name)$/;
17932
- if (textNameStart.test(name) || textNameEnd.test(name)) {
17933
- return { category: "content", cdfTypeHint: "string" };
17934
- }
17935
- }
17936
- if (isStringType(type)) {
17937
- return { category: "content", cdfTypeHint: "string" };
17938
- }
17939
- if (isBooleanType(type)) {
17940
- return { category: "design", cdfTypeHint: "boolean" };
17941
- }
17942
- if (isNumberType(type)) {
17943
- return { category: "design", cdfTypeHint: "string" };
17944
- }
17945
- return void 0;
17946
- }
17947
- function preClassifyComponent(component) {
17948
- const props = component.props.flatMap((prop) => {
17949
- const result = preClassifyProp(prop);
17950
- if (result?.category === "exclude") {
17951
- return [];
17952
- }
17953
- const { domAttribute: _domAttribute, ...authorableProp } = prop;
17954
- if (prop.category) {
17955
- return [authorableProp];
17956
- }
17957
- if (!result) {
17958
- return [authorableProp];
17959
- }
17960
- return [
17961
- {
17962
- ...authorableProp,
17963
- category: result.category
17964
- }
17965
- ];
17966
- });
17967
- return { ...component, props };
17968
- }
17969
- var init_classify_component_props = __esm({
17970
- "packages/experience-design-system-extraction/dist/src/extract/services/classification/classify-component-props.js"() {
17971
- "use strict";
17972
- init_check_prop_types();
17973
- init_detect_dom_props();
17974
- }
17975
- });
17976
-
17977
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js
16478
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/non-authorable-filter.js
17978
16479
  function isHandlerOrRefProp(prop) {
17979
16480
  if (HANDLER_TYPE_PATTERN.test(prop.type))
17980
16481
  return true;
@@ -18025,15 +16526,34 @@ function hasNoAuthoringSurface(component) {
18025
16526
  return { skip: false };
18026
16527
  }
18027
16528
  var HANDLER_TYPE_PATTERN, REF_TYPE_PATTERN;
18028
- var init_evaluate_authorability = __esm({
18029
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/authorability/evaluate-authorability.js"() {
16529
+ var init_non_authorable_filter = __esm({
16530
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/non-authorable-filter.js"() {
18030
16531
  "use strict";
18031
16532
  HANDLER_TYPE_PATTERN = /=>|EventHandler|Dispatch<|SetStateAction/;
18032
16533
  REF_TYPE_PATTERN = /Ref<|RefObject<|MutableRefObject/;
18033
16534
  }
18034
16535
  });
18035
16536
 
18036
- // packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/parse-source-imports.js
16537
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/review-reasons.js
16538
+ var HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON, POSSIBLE_DATA_FETCH_WRAPPER_REASON, ZERO_SURFACE_RENDERED_UI_REASON;
16539
+ var init_review_reasons = __esm({
16540
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/review-reasons.js"() {
16541
+ "use strict";
16542
+ HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON = "data-fetch-wrapper";
16543
+ POSSIBLE_DATA_FETCH_WRAPPER_REASON = "possible-data-fetch-wrapper";
16544
+ ZERO_SURFACE_RENDERED_UI_REASON = "zero-surface:rendered-ui";
16545
+ }
16546
+ });
16547
+
16548
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/index.js
16549
+ var init_constants7 = __esm({
16550
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/constants/index.js"() {
16551
+ "use strict";
16552
+ init_review_reasons();
16553
+ }
16554
+ });
16555
+
16556
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/framework-adapters/shared/parse-imported-names.js
18037
16557
  function parseImportedNames(importClause) {
18038
16558
  const trimmed = importClause.trim();
18039
16559
  if (!trimmed)
@@ -18057,13 +16577,14 @@ function parseImportedNames(importClause) {
18057
16577
  }
18058
16578
  return names;
18059
16579
  }
18060
- var init_parse_source_imports = __esm({
18061
- "packages/experience-design-system-extraction/dist/src/extract/helpers/evidence/parse-source-imports.js"() {
16580
+ var init_parse_imported_names = __esm({
16581
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/framework-adapters/shared/parse-imported-names.js"() {
18062
16582
  "use strict";
18063
16583
  }
18064
16584
  });
18065
16585
 
18066
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js
16586
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/evidence/source-inspection.js
16587
+ import { readFile as readFile15 } from "node:fs/promises";
18067
16588
  function escapeRegExp(value) {
18068
16589
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18069
16590
  }
@@ -18098,11 +16619,11 @@ function hasSiblingForwardRender(sourceText, siblingImports) {
18098
16619
  function hasVisibleUiRender(sourceText) {
18099
16620
  return /return\s*(?:\(|<)/.test(sourceText) && VISIBLE_UI_TAG_PATTERN.test(sourceText);
18100
16621
  }
18101
- function collectInfraPropNames(component) {
16622
+ function infraPropNames(component) {
18102
16623
  const props = component.props.map((prop) => prop.name);
18103
16624
  return props.length > 0 && props.every((prop) => INFRA_PROP_NAMES.has(prop)) ? props : [];
18104
16625
  }
18105
- function mapScoreToWrapperConfidence(score) {
16626
+ function scoreToConfidence(score) {
18106
16627
  if (score <= 0)
18107
16628
  return 0;
18108
16629
  if (score <= 2)
@@ -18113,26 +16634,9 @@ function mapScoreToWrapperConfidence(score) {
18113
16634
  return 4;
18114
16635
  return 5;
18115
16636
  }
18116
- function dedupeStrings(values) {
18117
- return [...new Set(values)];
16637
+ function dedupeReasons(reasons) {
16638
+ return [...new Set(reasons)];
18118
16639
  }
18119
- var INFRA_PROP_NAMES, VISIBLE_UI_TAG_PATTERN, GENERATED_IMPORT_PATTERN, GENERATED_QUERY_HOOK_PATTERN, GQL_FILENAME_PATTERN, LOADING_NULL_GUARD_PATTERN, IMPORT_PATTERN;
18120
- var init_detect_data_wrapper_patterns = __esm({
18121
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/detect-data-wrapper-patterns.js"() {
18122
- "use strict";
18123
- init_parse_source_imports();
18124
- INFRA_PROP_NAMES = /* @__PURE__ */ new Set(["id", "locale", "preview", "slug", "topic", "previousComponent", "__typename"]);
18125
- VISIBLE_UI_TAG_PATTERN = /<(?:[A-Z][A-Za-z0-9_.]*|div|span|section|main|article|header|footer|nav|aside|img|video|p|h[1-6]|ul|ol|li|button|input|textarea|select|form|label|table|tbody|thead|tr|td|th)\b/;
18126
- GENERATED_IMPORT_PATTERN = /from\s+['"][^'"]*__generated[^'"]*['"]/;
18127
- GENERATED_QUERY_HOOK_PATTERN = /\buse[A-Z][A-Za-z0-9]*(?:Lazy|Suspense)?Query\s*\(/;
18128
- GQL_FILENAME_PATTERN = /(?:-gql|-ggl)\.[cm]?[jt]sx?$/i;
18129
- LOADING_NULL_GUARD_PATTERN = /if\s*\([^)]*(?:isLoading|loading|!data|!\w+Collection|!\w+Item|!\w+)\s*[^)]*\)\s*return\s+null\b/;
18130
- IMPORT_PATTERN = /import\s+(?:type\s+)?(.+?)\s+from\s+['"]([^'"]+)['"]/g;
18131
- }
18132
- });
18133
-
18134
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/inspect-component-source.js
18135
- import { readFile as readFile15 } from "node:fs/promises";
18136
16640
  async function inspectComponentSource(component) {
18137
16641
  let sourceText = "";
18138
16642
  try {
@@ -18147,7 +16651,7 @@ async function inspectComponentSource(component) {
18147
16651
  const reviewReasons = [];
18148
16652
  let wrapperScore = 0;
18149
16653
  const hasGeneratedQueryHook = GENERATED_IMPORT_PATTERN.test(sourceText) && GENERATED_QUERY_HOOK_PATTERN.test(sourceText);
18150
- const infraProps = collectInfraPropNames(component);
16654
+ const infraProps = infraPropNames(component);
18151
16655
  const siblingImports = collectSiblingRendererImports(sourceText);
18152
16656
  if (GQL_FILENAME_PATTERN.test(component.source)) {
18153
16657
  reviewReasons.push("data-wrapper:gql-filename");
@@ -18177,7 +16681,7 @@ async function inspectComponentSource(component) {
18177
16681
  reviewReasons.push("data-wrapper:loading-null-guard");
18178
16682
  wrapperScore += 1;
18179
16683
  }
18180
- const wrapperConfidence = mapScoreToWrapperConfidence(wrapperScore);
16684
+ const wrapperConfidence = scoreToConfidence(wrapperScore);
18181
16685
  if (wrapperConfidence >= 4) {
18182
16686
  reviewReasons.unshift(HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON);
18183
16687
  } else if (wrapperConfidence === 3) {
@@ -18189,7 +16693,7 @@ async function inspectComponentSource(component) {
18189
16693
  }
18190
16694
  return {
18191
16695
  wrapperConfidence,
18192
- reviewReasons: dedupeStrings(reviewReasons),
16696
+ reviewReasons: dedupeReasons(reviewReasons),
18193
16697
  keepDespiteZeroSurface
18194
16698
  };
18195
16699
  }
@@ -18220,92 +16724,25 @@ function describeReviewReason(reason) {
18220
16724
  }
18221
16725
  }
18222
16726
  function describeReviewReasons(reasons) {
18223
- return dedupeStrings(reasons.map(describeReviewReason));
18224
- }
18225
- var HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON, POSSIBLE_DATA_FETCH_WRAPPER_REASON, ZERO_SURFACE_RENDERED_UI_REASON;
18226
- var init_inspect_component_source = __esm({
18227
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/inspect-component-source.js"() {
18228
- "use strict";
18229
- init_detect_data_wrapper_patterns();
18230
- HIGH_CONFIDENCE_DATA_FETCH_WRAPPER_REASON = "data-fetch-wrapper";
18231
- POSSIBLE_DATA_FETCH_WRAPPER_REASON = "possible-data-fetch-wrapper";
18232
- ZERO_SURFACE_RENDERED_UI_REASON = "zero-surface:rendered-ui";
18233
- }
18234
- });
18235
-
18236
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/validate-extracted-components.js
18237
- function validateExtractedComponents2(components) {
18238
- const nameCounts = /* @__PURE__ */ new Map();
18239
- for (const component of components) {
18240
- const key = component.name.trim();
18241
- nameCounts.set(key, (nameCounts.get(key) ?? 0) + 1);
18242
- }
18243
- return components.map((component) => {
18244
- const issues = [];
18245
- if (!component.name.trim()) {
18246
- issues.push({
18247
- severity: "error",
18248
- code: "EMPTY_COMPONENT_NAME",
18249
- message: "Component name must not be empty"
18250
- });
18251
- }
18252
- for (let i = 0; i < component.props.length; i++) {
18253
- if (!component.props[i].name.trim()) {
18254
- issues.push({
18255
- severity: "error",
18256
- code: "EMPTY_PROP_NAME",
18257
- message: `Prop at index ${i} has an empty name`,
18258
- field: `props[${i}].name`
18259
- });
18260
- }
18261
- }
18262
- for (let i = 0; i < component.slots.length; i++) {
18263
- if (!component.slots[i].name.trim()) {
18264
- issues.push({
18265
- severity: "warning",
18266
- code: "EMPTY_SLOT_NAME",
18267
- message: `Slot at index ${i} has an empty name`,
18268
- field: `slots[${i}].name`
18269
- });
18270
- }
18271
- }
18272
- const propNames = new Set(component.props.map((p) => p.name.trim()).filter(Boolean));
18273
- for (let i = 0; i < component.slots.length; i++) {
18274
- const slotName = component.slots[i].name.trim();
18275
- if (slotName && propNames.has(slotName)) {
18276
- issues.push({
18277
- severity: "error",
18278
- code: "PROP_SLOT_NAME_COLLISION",
18279
- message: `"${slotName}" is used as both a prop name and a slot name`,
18280
- field: `slots[${i}].name`
18281
- });
18282
- }
18283
- }
18284
- const nameKey = component.name.trim();
18285
- if (nameKey && (nameCounts.get(nameKey) ?? 0) > 1) {
18286
- issues.push({
18287
- severity: "error",
18288
- code: "DUPLICATE_COMPONENT_NAME",
18289
- message: `Component name "${component.name}" appears more than once in the extracted set`
18290
- });
18291
- }
18292
- if (component.props.length === 0 && component.slots.length === 0) {
18293
- issues.push({
18294
- severity: "warning",
18295
- code: "EMPTY_COMPONENT",
18296
- message: "Component has no props or slots and will be filtered out during generation"
18297
- });
18298
- }
18299
- return { ...component, validationIssues: issues };
18300
- });
16727
+ return dedupeReasons(reasons.map(describeReviewReason));
18301
16728
  }
18302
- var init_validate_extracted_components = __esm({
18303
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/helpers/inspection/validate-extracted-components.js"() {
16729
+ var INFRA_PROP_NAMES, VISIBLE_UI_TAG_PATTERN, GENERATED_IMPORT_PATTERN, GENERATED_QUERY_HOOK_PATTERN, GQL_FILENAME_PATTERN, LOADING_NULL_GUARD_PATTERN, IMPORT_PATTERN;
16730
+ var init_source_inspection = __esm({
16731
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/evidence/source-inspection.js"() {
18304
16732
  "use strict";
16733
+ init_constants7();
16734
+ init_parse_imported_names();
16735
+ INFRA_PROP_NAMES = /* @__PURE__ */ new Set(["id", "locale", "preview", "slug", "topic", "previousComponent", "__typename"]);
16736
+ VISIBLE_UI_TAG_PATTERN = /<(?:[A-Z][A-Za-z0-9_.]*|div|span|section|main|article|header|footer|nav|aside|img|video|p|h[1-6]|ul|ol|li|button|input|textarea|select|form|label|table|tbody|thead|tr|td|th)\b/;
16737
+ GENERATED_IMPORT_PATTERN = /from\s+['"][^'"]*__generated[^'"]*['"]/;
16738
+ GENERATED_QUERY_HOOK_PATTERN = /\buse[A-Z][A-Za-z0-9]*(?:Lazy|Suspense)?Query\s*\(/;
16739
+ GQL_FILENAME_PATTERN = /(?:-gql|-ggl)\.[cm]?[jt]sx?$/i;
16740
+ LOADING_NULL_GUARD_PATTERN = /if\s*\([^)]*(?:isLoading|loading|!data|!\w+Collection|!\w+Item|!\w+)\s*[^)]*\)\s*return\s+null\b/;
16741
+ IMPORT_PATTERN = /import\s+(?:type\s+)?(.+?)\s+from\s+['"]([^'"]+)['"]/g;
18305
16742
  }
18306
16743
  });
18307
16744
 
18308
- // packages/experience-design-system-extraction/dist/src/extract/services/quality/evaluate-extraction-quality.js
16745
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/evaluate-extraction-quality.js
18309
16746
  function wrapperConfidenceToIssueCount(confidence) {
18310
16747
  if (confidence >= 4)
18311
16748
  return 2;
@@ -18335,84 +16772,216 @@ async function evaluateExtractionQuality(components, initialWarnings = []) {
18335
16772
  if (reviewNotes)
18336
16773
  warnings.push(`${component.name}: ${reviewNotes}`);
18337
16774
  }
18338
- const extractorReasons = component.reviewReasons ?? [];
18339
- const nonAuthorableReason = retainedForReview ? [`non-authorable:${verdict.reason}`] : [];
18340
- const { confidence, reasons } = computeExtractionScore2(component, {
18341
- additionalIssueCount: wrapperConfidenceToIssueCount(inspection.wrapperConfidence) + extractorReasons.length + nonAuthorableReason.length,
18342
- additionalReasons: [...extractorReasons, ...inspection.reviewReasons, ...nonAuthorableReason]
18343
- });
18344
- scoredComponents.push({
18345
- ...component,
18346
- extractionConfidence: confidence,
18347
- reviewReasons: reasons,
18348
- needsReview: deriveNeedsReview2(confidence) || inspection.wrapperConfidence >= 4 || inspection.keepDespiteZeroSurface || retainedForReview || extractorReasons.includes("props-type-unresolved") || (component.needsReview ?? false)
18349
- });
16775
+ const extractorReasons = component.reviewReasons ?? [];
16776
+ const nonAuthorableReason = retainedForReview ? [`non-authorable:${verdict.reason}`] : [];
16777
+ const { confidence, reasons } = computeExtractionScore(component, {
16778
+ additionalIssueCount: wrapperConfidenceToIssueCount(inspection.wrapperConfidence) + extractorReasons.length + nonAuthorableReason.length,
16779
+ additionalReasons: [...extractorReasons, ...inspection.reviewReasons, ...nonAuthorableReason]
16780
+ });
16781
+ scoredComponents.push({
16782
+ ...component,
16783
+ extractionConfidence: confidence,
16784
+ reviewReasons: reasons,
16785
+ needsReview: deriveNeedsReview(confidence) || inspection.wrapperConfidence >= 4 || inspection.keepDespiteZeroSurface || retainedForReview || extractorReasons.includes("props-type-unresolved") || (component.needsReview ?? false)
16786
+ });
16787
+ }
16788
+ return {
16789
+ components: validateExtractedComponents(scoredComponents),
16790
+ warnings
16791
+ };
16792
+ }
16793
+ var init_evaluate_extraction_quality = __esm({
16794
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/quality/evaluate-extraction-quality.js"() {
16795
+ "use strict";
16796
+ init_non_authorable_filter();
16797
+ init_scoring();
16798
+ init_source_inspection();
16799
+ init_validate3();
16800
+ }
16801
+ });
16802
+
16803
+ // packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/pre-classify.js
16804
+ function isStringLiteralUnion(type) {
16805
+ return type.includes("|") && type.includes("'");
16806
+ }
16807
+ function isSimpleType(type) {
16808
+ const t = type.trim();
16809
+ if (t === "string" || t === "boolean" || t === "number")
16810
+ return true;
16811
+ return isStringLiteralUnion(t);
16812
+ }
16813
+ function isBooleanType(type) {
16814
+ return type.trim() === "boolean";
16815
+ }
16816
+ function isStringType(type) {
16817
+ return type.trim() === "string";
16818
+ }
16819
+ function isNumberType(type) {
16820
+ return type.trim() === "number";
16821
+ }
16822
+ function isComplexType(type) {
16823
+ return !isSimpleType(type);
16824
+ }
16825
+ function isDomPassThroughProp(name) {
16826
+ if (DOM_PASS_THROUGH_PROPS.has(name))
16827
+ return true;
16828
+ if (/^aria[-A-Z]/.test(name))
16829
+ return true;
16830
+ return name.startsWith("data-");
16831
+ }
16832
+ function preClassifyProp(prop) {
16833
+ const { name, type } = prop;
16834
+ if (/^on[A-Z]/.test(name) || type.includes("=> void") || type.includes("EventHandler")) {
16835
+ return { category: "exclude" };
16836
+ }
16837
+ if (name === "ref" || name === "innerRef" || type.includes("Ref<") || type.includes("RefObject<")) {
16838
+ return { category: "exclude" };
16839
+ }
16840
+ if (name === "testId" || name === "data-testid" || name === "dataTestId") {
16841
+ return { category: "exclude" };
16842
+ }
16843
+ if (name === "key") {
16844
+ return { category: "exclude" };
16845
+ }
16846
+ if (type.includes("Dispatch<") || type.includes("SetStateAction")) {
16847
+ return { category: "exclude" };
16848
+ }
16849
+ if (isDomPassThroughProp(name)) {
16850
+ return { category: "exclude" };
16851
+ }
16852
+ if (name === "name" && prop.domAttribute) {
16853
+ return { category: "exclude" };
16854
+ }
16855
+ if (isStringLiteralUnion(type)) {
16856
+ return { category: "design", cdfTypeHint: "enum" };
16857
+ }
16858
+ if (!isComplexType(type)) {
16859
+ const designNameStart = /^(variant|size|spacing|gap|color|bg|theme|align|layout|orientation|position)/i;
16860
+ const designNameEnd = /(Color|Size|Variant|Style)$/;
16861
+ if (designNameStart.test(name) || designNameEnd.test(name)) {
16862
+ return { category: "design", cdfTypeHint: "string" };
16863
+ }
16864
+ }
16865
+ if (isBooleanType(type)) {
16866
+ const stateNames = ["disabled", "loading", "expanded", "isOpen", "selected", "checked", "active", "preview"];
16867
+ if (stateNames.includes(name)) {
16868
+ return { category: "state", cdfTypeHint: "boolean" };
16869
+ }
16870
+ }
16871
+ if (isBooleanType(type)) {
16872
+ const visualToggle = /^(hide|show|enable|disable|vertical|horizontal|reverse|bold|italic|imageOn|with)/i;
16873
+ if (visualToggle.test(name)) {
16874
+ return { category: "design", cdfTypeHint: "boolean" };
16875
+ }
16876
+ }
16877
+ if (name === "componentId" || name === "sectionKey" || name === "locale" || name === "variantIndex") {
16878
+ return { category: "state", cdfTypeHint: "string" };
16879
+ }
16880
+ if (isStringType(type)) {
16881
+ const urlNameStart = /^(href|url|link|src)/i;
16882
+ const urlNameEnd = /(Url|Href|Link|Src)$/;
16883
+ if (urlNameStart.test(name) || urlNameEnd.test(name)) {
16884
+ return { category: "content", cdfTypeHint: "string" };
16885
+ }
16886
+ }
16887
+ if (isStringType(type)) {
16888
+ const textNameStart = /^(label|title|text|description|caption|heading|subheading|body|alt|name|placeholder|summary)/i;
16889
+ const textNameEnd = /(Text|Label|Title|Name)$/;
16890
+ if (textNameStart.test(name) || textNameEnd.test(name)) {
16891
+ return { category: "content", cdfTypeHint: "string" };
16892
+ }
18350
16893
  }
18351
- return {
18352
- components: validateExtractedComponents2(scoredComponents),
18353
- warnings
18354
- };
18355
- }
18356
- var init_evaluate_extraction_quality = __esm({
18357
- "packages/experience-design-system-extraction/dist/src/extract/services/quality/evaluate-extraction-quality.js"() {
18358
- "use strict";
18359
- init_evaluate_authorability();
18360
- init_compute_extraction_score();
18361
- init_inspect_component_source();
18362
- init_validate_extracted_components();
16894
+ if (isStringType(type)) {
16895
+ return { category: "content", cdfTypeHint: "string" };
18363
16896
  }
18364
- });
18365
-
18366
- // packages/experience-design-system-extraction/dist/src/extract/orchestrator/execute-extraction-orchestrator.js
18367
- var init_execute_extraction_orchestrator = __esm({
18368
- "packages/experience-design-system-extraction/dist/src/extract/orchestrator/execute-extraction-orchestrator.js"() {
18369
- "use strict";
18370
- init_extract_components();
18371
- init_classify_component_props();
18372
- init_evaluate_extraction_quality();
16897
+ if (isBooleanType(type)) {
16898
+ return { category: "design", cdfTypeHint: "boolean" };
18373
16899
  }
18374
- });
18375
-
18376
- // packages/experience-design-system-extraction/dist/src/extract/controller/helpers/validate-endpoint-request.js
18377
- var init_validate_endpoint_request = __esm({
18378
- "packages/experience-design-system-extraction/dist/src/extract/controller/helpers/validate-endpoint-request.js"() {
18379
- "use strict";
16900
+ if (isNumberType(type)) {
16901
+ return { category: "design", cdfTypeHint: "string" };
18380
16902
  }
18381
- });
18382
-
18383
- // packages/experience-design-system-extraction/dist/src/extract/controller/extract-controller.js
18384
- var init_extract_controller = __esm({
18385
- "packages/experience-design-system-extraction/dist/src/extract/controller/extract-controller.js"() {
16903
+ return void 0;
16904
+ }
16905
+ function preClassifyComponent(component) {
16906
+ const props = component.props.flatMap((prop) => {
16907
+ const result = preClassifyProp(prop);
16908
+ if (result?.category === "exclude") {
16909
+ return [];
16910
+ }
16911
+ const { domAttribute: _domAttribute, ...authorableProp } = prop;
16912
+ if (prop.category) {
16913
+ return [authorableProp];
16914
+ }
16915
+ if (!result) {
16916
+ return [authorableProp];
16917
+ }
16918
+ return [
16919
+ {
16920
+ ...authorableProp,
16921
+ category: result.category
16922
+ }
16923
+ ];
16924
+ });
16925
+ return { ...component, props };
16926
+ }
16927
+ var DOM_PASS_THROUGH_PROPS;
16928
+ var init_pre_classify = __esm({
16929
+ "packages/experience-design-system-backend-pipeline/dist/src/steps/extraction/src/helpers/pre-classify.js"() {
18386
16930
  "use strict";
18387
- init_execute_extraction_orchestrator();
18388
- init_validate_endpoint_request();
18389
- }
18390
- });
18391
-
18392
- // packages/experience-design-system-extraction/dist/src/index.js
18393
- var init_src3 = __esm({
18394
- "packages/experience-design-system-extraction/dist/src/index.js"() {
18395
- "use strict";
18396
- init_display();
18397
- init_extract_components();
18398
- init_extract_controller();
18399
- init_extractor2();
18400
- init_extractor6();
18401
- init_extractor5();
18402
- init_extractor3();
18403
- init_extractor();
18404
- init_extractor7();
18405
- init_extractor4();
18406
- init_collect_allowed_component_names();
18407
- init_evaluate_extraction_quality();
18408
- init_evaluate_authorability();
18409
- init_evaluate_authorability();
18410
- init_compute_extraction_score();
18411
- init_inspect_component_source();
18412
- init_validate_extracted_components();
18413
- init_parse_source_imports();
18414
- init_detect_slot_from_prop();
18415
- init_classify_component_props();
16931
+ DOM_PASS_THROUGH_PROPS = /* @__PURE__ */ new Set([
16932
+ // Bare HTML / framework styling pass-through
16933
+ "className",
16934
+ "class",
16935
+ "classes",
16936
+ "classNames",
16937
+ "rootClassName",
16938
+ "prefixCls",
16939
+ "style",
16940
+ "styles",
16941
+ // Bare HTML attributes
16942
+ "id",
16943
+ "role",
16944
+ "tabIndex",
16945
+ "tabindex",
16946
+ "htmlFor",
16947
+ "for",
16948
+ "slot",
16949
+ "is",
16950
+ "lang",
16951
+ "dir",
16952
+ "hidden",
16953
+ "draggable",
16954
+ "spellCheck",
16955
+ "spellcheck",
16956
+ "contentEditable",
16957
+ "contenteditable",
16958
+ "inputMode",
16959
+ "inputmode",
16960
+ "autoComplete",
16961
+ "autocomplete",
16962
+ "autoFocus",
16963
+ "autofocus",
16964
+ "translate",
16965
+ "part",
16966
+ "exportparts",
16967
+ "aria",
16968
+ // Framework theming / pass-through escape hatches — dev-facing, never marketer-configurable
16969
+ "dt",
16970
+ "pt",
16971
+ "ptOptions",
16972
+ "unstyled",
16973
+ "sx",
16974
+ // Polymorphic component props — change rendered HTML/component, not marketer-visible behavior
16975
+ "as",
16976
+ "element",
16977
+ "component",
16978
+ // QA / vendor test attributes
16979
+ "dataQa",
16980
+ "data-qa",
16981
+ // Vue v-model internals — framework wiring, never marketer-configurable
16982
+ "modelValue",
16983
+ "modelModifiers"
16984
+ ]);
18416
16985
  }
18417
16986
  });
18418
16987
 
@@ -18441,7 +17010,7 @@ function emitPreClassificationExclusions(extraction, onExclusion) {
18441
17010
  var init_emit_pre_classification_exclusions = __esm({
18442
17011
  "packages/experience-design-system-backend-pipeline/dist/src/orchestrators/run-extract-and-compose-session/helpers/emit-pre-classification-exclusions.js"() {
18443
17012
  "use strict";
18444
- init_src3();
17013
+ init_pre_classify();
18445
17014
  }
18446
17015
  });
18447
17016
 
@@ -18784,7 +17353,8 @@ async function runExtractAndComposeSession(request) {
18784
17353
  var init_run_extract_and_compose_session = __esm({
18785
17354
  "packages/experience-design-system-backend-pipeline/dist/src/orchestrators/run-extract-and-compose-session/run-extract-and-compose-session.js"() {
18786
17355
  "use strict";
18787
- init_src3();
17356
+ init_evaluate_extraction_quality();
17357
+ init_pre_classify();
18788
17358
  init_resolve_composition_sources();
18789
17359
  init_db();
18790
17360
  init_emit_pre_classification_exclusions();
@@ -19375,7 +17945,7 @@ var init_run_generate_components_session = __esm({
19375
17945
  });
19376
17946
 
19377
17947
  // packages/experience-design-system-backend-pipeline/dist/src/index.js
19378
- var init_src4 = __esm({
17948
+ var init_src3 = __esm({
19379
17949
  "packages/experience-design-system-backend-pipeline/dist/src/index.js"() {
19380
17950
  "use strict";
19381
17951
  init_export_cdf_document();
@@ -19613,7 +18183,7 @@ var AGENT_LABELS, asString;
19613
18183
  var init_agent_store = __esm({
19614
18184
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-store.ts"() {
19615
18185
  "use strict";
19616
- init_src4();
18186
+ init_src3();
19617
18187
  init_v1_store();
19618
18188
  AGENT_LABELS = {
19619
18189
  claude: "Claude Code",
@@ -19646,7 +18216,7 @@ var shellValues;
19646
18216
  var init_apply_binary_overrides = __esm({
19647
18217
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/apply-binary-overrides.ts"() {
19648
18218
  "use strict";
19649
- init_src4();
18219
+ init_src3();
19650
18220
  shellValues = /* @__PURE__ */ new Map();
19651
18221
  }
19652
18222
  });
@@ -20304,7 +18874,7 @@ function foldSvelteAndMdIntoOther(counts) {
20304
18874
  var init_scan_files = __esm({
20305
18875
  "packages/experience-design-system-cli/src/tui/import/steps/03-path-validation/helpers/scan-files.ts"() {
20306
18876
  "use strict";
20307
- init_src4();
18877
+ init_src3();
20308
18878
  }
20309
18879
  });
20310
18880
 
@@ -20426,7 +18996,7 @@ var FIELDS;
20426
18996
  var init_logic4 = __esm({
20427
18997
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/logic.ts"() {
20428
18998
  "use strict";
20429
- init_src4();
18999
+ init_src3();
20430
19000
  FIELDS = ["spaceId", "environmentId", "cmaToken", "host"];
20431
19001
  }
20432
19002
  });
@@ -20463,7 +19033,7 @@ function cliUserAgent() {
20463
19033
  var init_user_agent = __esm({
20464
19034
  "packages/experience-design-system-cli/src/tui/user-agent.ts"() {
20465
19035
  "use strict";
20466
- init_src4();
19036
+ init_src3();
20467
19037
  init_version();
20468
19038
  }
20469
19039
  });
@@ -20498,7 +19068,7 @@ function toUserError(error, host) {
20498
19068
  var init_validate4 = __esm({
20499
19069
  "packages/experience-design-system-cli/src/tui/import/steps/04-credentials/validate.ts"() {
20500
19070
  "use strict";
20501
- init_src4();
19071
+ init_src3();
20502
19072
  init_user_agent();
20503
19073
  }
20504
19074
  });
@@ -20601,7 +19171,7 @@ var init_screen4 = __esm({
20601
19171
  "use strict";
20602
19172
  init_theme();
20603
19173
  init_controls4();
20604
- init_src4();
19174
+ init_src3();
20605
19175
  init_logic4();
20606
19176
  init_validate4();
20607
19177
  LABELS = {
@@ -21067,7 +19637,7 @@ function resolveAgentChoice(flag, stored) {
21067
19637
  var init_logic9 = __esm({
21068
19638
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/logic.ts"() {
21069
19639
  "use strict";
21070
- init_src4();
19640
+ init_src3();
21071
19641
  }
21072
19642
  });
21073
19643
 
@@ -21223,7 +19793,7 @@ var SELECT_SKILL_PATH, DEFAULT_TIMEOUT_MS5;
21223
19793
  var init_selection2 = __esm({
21224
19794
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/selection.ts"() {
21225
19795
  "use strict";
21226
- init_src4();
19796
+ init_src3();
21227
19797
  init_find_skill_path();
21228
19798
  SELECT_SKILL_PATH = findSkillPath("select-components.md");
21229
19799
  DEFAULT_TIMEOUT_MS5 = Number(process.env.EDS_AGENT_TIMEOUT_MS ?? 5 * 60 * 1e3);
@@ -21368,7 +19938,7 @@ var TOKENS_SKILL_PATH, realDeps, fail, errorMessage2;
21368
19938
  var init_run = __esm({
21369
19939
  "packages/experience-design-system-cli/src/tui/import/steps/06-extraction/run.ts"() {
21370
19940
  "use strict";
21371
- init_src4();
19941
+ init_src3();
21372
19942
  init_find_skill_path();
21373
19943
  init_logic9();
21374
19944
  init_selection2();
@@ -24465,7 +23035,7 @@ async function checkGenerationCache(input) {
24465
23035
  var init_cache_check = __esm({
24466
23036
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/cache-check.ts"() {
24467
23037
  "use strict";
24468
- init_src4();
23038
+ init_src3();
24469
23039
  }
24470
23040
  });
24471
23041
 
@@ -24492,7 +23062,7 @@ function loadScopeGate(sessionId) {
24492
23062
  var init_load = __esm({
24493
23063
  "packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/load.ts"() {
24494
23064
  "use strict";
24495
- init_src4();
23065
+ init_src3();
24496
23066
  }
24497
23067
  });
24498
23068
 
@@ -24622,7 +23192,7 @@ async function prepareMapTokens(input, generatedSessionId) {
24622
23192
  var init_map_tokens = __esm({
24623
23193
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/map-tokens.ts"() {
24624
23194
  "use strict";
24625
- init_src4();
23195
+ init_src3();
24626
23196
  init_logic10();
24627
23197
  }
24628
23198
  });
@@ -24640,7 +23210,7 @@ async function saveDecisions(input) {
24640
23210
  var init_save_decisions = __esm({
24641
23211
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/save-decisions.ts"() {
24642
23212
  "use strict";
24643
- init_src4();
23213
+ init_src3();
24644
23214
  }
24645
23215
  });
24646
23216
 
@@ -24758,7 +23328,7 @@ var COMPONENTS_SKILL_PATH, MAP_TOKENS_SKILL_PATH, realDeps3, fail2, errorMessage
24758
23328
  var init_run2 = __esm({
24759
23329
  "packages/experience-design-system-cli/src/tui/import/steps/08-generation/run.ts"() {
24760
23330
  "use strict";
24761
- init_src4();
23331
+ init_src3();
24762
23332
  init_find_skill_path();
24763
23333
  init_logic9();
24764
23334
  init_map_tokens();
@@ -24836,7 +23406,7 @@ function buildFlowStart(input) {
24836
23406
  var init_build_flow_start = __esm({
24837
23407
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/build-flow-start.ts"() {
24838
23408
  "use strict";
24839
- init_src4();
23409
+ init_src3();
24840
23410
  }
24841
23411
  });
24842
23412
 
@@ -25210,7 +23780,7 @@ var init_dtcg2 = __esm({
25210
23780
  });
25211
23781
 
25212
23782
  // packages/experience-design-system-types/dist/src/index.js
25213
- var init_src5 = __esm({
23783
+ var init_src4 = __esm({
25214
23784
  "packages/experience-design-system-types/dist/src/index.js"() {
25215
23785
  "use strict";
25216
23786
  init_cdf2();
@@ -27358,7 +25928,7 @@ var init_FieldEditor = __esm({
27358
25928
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/components/FieldEditor.tsx"() {
27359
25929
  "use strict";
27360
25930
  init_theme();
27361
- init_src5();
25931
+ init_src4();
27362
25932
  init_useImmediateInput();
27363
25933
  init_scroll_offset();
27364
25934
  init_cycle_detection();
@@ -28273,7 +26843,7 @@ function finalizeReviewSession(extractSessionId, components) {
28273
26843
  var init_session3 = __esm({
28274
26844
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/session.ts"() {
28275
26845
  "use strict";
28276
- init_src4();
26846
+ init_src3();
28277
26847
  }
28278
26848
  });
28279
26849
 
@@ -28386,10 +26956,10 @@ var TimeoutError, DEFAULT_TIMEOUT_MS6;
28386
26956
  var init_run_live_preview = __esm({
28387
26957
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/run-live-preview.ts"() {
28388
26958
  "use strict";
28389
- init_src5();
28390
- init_src4();
28391
- init_src4();
28392
26959
  init_src4();
26960
+ init_src3();
26961
+ init_src3();
26962
+ init_src3();
28393
26963
  init_user_agent();
28394
26964
  TimeoutError = class extends Error {
28395
26965
  constructor(message = "live-preview timed out") {
@@ -28715,7 +27285,7 @@ function useReviewFinalize({
28715
27285
  var init_use_review_session = __esm({
28716
27286
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-session.ts"() {
28717
27287
  "use strict";
28718
- init_src4();
27288
+ init_src3();
28719
27289
  init_history();
28720
27290
  init_session3();
28721
27291
  init_use_finalize_preview();
@@ -28893,7 +27463,7 @@ function useReviewEditor({
28893
27463
  var init_use_review_editor = __esm({
28894
27464
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-review-editor.ts"() {
28895
27465
  "use strict";
28896
- init_src4();
27466
+ init_src3();
28897
27467
  init_token_suggestions();
28898
27468
  }
28899
27469
  });
@@ -29343,7 +27913,7 @@ var DEFAULT_DEBOUNCE_MS;
29343
27913
  var init_use_live_preview = __esm({
29344
27914
  "packages/experience-design-system-cli/src/tui/import/steps/09-review/use-live-preview.ts"() {
29345
27915
  "use strict";
29346
- init_src4();
27916
+ init_src3();
29347
27917
  init_run_live_preview();
29348
27918
  DEFAULT_DEBOUNCE_MS = 500;
29349
27919
  }
@@ -30726,7 +29296,7 @@ var init_generate_review_step = __esm({
30726
29296
  init_issue_inheritance();
30727
29297
  init_removed_components_text();
30728
29298
  init_useImmediateInput();
30729
- init_src4();
29299
+ init_src3();
30730
29300
  init_cycle_detection();
30731
29301
  init_cycle_panel_scroll();
30732
29302
  init_fuzzy_search();
@@ -31683,7 +30253,7 @@ var init_WizardPreviewStep = __esm({
31683
30253
  init_theme();
31684
30254
  init_useImmediateInput();
31685
30255
  init_use_terminal_size();
31686
- init_src4();
30256
+ init_src3();
31687
30257
  init_preview_diff();
31688
30258
  init_StepHeader();
31689
30259
  init_SpaceEnvironment();
@@ -31849,7 +30419,7 @@ function FlowScreen({
31849
30419
  var init_screen10 = __esm({
31850
30420
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/screen.tsx"() {
31851
30421
  "use strict";
31852
- init_src5();
30422
+ init_src4();
31853
30423
  init_shared2();
31854
30424
  init_screen9();
31855
30425
  init_generate_review_step();
@@ -32038,8 +30608,8 @@ var realPreviewDeps;
32038
30608
  var init_preview2 = __esm({
32039
30609
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/preview.ts"() {
32040
30610
  "use strict";
30611
+ init_src3();
32041
30612
  init_src4();
32042
- init_src5();
32043
30613
  init_user_agent();
32044
30614
  init_wizard_state_transitions();
32045
30615
  realPreviewDeps = () => ({
@@ -32212,8 +30782,8 @@ var realPushDeps, zeroResult, componentsOf;
32212
30782
  var init_push = __esm({
32213
30783
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/push.ts"() {
32214
30784
  "use strict";
30785
+ init_src3();
32215
30786
  init_src4();
32216
- init_src5();
32217
30787
  init_user_agent();
32218
30788
  init_wizard_state_transitions();
32219
30789
  realPushDeps = (log) => ({
@@ -32334,8 +30904,8 @@ var SAVE_CONFIRMATION_DELAY_MS, realSaveDeps;
32334
30904
  var init_save = __esm({
32335
30905
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/save.ts"() {
32336
30906
  "use strict";
30907
+ init_src3();
32337
30908
  init_src4();
32338
- init_src5();
32339
30909
  init_run_print_files_helpers();
32340
30910
  SAVE_CONFIRMATION_DELAY_MS = 1e3;
32341
30911
  realSaveDeps = () => ({
@@ -32638,7 +31208,7 @@ var WIZARD_LOG;
32638
31208
  var init_controller = __esm({
32639
31209
  "packages/experience-design-system-cli/src/tui/import/steps/10-flow/flow/controller.ts"() {
32640
31210
  "use strict";
32641
- init_src4();
31211
+ init_src3();
32642
31212
  init_slot_graph();
32643
31213
  init_cycle_detection();
32644
31214
  init_wizard_state_transitions();
@@ -33084,45 +31654,6 @@ var init_PageContainer3 = __esm({
33084
31654
  }
33085
31655
  });
33086
31656
 
33087
- // packages/experience-design-system-cli/src/tui/settings/shared/debug-trail.ts
33088
- import { existsSync as existsSync11 } from "node:fs";
33089
- function diffSnapshots(before, after) {
33090
- const names = [.../* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)])];
33091
- const changed_fields = names.filter((name) => before[name] !== after[name]);
33092
- return { changed: changed_fields.length > 0, changed_fields };
33093
- }
33094
- function createTrail(limit = DEFAULT_TRAIL_LIMIT) {
33095
- const actions = [];
33096
- return {
33097
- record(action) {
33098
- actions.push(action);
33099
- if (actions.length > limit) actions.shift();
33100
- },
33101
- entries: () => [...actions]
33102
- };
33103
- }
33104
- function scrubError(error, secrets) {
33105
- let message = error instanceof Error ? error.message : String(error);
33106
- for (const secret of secrets) {
33107
- if (secret.length < MIN_SECRET_LENGTH) continue;
33108
- for (const form of /* @__PURE__ */ new Set([secret, encodeURIComponent(secret)])) message = message.split(form).join("[redacted]");
33109
- }
33110
- return message;
33111
- }
33112
- function describeSettingsFile() {
33113
- const path5 = configFilePath2();
33114
- return { path: path5, eds_home_set: Boolean(process.env["EDS_HOME"]), exists: existsSync11(path5) };
33115
- }
33116
- var DEFAULT_TRAIL_LIMIT, MIN_SECRET_LENGTH;
33117
- var init_debug_trail = __esm({
33118
- "packages/experience-design-system-cli/src/tui/settings/shared/debug-trail.ts"() {
33119
- "use strict";
33120
- init_config();
33121
- DEFAULT_TRAIL_LIMIT = 30;
33122
- MIN_SECRET_LENGTH = 6;
33123
- }
33124
- });
33125
-
33126
31657
  // packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-status.ts
33127
31658
  import { execFile as execFile2 } from "node:child_process";
33128
31659
  import { access as access6, constants } from "node:fs/promises";
@@ -33299,7 +31830,7 @@ var VERSION_TIMEOUT_MS, PROMPT_TIMEOUT_MS, TEST_PROMPT, INSTALL_HINTS, LOGIN_HIN
33299
31830
  var init_agent_status = __esm({
33300
31831
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-status.ts"() {
33301
31832
  "use strict";
33302
- init_src4();
31833
+ init_src3();
33303
31834
  VERSION_TIMEOUT_MS = 5e3;
33304
31835
  PROMPT_TIMEOUT_MS = 6e4;
33305
31836
  TEST_PROMPT = "Reply with the single word: ok";
@@ -33333,44 +31864,6 @@ var init_agent_status = __esm({
33333
31864
  }
33334
31865
  });
33335
31866
 
33336
- // packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-debug.ts
33337
- function agentSnapshot(config) {
33338
- const snapshot = { default_agent: config.defaultAgent };
33339
- for (const name of AGENT_NAMES) {
33340
- snapshot[`${name}.model`] = config.agents[name].model;
33341
- snapshot[`${name}.binary`] = config.agents[name].binary;
33342
- }
33343
- return snapshot;
33344
- }
33345
- function environmentFrom(checks, savedBinary, envValue) {
33346
- const path5 = checks.find((check) => check.step === "path");
33347
- const version = checks.find((check) => check.step === "version");
33348
- const overridden = envValue !== void 0 && envValue !== "" && envValue !== savedBinary.trim();
33349
- return {
33350
- found: path5?.ok === true,
33351
- resolved_path: path5?.ok ? path5.detail : "",
33352
- version: version?.ok ? version.detail : "",
33353
- env_override: overridden ? envValue : ""
33354
- };
33355
- }
33356
- async function describeAgents(config) {
33357
- const entries = await Promise.all(
33358
- AGENT_NAMES.map(async (name) => {
33359
- const saved = config.agents[name].binary;
33360
- const checks = await inspectAgent(name, saved);
33361
- return [name, environmentFrom(checks, saved, process.env[`EDS_AGENT_BINARY_${name.toUpperCase()}`])];
33362
- })
33363
- );
33364
- return Object.fromEntries(entries);
33365
- }
33366
- var init_agent_debug = __esm({
33367
- "packages/experience-design-system-cli/src/tui/settings/configuration/agents/agent-debug.ts"() {
33368
- "use strict";
33369
- init_src4();
33370
- init_agent_status();
33371
- }
33372
- });
33373
-
33374
31867
  // packages/experience-design-system-cli/src/tui/settings/shared/FieldForm.tsx
33375
31868
  import { useState as useState29 } from "react";
33376
31869
  import { Box as Box44, Text as Text46, useInput as useInput11 } from "ink";
@@ -33562,8 +32055,7 @@ function AgentDetail({
33562
32055
  name,
33563
32056
  config,
33564
32057
  setConfig,
33565
- onBack,
33566
- record: record3
32058
+ onBack
33567
32059
  }) {
33568
32060
  const settings = config.agents[name];
33569
32061
  const [saving, setSaving] = useState30(false);
@@ -33586,12 +32078,10 @@ function AgentDetail({
33586
32078
  setNotice(null);
33587
32079
  writeAgentConfig(config).then(() => {
33588
32080
  applyBinaryOverrides(config);
33589
- record3(`saved ${name}`);
33590
32081
  setNotice({ kind: "success", text: `Saved: ${AGENT_LABELS[name]} settings are written to config.json` });
33591
- }).catch((err) => {
33592
- record3(`saving ${name} failed`, err);
33593
- setNotice({ kind: "error", text: `Not saved: ${err instanceof Error ? err.message : String(err)}` });
33594
- }).finally(() => setSaving(false));
32082
+ }).catch(
32083
+ (err) => setNotice({ kind: "error", text: `Not saved: ${err instanceof Error ? err.message : String(err)}` })
32084
+ ).finally(() => setSaving(false));
33595
32085
  };
33596
32086
  const runTest = () => {
33597
32087
  setTesting(true);
@@ -33599,15 +32089,12 @@ function AgentDetail({
33599
32089
  testAgent(name, settings.binary, settings.model).then((result) => {
33600
32090
  setChecks(result);
33601
32091
  const outcome = testOutcome(result);
33602
- if (!outcome || !outcome.ok)
33603
- record3(`test of ${name} failed: ${outcome?.text ?? "the agent could not be started"}`);
33604
32092
  setNotice(
33605
32093
  outcome ? { kind: outcome.ok ? "success" : "error", text: outcome.text } : { kind: "error", text: "Test not run: the agent could not be started (see Status)" }
33606
32094
  );
33607
- }).catch((err) => {
33608
- record3(`test of ${name} could not run`, err);
33609
- setNotice({ kind: "error", text: `Test could not run: ${err instanceof Error ? err.message : String(err)}` });
33610
- }).finally(() => setTesting(false));
32095
+ }).catch(
32096
+ (err) => setNotice({ kind: "error", text: `Test could not run: ${err instanceof Error ? err.message : String(err)}` })
32097
+ ).finally(() => setTesting(false));
33611
32098
  };
33612
32099
  const action = {
33613
32100
  label: "Run test",
@@ -33628,7 +32115,6 @@ function AgentDetail({
33628
32115
  onChange: (key, value) => {
33629
32116
  setConfig({ ...config, agents: { ...config.agents, [name]: { ...settings, [key]: value } } });
33630
32117
  setNotice(null);
33631
- record3(`edited ${name}.${key}`);
33632
32118
  },
33633
32119
  onSave: save,
33634
32120
  onQuit: onBack,
@@ -33646,7 +32132,7 @@ var fields, INSPECT_DELAY_MS;
33646
32132
  var init_AgentDetail = __esm({
33647
32133
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentDetail.tsx"() {
33648
32134
  "use strict";
33649
- init_src4();
32135
+ init_src3();
33650
32136
  init_theme();
33651
32137
  init_FieldForm();
33652
32138
  init_agent_store();
@@ -33662,7 +32148,7 @@ var init_AgentDetail = __esm({
33662
32148
  });
33663
32149
 
33664
32150
  // packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentsScreen.tsx
33665
- import { useEffect as useEffect23, useRef as useRef13, useState as useState31 } from "react";
32151
+ import { useEffect as useEffect23, useState as useState31 } from "react";
33666
32152
  import { Box as Box46, Text as Text49, useInput as useInput12 } from "ink";
33667
32153
  import { Fragment as Fragment18, jsx as jsx58, jsxs as jsxs47 } from "react/jsx-runtime";
33668
32154
  function AgentsScreen({ onDone }) {
@@ -33673,12 +32159,6 @@ function AgentsScreen({ onDone }) {
33673
32159
  const [saving, setSaving] = useState31(false);
33674
32160
  const [loadError, setLoadError] = useState31(null);
33675
32161
  const [checks, setChecks] = useState31({});
33676
- const visit = useRef13({
33677
- trail: createTrail(),
33678
- before: void 0,
33679
- environment: void 0,
33680
- error: ""
33681
- }).current;
33682
32162
  const inspectAll = (loaded) => {
33683
32163
  for (const name of AGENT_NAMES) {
33684
32164
  void inspectAgent(name, loaded.agents[name].binary).then(
@@ -33690,38 +32170,14 @@ function AgentsScreen({ onDone }) {
33690
32170
  readAgentConfig().then((loaded) => {
33691
32171
  setConfig(loaded);
33692
32172
  inspectAll(loaded);
33693
- visit.before = agentSnapshot(loaded);
33694
32173
  startDebugRun({
33695
32174
  flow: "settings/agents",
33696
32175
  step: "01-agents",
33697
32176
  menuOption: "Configuration > Agents",
33698
- inputs: { ...visit.before, default_chosen: loaded.defaultChosen ?? false }
32177
+ inputs: { default_agent: loaded.defaultAgent }
33699
32178
  });
33700
- void describeAgents(loaded).then((found) => {
33701
- visit.environment = found;
33702
- });
33703
- }).catch((err) => {
33704
- visit.error = scrubError(err, []);
33705
- startDebugRun({ flow: "settings/agents", step: "01-agents", menuOption: "Configuration > Agents", inputs: {} });
33706
- setLoadError(visit.error);
33707
- });
32179
+ }).catch((err) => setLoadError(err instanceof Error ? err.message : String(err)));
33708
32180
  }, []);
33709
- const endVisit = (current) => {
33710
- const after = current ? agentSnapshot(current) : void 0;
33711
- const change = visit.before && after ? diffSnapshots(visit.before, after) : { changed: false, changed_fields: [] };
33712
- void finishDebugRun({
33713
- outputs: {
33714
- ...after ?? {},
33715
- ...change,
33716
- actions: visit.trail.entries(),
33717
- // Missing only when the user left before the probes finished.
33718
- ...visit.environment ? { agents: visit.environment } : {},
33719
- ...visit.error ? { error: visit.error } : {}
33720
- },
33721
- status: visit.error ? "error" : "success",
33722
- exitMethod: change.changed ? "saved" : "discarded"
33723
- });
33724
- };
33725
32181
  const makeDefault = (name) => {
33726
32182
  if (!config || saving) return;
33727
32183
  if (name === config.defaultAgent) {
@@ -33733,16 +32189,15 @@ function AgentsScreen({ onDone }) {
33733
32189
  writeAgentConfig({ ...config, defaultAgent: name, defaultChosen: true }).then(() => {
33734
32190
  setConfig((current) => current ? { ...current, defaultAgent: name, defaultChosen: true } : current);
33735
32191
  setNotice({ kind: "success", text: `Default agent is now ${AGENT_LABELS[name]}` });
33736
- visit.trail.record(`made ${name} the default`);
33737
- }).catch((err) => {
33738
- visit.error = scrubError(err, []);
33739
- visit.trail.record(`making ${name} the default failed`);
33740
- setNotice({ kind: "error", text: `Default agent not changed: ${visit.error}` });
33741
- }).finally(() => setSaving(false));
32192
+ }).catch(
32193
+ (err) => setNotice({
32194
+ kind: "error",
32195
+ text: `Default agent not changed: ${err instanceof Error ? err.message : String(err)}`
32196
+ })
32197
+ ).finally(() => setSaving(false));
33742
32198
  };
33743
32199
  useInput12((input, key) => {
33744
32200
  if (loadError && (key.escape || input === "q")) {
33745
- endVisit(null);
33746
32201
  onDone();
33747
32202
  return;
33748
32203
  }
@@ -33767,7 +32222,7 @@ function AgentsScreen({ onDone }) {
33767
32222
  return;
33768
32223
  }
33769
32224
  if (key.escape || input === "q") {
33770
- endVisit(config);
32225
+ void finishDebugRun({ outputs: { default_agent: config.defaultAgent }, status: "success", exitMethod: "saved" });
33771
32226
  onDone();
33772
32227
  }
33773
32228
  });
@@ -33792,10 +32247,6 @@ function AgentsScreen({ onDone }) {
33792
32247
  name: open,
33793
32248
  config,
33794
32249
  setConfig,
33795
- record: (action, error) => {
33796
- visit.trail.record(action);
33797
- if (error !== void 0) visit.error = scrubError(error, []);
33798
- },
33799
32250
  onBack: () => {
33800
32251
  setOpen(null);
33801
32252
  void readAgentConfig().then((saved) => {
@@ -33864,12 +32315,10 @@ var NAME_WIDTH, PANEL_LABEL_WIDTH;
33864
32315
  var init_AgentsScreen = __esm({
33865
32316
  "packages/experience-design-system-cli/src/tui/settings/configuration/agents/AgentsScreen.tsx"() {
33866
32317
  "use strict";
33867
- init_src4();
32318
+ init_src3();
33868
32319
  init_theme();
33869
32320
  init_control_hints();
33870
32321
  init_debug_store();
33871
- init_debug_trail();
33872
- init_agent_debug();
33873
32322
  init_agent_store();
33874
32323
  init_agent_status();
33875
32324
  init_AgentDetail();
@@ -33911,9 +32360,9 @@ var init_project_store = __esm({
33911
32360
  });
33912
32361
 
33913
32362
  // packages/experience-design-system-cli/src/tui/settings/configuration/project/ProjectScreen.tsx
33914
- import { useEffect as useEffect24, useRef as useRef14, useState as useState32 } from "react";
33915
- import { Box as Box47, Text as Text50, useInput as useInput13 } from "ink";
33916
- import { Fragment as Fragment19, jsx as jsx59, jsxs as jsxs48 } from "react/jsx-runtime";
32363
+ import { useEffect as useEffect24, useState as useState32 } from "react";
32364
+ import { Box as Box47, Text as Text50 } from "ink";
32365
+ import { jsx as jsx59, jsxs as jsxs48 } from "react/jsx-runtime";
33917
32366
  function debugFields(config) {
33918
32367
  return {
33919
32368
  space_id: config?.spaceId ?? "",
@@ -33929,88 +32378,40 @@ function ProjectScreen({ onDone }) {
33929
32378
  const [config, setConfig] = useState32(null);
33930
32379
  const [saving, setSaving] = useState32(false);
33931
32380
  const [notice, setNotice] = useState32(null);
33932
- const [loadError, setLoadError] = useState32(null);
33933
- const visit = useRef14({
33934
- trail: createTrail(),
33935
- before: void 0,
33936
- persisted: void 0,
33937
- error: ""
33938
- }).current;
33939
- const scrub = (err) => scrubError(err, [config?.cmaToken ?? ""]);
32381
+ const [lastSaved, setLastSaved] = useState32(null);
33940
32382
  useEffect24(() => {
33941
- readCredentials().then((cfg) => {
32383
+ void readCredentials().then((cfg) => {
33942
32384
  setConfig(cfg);
33943
- visit.before = snapshotOf(cfg);
33944
- visit.persisted = visit.before;
33945
32385
  startDebugRun({
33946
32386
  flow: "settings/contentful-configuration",
33947
32387
  step: "01-configuration",
33948
32388
  menuOption: "Configuration > Project",
33949
- inputs: { ...debugFields(cfg), settings_file: describeSettingsFile() }
32389
+ inputs: debugFields(cfg)
33950
32390
  });
33951
- }).catch((err) => {
33952
- visit.error = scrubError(err, []);
33953
- startDebugRun({
33954
- flow: "settings/contentful-configuration",
33955
- step: "01-configuration",
33956
- menuOption: "Configuration > Project",
33957
- inputs: { settings_file: describeSettingsFile() }
33958
- });
33959
- setLoadError(visit.error);
33960
32391
  });
33961
32392
  }, []);
33962
- const endVisit = (current) => {
33963
- const onScreen = current ? snapshotOf(current) : void 0;
33964
- const change = visit.before && visit.persisted ? diffSnapshots(visit.before, visit.persisted) : { changed: false, changed_fields: [] };
33965
- const unsaved = visit.persisted && onScreen ? diffSnapshots(visit.persisted, onScreen) : { changed: false, changed_fields: [] };
33966
- void finishDebugRun({
33967
- outputs: {
33968
- ...debugFields(current),
33969
- ...change,
33970
- unsaved_edits: unsaved.changed_fields,
33971
- actions: visit.trail.entries(),
33972
- ...visit.error ? { error: visit.error } : {}
33973
- },
33974
- status: visit.error ? "error" : "success",
33975
- exitMethod: change.changed ? "saved" : "discarded"
33976
- });
33977
- };
33978
- useInput13((input, key) => {
33979
- if (!config && loadError && (key.escape || input === "q")) {
33980
- endVisit(null);
33981
- onDone();
33982
- }
33983
- });
33984
32393
  if (!config) {
33985
32394
  return /* @__PURE__ */ jsxs48(Box47, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
33986
32395
  /* @__PURE__ */ jsx59(Text50, { bold: true, children: "Project" }),
33987
32396
  /* @__PURE__ */ jsx59(Text50, { children: " " }),
33988
- loadError ? /* @__PURE__ */ jsxs48(Fragment19, { children: [
33989
- /* @__PURE__ */ jsxs48(Text50, { color: PALETTE.error, children: [
33990
- "\u2717 Could not read the settings: ",
33991
- loadError
33992
- ] }),
33993
- /* @__PURE__ */ jsx59(Text50, { children: " " }),
33994
- /* @__PURE__ */ jsx59(ControlHints, { hints: [{ keys: "Esc/q", label: "back" }] })
33995
- ] }) : /* @__PURE__ */ jsx59(Text50, { color: PALETTE.accent, children: "Loading..." })
32397
+ /* @__PURE__ */ jsx59(Text50, { color: PALETTE.accent, children: "Loading..." })
33996
32398
  ] });
33997
32399
  }
33998
32400
  const save = () => {
33999
32401
  setSaving(true);
34000
32402
  setNotice(null);
34001
32403
  writeCredentials(config).then(() => {
34002
- visit.persisted = snapshotOf(config);
34003
- visit.trail.record("saved");
32404
+ setLastSaved(config);
34004
32405
  if (config.contentfulBaseDir) void startDebugSessionIn(config.contentfulBaseDir, { replace: true });
34005
32406
  setNotice({ kind: "success", text: "Project settings saved" });
34006
32407
  }).catch((err) => {
34007
- visit.error = scrub(err);
34008
- visit.trail.record("save failed");
34009
32408
  setNotice({ kind: "error", text: err instanceof Error ? err.message : "Failed to save" });
34010
32409
  }).finally(() => setSaving(false));
34011
32410
  };
34012
32411
  const quit = () => {
34013
- endVisit(config);
32412
+ void finishDebugRun(
32413
+ lastSaved ? { outputs: debugFields(lastSaved), status: "success", exitMethod: "saved" } : { outputs: {}, status: "success", exitMethod: "discarded" }
32414
+ );
34014
32415
  onDone();
34015
32416
  };
34016
32417
  return /* @__PURE__ */ jsx59(
@@ -34023,7 +32424,6 @@ function ProjectScreen({ onDone }) {
34023
32424
  onChange: (key, value) => {
34024
32425
  setConfig({ ...config, [key]: value });
34025
32426
  setNotice(null);
34026
- visit.trail.record(`edited ${key}`);
34027
32427
  },
34028
32428
  onSave: save,
34029
32429
  onQuit: quit,
@@ -34032,14 +32432,12 @@ function ProjectScreen({ onDone }) {
34032
32432
  }
34033
32433
  );
34034
32434
  }
34035
- var FIELDS2, snapshotOf, valuesOf;
32435
+ var FIELDS2, valuesOf;
34036
32436
  var init_ProjectScreen = __esm({
34037
32437
  "packages/experience-design-system-cli/src/tui/settings/configuration/project/ProjectScreen.tsx"() {
34038
32438
  "use strict";
34039
32439
  init_theme();
34040
- init_control_hints();
34041
32440
  init_debug_store();
34042
- init_debug_trail();
34043
32441
  init_FieldForm();
34044
32442
  init_project_store();
34045
32443
  FIELDS2 = [
@@ -34051,20 +32449,19 @@ var init_ProjectScreen = __esm({
34051
32449
  { key: "defaultTokenFile", label: "Default token file" },
34052
32450
  { key: "contentfulBaseDir", label: "Root Project Directory", hint: "(where .contentful goes)" }
34053
32451
  ];
34054
- snapshotOf = (config) => Object.fromEntries(FIELDS2.map(({ key }) => [key, config[key] || ""]));
34055
32452
  valuesOf = (config) => Object.fromEntries(FIELDS2.map(({ key }) => [key, config[key] || ""]));
34056
32453
  }
34057
32454
  });
34058
32455
 
34059
32456
  // packages/experience-design-system-cli/src/tui/settings/configuration/ConfigurationScreen.tsx
34060
32457
  import { useState as useState33 } from "react";
34061
- import { Box as Box48, Text as Text51, useInput as useInput14 } from "ink";
32458
+ import { Box as Box48, Text as Text51, useInput as useInput13 } from "ink";
34062
32459
  import { jsx as jsx60, jsxs as jsxs49 } from "react/jsx-runtime";
34063
32460
  function ConfigurationScreen({ onDone }) {
34064
32461
  const [focus, setFocus] = useState33(0);
34065
32462
  const [open, setOpen] = useState33(null);
34066
32463
  const close = () => setOpen(null);
34067
- useInput14((input, key) => {
32464
+ useInput13((input, key) => {
34068
32465
  if (open) return;
34069
32466
  if (key.upArrow) {
34070
32467
  setFocus((i) => (i - 1 + SECTIONS.length) % SECTIONS.length);
@@ -34124,8 +32521,8 @@ var init_ConfigurationScreen = __esm({
34124
32521
 
34125
32522
  // packages/experience-design-system-cli/src/tui/settings/opt-in-analytics/screen.tsx
34126
32523
  import { useEffect as useEffect25, useState as useState34 } from "react";
34127
- import { Box as Box49, Text as Text52, useInput as useInput15 } from "ink";
34128
- import { Fragment as Fragment20, jsx as jsx61, jsxs as jsxs50 } from "react/jsx-runtime";
32524
+ import { Box as Box49, Text as Text52, useInput as useInput14 } from "ink";
32525
+ import { Fragment as Fragment19, jsx as jsx61, jsxs as jsxs50 } from "react/jsx-runtime";
34129
32526
  function OptInAnalyticsScreen({ onDone }) {
34130
32527
  const [loading, setLoading] = useState34(true);
34131
32528
  const [enabled, setEnabled] = useState34(true);
@@ -34141,7 +32538,7 @@ function OptInAnalyticsScreen({ onDone }) {
34141
32538
  });
34142
32539
  });
34143
32540
  }, []);
34144
- useInput15((input, key) => {
32541
+ useInput14((input, key) => {
34145
32542
  if (loading) return;
34146
32543
  if (key.return || input === " ") {
34147
32544
  setEnabled((current) => {
@@ -34159,7 +32556,7 @@ function OptInAnalyticsScreen({ onDone }) {
34159
32556
  return /* @__PURE__ */ jsxs50(Box49, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
34160
32557
  /* @__PURE__ */ jsx61(Text52, { bold: true, children: "Settings \u203A Opt-in Analytics" }),
34161
32558
  /* @__PURE__ */ jsx61(Text52, { children: " " }),
34162
- loading ? /* @__PURE__ */ jsx61(Text52, { color: PALETTE.muted, children: "Loading\u2026" }) : /* @__PURE__ */ jsxs50(Fragment20, { children: [
32559
+ loading ? /* @__PURE__ */ jsx61(Text52, { color: PALETTE.muted, children: "Loading\u2026" }) : /* @__PURE__ */ jsxs50(Fragment19, { children: [
34163
32560
  /* @__PURE__ */ jsxs50(Text52, { children: [
34164
32561
  "Share anonymous usage data:",
34165
32562
  " ",
@@ -34193,7 +32590,7 @@ var init_screen11 = __esm({
34193
32590
 
34194
32591
  // packages/experience-design-system-cli/src/tui/settings/debug-mode/screen.tsx
34195
32592
  import { useEffect as useEffect26, useState as useState35 } from "react";
34196
- import { Box as Box50, Text as Text53, useInput as useInput16 } from "ink";
32593
+ import { Box as Box50, Text as Text53, useInput as useInput15 } from "ink";
34197
32594
  import { jsx as jsx62, jsxs as jsxs51 } from "react/jsx-runtime";
34198
32595
  function DebugModeScreen({ onDone }) {
34199
32596
  const [loading, setLoading] = useState35(true);
@@ -34210,7 +32607,7 @@ function DebugModeScreen({ onDone }) {
34210
32607
  });
34211
32608
  });
34212
32609
  }, []);
34213
- useInput16((input, key) => {
32610
+ useInput15((input, key) => {
34214
32611
  if (loading) return;
34215
32612
  if (key.return || input === " ") {
34216
32613
  setEnabled((current) => {
@@ -34262,7 +32659,7 @@ __export(app_exports, {
34262
32659
  });
34263
32660
  import { join as join27 } from "node:path";
34264
32661
  import { useEffect as useEffect27, useState as useState36 } from "react";
34265
- import { Fragment as Fragment21, jsx as jsx63 } from "react/jsx-runtime";
32662
+ import { Fragment as Fragment20, jsx as jsx63 } from "react/jsx-runtime";
34266
32663
  function App({ importOptions, inkClear }) {
34267
32664
  const [screen, setScreen] = useState36("start");
34268
32665
  const [importExitCode, setImportExitCode] = useState36();
@@ -34431,7 +32828,7 @@ function App({ importOptions, inkClear }) {
34431
32828
  }
34432
32829
  );
34433
32830
  }
34434
- if (importDefaults === void 0) return /* @__PURE__ */ jsx63(Fragment21, {});
32831
+ if (importDefaults === void 0) return /* @__PURE__ */ jsx63(Fragment20, {});
34435
32832
  if (projectPath === void 0) {
34436
32833
  return /* @__PURE__ */ jsx63(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
34437
32834
  }
@@ -34470,7 +32867,7 @@ function App({ importOptions, inkClear }) {
34470
32867
  }
34471
32868
  );
34472
32869
  }
34473
- return /* @__PURE__ */ jsx63(Fragment21, {});
32870
+ return /* @__PURE__ */ jsx63(Fragment20, {});
34474
32871
  }
34475
32872
  if (scopeRun && scopeFlow) {
34476
32873
  if (scopeFlow.status === "failed") {
@@ -34507,7 +32904,7 @@ function App({ importOptions, inkClear }) {
34507
32904
  }
34508
32905
  );
34509
32906
  }
34510
- return /* @__PURE__ */ jsx63(Fragment21, {});
32907
+ return /* @__PURE__ */ jsx63(Fragment20, {});
34511
32908
  }
34512
32909
  if (pendingLaunch?.cached) {
34513
32910
  return /* @__PURE__ */ jsx63(
@@ -34580,7 +32977,7 @@ var init_app = __esm({
34580
32977
  });
34581
32978
 
34582
32979
  // packages/experience-design-system-cli/program.ts
34583
- init_src4();
32980
+ init_src3();
34584
32981
  import { readFileSync as readFileSync9 } from "node:fs";
34585
32982
  import { join as join28 } from "node:path";
34586
32983
  import { Command } from "commander";
@@ -34687,7 +33084,7 @@ function createProgram() {
34687
33084
  // packages/experience-design-system-cli/src/config/migrate.ts
34688
33085
  init_config();
34689
33086
  init_package_root();
34690
- import { existsSync as existsSync12 } from "node:fs";
33087
+ import { existsSync as existsSync11 } from "node:fs";
34691
33088
  import { mkdir as mkdir10, readFile as readFile19, rename as rename3, rmdir, unlink } from "node:fs/promises";
34692
33089
  import { dirname as dirname16, join as join29 } from "node:path";
34693
33090
  var PACKAGE_NAME3 = "@contentful/experience-design-system-cli";
@@ -34713,8 +33110,8 @@ async function migrateOldConfig() {
34713
33110
  if (debugMode) migrated["debugMode"] = debugMode;
34714
33111
  Object.assign(migrated, await readJson(oldCredentials));
34715
33112
  if (Object.keys(migrated).length > 0) await updateSettings2({ ...migrated, ...await readSettings2() });
34716
- if (existsSync12(oldRuns)) {
34717
- if (!existsSync12(runsFilePath2())) {
33113
+ if (existsSync11(oldRuns)) {
33114
+ if (!existsSync11(runsFilePath2())) {
34718
33115
  await mkdir10(dirname16(runsFilePath2()), { recursive: true });
34719
33116
  await rename3(oldRuns, runsFilePath2());
34720
33117
  } else {