@healflow/shared 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +33 -10
  2. package/dist/config-loader.d.ts +2 -1
  3. package/dist/config-loader.d.ts.map +1 -1
  4. package/dist/config-loader.js +15 -0
  5. package/dist/config-loader.js.map +1 -1
  6. package/dist/config.d.ts +13 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +14 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/domain.d.ts +12 -2
  11. package/dist/domain.d.ts.map +1 -1
  12. package/dist/enums.d.ts +77 -2
  13. package/dist/enums.d.ts.map +1 -1
  14. package/dist/enums.js +82 -2
  15. package/dist/enums.js.map +1 -1
  16. package/dist/healing-matrix/entries.d.ts +3 -0
  17. package/dist/healing-matrix/entries.d.ts.map +1 -0
  18. package/dist/healing-matrix/entries.js +52 -0
  19. package/dist/healing-matrix/entries.js.map +1 -0
  20. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.d.ts +3 -0
  21. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.d.ts.map +1 -0
  22. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.js +84 -0
  23. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.js.map +1 -0
  24. package/dist/healing-matrix/family-01-locator-selector/element-not-found.d.ts +3 -0
  25. package/dist/healing-matrix/family-01-locator-selector/element-not-found.d.ts.map +1 -0
  26. package/dist/healing-matrix/family-01-locator-selector/element-not-found.js +174 -0
  27. package/dist/healing-matrix/family-01-locator-selector/element-not-found.js.map +1 -0
  28. package/dist/healing-matrix/family-01-locator-selector/index.d.ts +3 -0
  29. package/dist/healing-matrix/family-01-locator-selector/index.d.ts.map +1 -0
  30. package/dist/healing-matrix/family-01-locator-selector/index.js +14 -0
  31. package/dist/healing-matrix/family-01-locator-selector/index.js.map +1 -0
  32. package/dist/healing-matrix/family-01-locator-selector/locator-chain.d.ts +3 -0
  33. package/dist/healing-matrix/family-01-locator-selector/locator-chain.d.ts.map +1 -0
  34. package/dist/healing-matrix/family-01-locator-selector/locator-chain.js +80 -0
  35. package/dist/healing-matrix/family-01-locator-selector/locator-chain.js.map +1 -0
  36. package/dist/healing-matrix/family-01-locator-selector/wrong-state.d.ts +3 -0
  37. package/dist/healing-matrix/family-01-locator-selector/wrong-state.d.ts.map +1 -0
  38. package/dist/healing-matrix/family-01-locator-selector/wrong-state.js +96 -0
  39. package/dist/healing-matrix/family-01-locator-selector/wrong-state.js.map +1 -0
  40. package/dist/healing-matrix/family-01-locator-selector.d.ts +3 -0
  41. package/dist/healing-matrix/family-01-locator-selector.d.ts.map +1 -0
  42. package/dist/healing-matrix/family-01-locator-selector.js +413 -0
  43. package/dist/healing-matrix/family-01-locator-selector.js.map +1 -0
  44. package/dist/healing-matrix/family-02-timing-sync.d.ts +3 -0
  45. package/dist/healing-matrix/family-02-timing-sync.d.ts.map +1 -0
  46. package/dist/healing-matrix/family-02-timing-sync.js +150 -0
  47. package/dist/healing-matrix/family-02-timing-sync.js.map +1 -0
  48. package/dist/healing-matrix/family-03-overlay-modal.d.ts +3 -0
  49. package/dist/healing-matrix/family-03-overlay-modal.d.ts.map +1 -0
  50. package/dist/healing-matrix/family-03-overlay-modal.js +141 -0
  51. package/dist/healing-matrix/family-03-overlay-modal.js.map +1 -0
  52. package/dist/healing-matrix/family-04-navigation-routing.d.ts +3 -0
  53. package/dist/healing-matrix/family-04-navigation-routing.d.ts.map +1 -0
  54. package/dist/healing-matrix/family-04-navigation-routing.js +100 -0
  55. package/dist/healing-matrix/family-04-navigation-routing.js.map +1 -0
  56. package/dist/healing-matrix/family-05-frame-iframe.d.ts +3 -0
  57. package/dist/healing-matrix/family-05-frame-iframe.d.ts.map +1 -0
  58. package/dist/healing-matrix/family-05-frame-iframe.js +103 -0
  59. package/dist/healing-matrix/family-05-frame-iframe.js.map +1 -0
  60. package/dist/healing-matrix/family-06-shadow-dom.d.ts +3 -0
  61. package/dist/healing-matrix/family-06-shadow-dom.d.ts.map +1 -0
  62. package/dist/healing-matrix/family-06-shadow-dom.js +78 -0
  63. package/dist/healing-matrix/family-06-shadow-dom.js.map +1 -0
  64. package/dist/healing-matrix/family-07-auth-session.d.ts +3 -0
  65. package/dist/healing-matrix/family-07-auth-session.d.ts.map +1 -0
  66. package/dist/healing-matrix/family-07-auth-session.js +120 -0
  67. package/dist/healing-matrix/family-07-auth-session.js.map +1 -0
  68. package/dist/healing-matrix/family-08-network.d.ts +3 -0
  69. package/dist/healing-matrix/family-08-network.d.ts.map +1 -0
  70. package/dist/healing-matrix/family-08-network.js +128 -0
  71. package/dist/healing-matrix/family-08-network.js.map +1 -0
  72. package/dist/healing-matrix/family-09-api-mocking.d.ts +3 -0
  73. package/dist/healing-matrix/family-09-api-mocking.d.ts.map +1 -0
  74. package/dist/healing-matrix/family-09-api-mocking.js +102 -0
  75. package/dist/healing-matrix/family-09-api-mocking.js.map +1 -0
  76. package/dist/healing-matrix/family-10-test-data.d.ts +3 -0
  77. package/dist/healing-matrix/family-10-test-data.d.ts.map +1 -0
  78. package/dist/healing-matrix/family-10-test-data.js +89 -0
  79. package/dist/healing-matrix/family-10-test-data.js.map +1 -0
  80. package/dist/healing-matrix/family-11-environment-config.d.ts +3 -0
  81. package/dist/healing-matrix/family-11-environment-config.d.ts.map +1 -0
  82. package/dist/healing-matrix/family-11-environment-config.js +97 -0
  83. package/dist/healing-matrix/family-11-environment-config.js.map +1 -0
  84. package/dist/healing-matrix/family-12-browser-infra.d.ts +3 -0
  85. package/dist/healing-matrix/family-12-browser-infra.d.ts.map +1 -0
  86. package/dist/healing-matrix/family-12-browser-infra.js +109 -0
  87. package/dist/healing-matrix/family-12-browser-infra.js.map +1 -0
  88. package/dist/healing-matrix/family-13-upload-download.d.ts +3 -0
  89. package/dist/healing-matrix/family-13-upload-download.d.ts.map +1 -0
  90. package/dist/healing-matrix/family-13-upload-download.js +64 -0
  91. package/dist/healing-matrix/family-13-upload-download.js.map +1 -0
  92. package/dist/healing-matrix/family-14-multi-tab.d.ts +3 -0
  93. package/dist/healing-matrix/family-14-multi-tab.d.ts.map +1 -0
  94. package/dist/healing-matrix/family-14-multi-tab.js +54 -0
  95. package/dist/healing-matrix/family-14-multi-tab.js.map +1 -0
  96. package/dist/healing-matrix/family-15-visual-a11y.d.ts +3 -0
  97. package/dist/healing-matrix/family-15-visual-a11y.d.ts.map +1 -0
  98. package/dist/healing-matrix/family-15-visual-a11y.js +81 -0
  99. package/dist/healing-matrix/family-15-visual-a11y.js.map +1 -0
  100. package/dist/healing-matrix/family-16-i18n.d.ts +3 -0
  101. package/dist/healing-matrix/family-16-i18n.d.ts.map +1 -0
  102. package/dist/healing-matrix/family-16-i18n.js +52 -0
  103. package/dist/healing-matrix/family-16-i18n.js.map +1 -0
  104. package/dist/healing-matrix/family-17-mobile-touch.d.ts +3 -0
  105. package/dist/healing-matrix/family-17-mobile-touch.d.ts.map +1 -0
  106. package/dist/healing-matrix/family-17-mobile-touch.js +52 -0
  107. package/dist/healing-matrix/family-17-mobile-touch.js.map +1 -0
  108. package/dist/healing-matrix/family-18-performance.d.ts +3 -0
  109. package/dist/healing-matrix/family-18-performance.d.ts.map +1 -0
  110. package/dist/healing-matrix/family-18-performance.js +54 -0
  111. package/dist/healing-matrix/family-18-performance.js.map +1 -0
  112. package/dist/healing-matrix/family-19-third-party.d.ts +3 -0
  113. package/dist/healing-matrix/family-19-third-party.d.ts.map +1 -0
  114. package/dist/healing-matrix/family-19-third-party.js +65 -0
  115. package/dist/healing-matrix/family-19-third-party.js.map +1 -0
  116. package/dist/healing-matrix/family-20-test-structure.d.ts +3 -0
  117. package/dist/healing-matrix/family-20-test-structure.d.ts.map +1 -0
  118. package/dist/healing-matrix/family-20-test-structure.js +78 -0
  119. package/dist/healing-matrix/family-20-test-structure.js.map +1 -0
  120. package/dist/healing-matrix/family-21-assertion.d.ts +3 -0
  121. package/dist/healing-matrix/family-21-assertion.d.ts.map +1 -0
  122. package/dist/healing-matrix/family-21-assertion.js +88 -0
  123. package/dist/healing-matrix/family-21-assertion.js.map +1 -0
  124. package/dist/healing-matrix/family-22-product-defect.d.ts +3 -0
  125. package/dist/healing-matrix/family-22-product-defect.d.ts.map +1 -0
  126. package/dist/healing-matrix/family-22-product-defect.js +72 -0
  127. package/dist/healing-matrix/family-22-product-defect.js.map +1 -0
  128. package/dist/healing-matrix/family-23-security-compliance.d.ts +3 -0
  129. package/dist/healing-matrix/family-23-security-compliance.d.ts.map +1 -0
  130. package/dist/healing-matrix/family-23-security-compliance.js +74 -0
  131. package/dist/healing-matrix/family-23-security-compliance.js.map +1 -0
  132. package/dist/healing-matrix/family-summaries.d.ts +3 -0
  133. package/dist/healing-matrix/family-summaries.d.ts.map +1 -0
  134. package/dist/healing-matrix/family-summaries.js +224 -0
  135. package/dist/healing-matrix/family-summaries.js.map +1 -0
  136. package/dist/healing-matrix/global-hard-stops.d.ts +23 -0
  137. package/dist/healing-matrix/global-hard-stops.d.ts.map +1 -0
  138. package/dist/healing-matrix/global-hard-stops.js +19 -0
  139. package/dist/healing-matrix/global-hard-stops.js.map +1 -0
  140. package/dist/healing-matrix/helpers.d.ts +6 -0
  141. package/dist/healing-matrix/helpers.d.ts.map +1 -0
  142. package/dist/healing-matrix/helpers.js +16 -0
  143. package/dist/healing-matrix/helpers.js.map +1 -0
  144. package/dist/healing-matrix/index.d.ts +5 -0
  145. package/dist/healing-matrix/index.d.ts.map +1 -0
  146. package/dist/healing-matrix/index.js +14 -0
  147. package/dist/healing-matrix/index.js.map +1 -0
  148. package/dist/healing-matrix-types.d.ts +40 -0
  149. package/dist/healing-matrix-types.d.ts.map +1 -0
  150. package/dist/healing-matrix-types.js +3 -0
  151. package/dist/healing-matrix-types.js.map +1 -0
  152. package/dist/healing-matrix.d.ts +2 -0
  153. package/dist/healing-matrix.d.ts.map +1 -0
  154. package/dist/healing-matrix.js +11 -0
  155. package/dist/healing-matrix.js.map +1 -0
  156. package/dist/index.d.ts +3 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +3 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/matrix-policy.d.ts +30 -0
  161. package/dist/matrix-policy.d.ts.map +1 -0
  162. package/dist/matrix-policy.js +168 -0
  163. package/dist/matrix-policy.js.map +1 -0
  164. package/dist/policy.d.ts +2 -2
  165. package/dist/policy.d.ts.map +1 -1
  166. package/dist/policy.js +19 -2
  167. package/dist/policy.js.map +1 -1
  168. package/package.json +6 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/healing-matrix/entries.ts"],"names":[],"mappings":";;;AACA,oEAA0E;AAC1E,yEAA+D;AAC/D,6EAAiE;AACjE,uFAAsE;AACtE,2EAAgE;AAChE,uEAA8D;AAC9D,2EAAgE;AAChE,iEAA2D;AAC3D,yEAA+D;AAC/D,qEAA6D;AAC7D,uFAAsE;AACtE,6EAAiE;AACjE,iFAAmE;AACnE,qEAA6D;AAC7D,yEAA+D;AAC/D,2DAAwD;AACxD,2EAAgE;AAChE,yEAA+D;AAC/D,yEAA+D;AAC/D,+EAAkE;AAClE,qEAA6D;AAC7D,+EAAkE;AAClE,yFAAuE;AAE1D,QAAA,sBAAsB,GAAyB;IAC1D,GAAG,4BAAiB;IACpB,GAAG,4CAAiB;IACpB,GAAG,8CAAiB;IACpB,GAAG,mDAAiB;IACpB,GAAG,6CAAiB;IACpB,GAAG,2CAAiB;IACpB,GAAG,6CAAiB;IACpB,GAAG,wCAAiB;IACpB,GAAG,4CAAiB;IACpB,GAAG,0CAAiB;IACpB,GAAG,mDAAiB;IACpB,GAAG,8CAAiB;IACpB,GAAG,gDAAiB;IACpB,GAAG,0CAAiB;IACpB,GAAG,4CAAiB;IACpB,GAAG,qCAAiB;IACpB,GAAG,6CAAiB;IACpB,GAAG,4CAAiB;IACpB,GAAG,4CAAiB;IACpB,GAAG,+CAAiB;IACpB,GAAG,0CAAiB;IACpB,GAAG,+CAAiB;IACpB,GAAG,oDAAiB;CACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../../healing-matrix-types.js';
2
+ export declare const FAMILY_01_AMBIGUOUS_MATCH_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=ambiguous-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambiguous-match.d.ts","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/ambiguous-match.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,eAAO,MAAM,iCAAiC,EAAE,kBAAkB,EA8EjE,CAAC"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_AMBIGUOUS_MATCH_ENTRIES = void 0;
4
+ const enums_js_1 = require("../../enums.js");
5
+ exports.FAMILY_01_AMBIGUOUS_MATCH_ENTRIES = [
6
+ {
7
+ id: 'selector.duplicate_test_id',
8
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
9
+ familyNumber: 1,
10
+ group: '1.2 Ambiguous match',
11
+ name: 'Same test id in two sections',
12
+ category: enums_js_1.FailureCategory.SELECTOR,
13
+ canHeal: enums_js_1.MatrixHealability.YES,
14
+ healPath: enums_js_1.HealPath.BOTH,
15
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
16
+ notHealedReason: 'Still 2+ inside scope with no disambiguator',
17
+ detectionPatterns: ['strict mode violation', 'resolved to \d+ elements'],
18
+ },
19
+ {
20
+ id: 'selector.duplicate_role_name',
21
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
22
+ familyNumber: 1,
23
+ group: '1.2 Ambiguous match',
24
+ name: 'Same role+name on page',
25
+ category: enums_js_1.FailureCategory.SELECTOR,
26
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
27
+ healPath: enums_js_1.HealPath.BOTH,
28
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
29
+ notHealedReason: 'Duplicate rows with identical a11y name',
30
+ },
31
+ {
32
+ id: 'selector.strict_mode',
33
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
34
+ familyNumber: 1,
35
+ group: '1.2 Ambiguous match',
36
+ name: 'Strict mode violation',
37
+ category: enums_js_1.FailureCategory.SELECTOR,
38
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
39
+ healPath: enums_js_1.HealPath.BOTH,
40
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
41
+ notHealedReason: 'Cannot distinguish siblings',
42
+ detectionPatterns: ['strict mode violation'],
43
+ },
44
+ {
45
+ id: 'selector.global_xpath_many',
46
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
47
+ familyNumber: 1,
48
+ group: '1.2 Ambiguous match',
49
+ name: 'Global xpath/css matches many',
50
+ category: enums_js_1.FailureCategory.SELECTOR,
51
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
52
+ healPath: enums_js_1.HealPath.PERMANENT,
53
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
54
+ notHealedReason: 'No parent in original test',
55
+ skippedReason: 'Runtime heal skipped (no safe click)',
56
+ },
57
+ {
58
+ id: 'selector.nth_reorder',
59
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
60
+ familyNumber: 1,
61
+ group: '1.2 Ambiguous match',
62
+ name: 'List reorder changed nth(n)',
63
+ category: enums_js_1.FailureCategory.SELECTOR,
64
+ canHeal: enums_js_1.MatrixHealability.YES,
65
+ healPath: enums_js_1.HealPath.BOTH,
66
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
67
+ notHealedReason: 'No stable row key in DOM',
68
+ detectionPatterns: ['\.nth\('],
69
+ },
70
+ {
71
+ id: 'selector.first_last_wrong',
72
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
73
+ familyNumber: 1,
74
+ group: '1.2 Ambiguous match',
75
+ name: '.first() / .last() wrong after sort',
76
+ category: enums_js_1.FailureCategory.SELECTOR,
77
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
78
+ healPath: enums_js_1.HealPath.BOTH,
79
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
80
+ notHealedReason: 'List semantics opaque',
81
+ detectionPatterns: ['\.first\(\)', '\.last\(\)'],
82
+ },
83
+ ];
84
+ //# sourceMappingURL=ambiguous-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambiguous-match.js","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/ambiguous-match.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../../healing-matrix-types.js';
2
+ export declare const FAMILY_01_ELEMENT_NOT_FOUND_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=element-not-found.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-not-found.d.ts","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/element-not-found.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,eAAO,MAAM,mCAAmC,EAAE,kBAAkB,EAwKnE,CAAC"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_ELEMENT_NOT_FOUND_ENTRIES = void 0;
4
+ const enums_js_1 = require("../../enums.js");
5
+ exports.FAMILY_01_ELEMENT_NOT_FOUND_ENTRIES = [
6
+ {
7
+ id: 'selector.test_id_renamed',
8
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
9
+ familyNumber: 1,
10
+ group: '1.1 Element not found',
11
+ name: 'Test id renamed',
12
+ category: enums_js_1.FailureCategory.SELECTOR,
13
+ canHeal: enums_js_1.MatrixHealability.YES,
14
+ healPath: enums_js_1.HealPath.BOTH,
15
+ techniqueStack: [
16
+ enums_js_1.HealingTechnique.T0_RETRY,
17
+ enums_js_1.HealingTechnique.T1_SCOPE,
18
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
19
+ enums_js_1.HealingTechnique.T4_TRACE,
20
+ enums_js_1.HealingTechnique.T5_HISTORY,
21
+ enums_js_1.HealingTechnique.T6_AST,
22
+ enums_js_1.HealingTechnique.T7_AI,
23
+ ],
24
+ notHealedReason: 'UI removed entirely (true missing feature)',
25
+ skippedReason: 'Test not using HealFlow fixture',
26
+ detectionPatterns: ['data-testid', 'getByTestId'],
27
+ },
28
+ {
29
+ id: 'selector.css_class_renamed',
30
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
31
+ familyNumber: 1,
32
+ group: '1.1 Element not found',
33
+ name: 'CSS class / id renamed',
34
+ category: enums_js_1.FailureCategory.SELECTOR,
35
+ canHeal: enums_js_1.MatrixHealability.YES,
36
+ healPath: enums_js_1.HealPath.BOTH,
37
+ techniqueStack: [
38
+ enums_js_1.HealingTechnique.T1_SCOPE,
39
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
40
+ enums_js_1.HealingTechnique.T4_TRACE,
41
+ enums_js_1.HealingTechnique.T6_AST,
42
+ enums_js_1.HealingTechnique.T7_AI,
43
+ ],
44
+ notHealedReason: 'Element removed from product',
45
+ },
46
+ {
47
+ id: 'selector.xpath_broken',
48
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
49
+ familyNumber: 1,
50
+ group: '1.1 Element not found',
51
+ name: 'XPath broken',
52
+ category: enums_js_1.FailureCategory.SELECTOR,
53
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
54
+ healPath: enums_js_1.HealPath.PERMANENT,
55
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
56
+ notHealedReason: 'XPath-only with no stable anchor in trace',
57
+ skippedReason: 'Runtime xpath click avoided (too ambiguous)',
58
+ },
59
+ {
60
+ id: 'selector.text_changed',
61
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
62
+ familyNumber: 1,
63
+ group: '1.1 Element not found',
64
+ name: 'Text content changed',
65
+ category: enums_js_1.FailureCategory.SELECTOR,
66
+ canHeal: enums_js_1.MatrixHealability.YES,
67
+ healPath: enums_js_1.HealPath.BOTH,
68
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
69
+ notHealedReason: 'Text gone; feature removed',
70
+ detectionPatterns: ['getByText'],
71
+ },
72
+ {
73
+ id: 'selector.a11y_name_changed',
74
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
75
+ familyNumber: 1,
76
+ group: '1.1 Element not found',
77
+ name: 'Accessible name changed',
78
+ category: enums_js_1.FailureCategory.SELECTOR,
79
+ canHeal: enums_js_1.MatrixHealability.YES,
80
+ healPath: enums_js_1.HealPath.BOTH,
81
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
82
+ notHealedReason: 'Role removed (e.g. div instead of button)',
83
+ detectionPatterns: ['getByRole'],
84
+ },
85
+ {
86
+ id: 'selector.label_changed',
87
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
88
+ familyNumber: 1,
89
+ group: '1.1 Element not found',
90
+ name: 'Label / placeholder changed',
91
+ category: enums_js_1.FailureCategory.SELECTOR,
92
+ canHeal: enums_js_1.MatrixHealability.YES,
93
+ healPath: enums_js_1.HealPath.BOTH,
94
+ techniqueStack: [
95
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
96
+ enums_js_1.HealingTechnique.T4_TRACE,
97
+ enums_js_1.HealingTechnique.T6_AST,
98
+ ],
99
+ notHealedReason: 'Input removed',
100
+ detectionPatterns: ['getByLabel', 'placeholder'],
101
+ },
102
+ {
103
+ id: 'selector.alt_text_changed',
104
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
105
+ familyNumber: 1,
106
+ group: '1.1 Element not found',
107
+ name: 'Alt text / title changed',
108
+ category: enums_js_1.FailureCategory.SELECTOR,
109
+ canHeal: enums_js_1.MatrixHealability.YES,
110
+ healPath: enums_js_1.HealPath.BOTH,
111
+ techniqueStack: [enums_js_1.HealingTechnique.T3_FINGERPRINT, enums_js_1.HealingTechnique.T6_AST],
112
+ notHealedReason: 'Asset removed',
113
+ },
114
+ {
115
+ id: 'selector.wrong_locator_type',
116
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
117
+ familyNumber: 1,
118
+ group: '1.1 Element not found',
119
+ name: 'Wrong locator type used',
120
+ category: enums_js_1.FailureCategory.SELECTOR,
121
+ canHeal: enums_js_1.MatrixHealability.YES,
122
+ healPath: enums_js_1.HealPath.PERMANENT,
123
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
124
+ },
125
+ {
126
+ id: 'selector.typo_in_string',
127
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
128
+ familyNumber: 1,
129
+ group: '1.1 Element not found',
130
+ name: 'Typo in test source string',
131
+ category: enums_js_1.FailureCategory.SELECTOR,
132
+ canHeal: enums_js_1.MatrixHealability.YES,
133
+ healPath: enums_js_1.HealPath.PERMANENT,
134
+ techniqueStack: [enums_js_1.HealingTechnique.T5_HISTORY, enums_js_1.HealingTechnique.T6_AST],
135
+ },
136
+ {
137
+ id: 'selector.component_moved',
138
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
139
+ familyNumber: 1,
140
+ group: '1.1 Element not found',
141
+ name: 'Component moved to different route',
142
+ category: enums_js_1.FailureCategory.SELECTOR,
143
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
144
+ healPath: enums_js_1.HealPath.PERMANENT,
145
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
146
+ notHealedReason: 'Feature behind new auth/gate',
147
+ },
148
+ {
149
+ id: 'selector.feature_flag_off',
150
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
151
+ familyNumber: 1,
152
+ group: '1.1 Element not found',
153
+ name: 'Feature flag off / A/B bucket',
154
+ category: enums_js_1.FailureCategory.SELECTOR,
155
+ canHeal: enums_js_1.MatrixHealability.NO,
156
+ healPath: null,
157
+ techniqueStack: [],
158
+ notHealedReason: 'UI intentionally absent; test documents wrong variant',
159
+ },
160
+ {
161
+ id: 'selector.ui_never_built',
162
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
163
+ familyNumber: 1,
164
+ group: '1.1 Element not found',
165
+ name: 'UI never built (404 page)',
166
+ category: enums_js_1.FailureCategory.SELECTOR,
167
+ canHeal: enums_js_1.MatrixHealability.NO,
168
+ healPath: null,
169
+ techniqueStack: [],
170
+ notHealedReason: 'Product bug or wrong URL',
171
+ detectionPatterns: ['404'],
172
+ },
173
+ ];
174
+ //# sourceMappingURL=element-not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-not-found.js","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/element-not-found.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../../healing-matrix-types.js';
2
+ export declare const FAMILY_01_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAMxE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAKjD,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_ENTRIES = void 0;
4
+ const ambiguous_match_js_1 = require("./ambiguous-match.js");
5
+ const element_not_found_js_1 = require("./element-not-found.js");
6
+ const locator_chain_js_1 = require("./locator-chain.js");
7
+ const wrong_state_js_1 = require("./wrong-state.js");
8
+ exports.FAMILY_01_ENTRIES = [
9
+ ...element_not_found_js_1.FAMILY_01_ELEMENT_NOT_FOUND_ENTRIES,
10
+ ...ambiguous_match_js_1.FAMILY_01_AMBIGUOUS_MATCH_ENTRIES,
11
+ ...wrong_state_js_1.FAMILY_01_WRONG_STATE_ENTRIES,
12
+ ...locator_chain_js_1.FAMILY_01_LOCATOR_CHAIN_ENTRIES,
13
+ ];
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/index.ts"],"names":[],"mappings":";;;AACA,6DAAyE;AACzE,iEAA6E;AAC7E,yDAAqE;AACrE,qDAAiE;AAEpD,QAAA,iBAAiB,GAAyB;IACrD,GAAG,0DAAmC;IACtC,GAAG,sDAAiC;IACpC,GAAG,8CAA6B;IAChC,GAAG,kDAA+B;CACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../../healing-matrix-types.js';
2
+ export declare const FAMILY_01_LOCATOR_CHAIN_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=locator-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-chain.d.ts","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/locator-chain.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,EA0E/D,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_LOCATOR_CHAIN_ENTRIES = void 0;
4
+ const enums_js_1 = require("../../enums.js");
5
+ exports.FAMILY_01_LOCATOR_CHAIN_ENTRIES = [
6
+ {
7
+ id: 'selector.parent_stale',
8
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
9
+ familyNumber: 1,
10
+ group: '1.4 Locator chain',
11
+ name: 'Parent locator stale, leaf ok',
12
+ category: enums_js_1.FailureCategory.SELECTOR,
13
+ canHeal: enums_js_1.MatrixHealability.YES,
14
+ healPath: enums_js_1.HealPath.BOTH,
15
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T6_AST],
16
+ notHealedReason: 'Parent removed',
17
+ },
18
+ {
19
+ id: 'selector.leaf_stale',
20
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
21
+ familyNumber: 1,
22
+ group: '1.4 Locator chain',
23
+ name: 'Leaf stale, parent ok',
24
+ category: enums_js_1.FailureCategory.SELECTOR,
25
+ canHeal: enums_js_1.MatrixHealability.YES,
26
+ healPath: enums_js_1.HealPath.BOTH,
27
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE],
28
+ },
29
+ {
30
+ id: 'selector.filter_child_changed',
31
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
32
+ familyNumber: 1,
33
+ group: '1.4 Locator chain',
34
+ name: 'filter({ has: ... }) child changed',
35
+ category: enums_js_1.FailureCategory.SELECTOR,
36
+ canHeal: enums_js_1.MatrixHealability.YES,
37
+ healPath: enums_js_1.HealPath.BOTH,
38
+ techniqueStack: [
39
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
40
+ enums_js_1.HealingTechnique.T4_TRACE,
41
+ enums_js_1.HealingTechnique.T6_AST,
42
+ ],
43
+ },
44
+ {
45
+ id: 'selector.and_or_wrong',
46
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
47
+ familyNumber: 1,
48
+ group: '1.4 Locator chain',
49
+ name: 'and() / or() combination wrong',
50
+ category: enums_js_1.FailureCategory.SELECTOR,
51
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
52
+ healPath: enums_js_1.HealPath.PERMANENT,
53
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
54
+ },
55
+ {
56
+ id: 'selector.pom_helper_wrong',
57
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
58
+ familyNumber: 1,
59
+ group: '1.4 Locator chain',
60
+ name: 'POM / helper returns wrong locator',
61
+ category: enums_js_1.FailureCategory.SELECTOR,
62
+ canHeal: enums_js_1.MatrixHealability.YES,
63
+ healPath: enums_js_1.HealPath.PERMANENT,
64
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
65
+ notHealedReason: 'Helper logic is intentional abstraction',
66
+ },
67
+ {
68
+ id: 'selector.dynamic_selector',
69
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
70
+ familyNumber: 1,
71
+ group: '1.4 Locator chain',
72
+ name: 'Dynamic generated selector',
73
+ category: enums_js_1.FailureCategory.SELECTOR,
74
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
75
+ healPath: enums_js_1.HealPath.PERMANENT,
76
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
77
+ notHealedReason: 'Values are truly random per run',
78
+ },
79
+ ];
80
+ //# sourceMappingURL=locator-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-chain.js","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/locator-chain.ts"],"names":[],"mappings":";;;AAAA,6CAMwB;AAGX,QAAA,+BAA+B,GAAyB;IACnE;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,CAAC;QACpE,eAAe,EAAE,gBAAgB;KAClC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,+BAA+B;QACnC,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE;YACd,2BAAgB,CAAC,cAAc;YAC/B,2BAAgB,CAAC,QAAQ;YACzB,2BAAgB,CAAC,MAAM;SACxB;KACF;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,EAAE,2BAAgB,CAAC,KAAK,CAAC;KAC7F;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,MAAM,CAAC;QACzC,eAAe,EAAE,yCAAyC;KAC3D;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,MAAM,EAAE,wBAAa,CAAC,gBAAgB;QACtC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,MAAM,CAAC;QACzC,eAAe,EAAE,iCAAiC;KACnD;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../../healing-matrix-types.js';
2
+ export declare const FAMILY_01_WRONG_STATE_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=wrong-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrong-state.d.ts","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/wrong-state.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EA0F7D,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_WRONG_STATE_ENTRIES = void 0;
4
+ const enums_js_1 = require("../../enums.js");
5
+ exports.FAMILY_01_WRONG_STATE_ENTRIES = [
6
+ {
7
+ id: 'selector.not_visible',
8
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
9
+ familyNumber: 1,
10
+ group: '1.3 Wrong state',
11
+ name: 'Not visible',
12
+ category: enums_js_1.FailureCategory.SELECTOR,
13
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
14
+ healPath: enums_js_1.HealPath.BOTH,
15
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
16
+ notHealedReason: 'Element intentionally hidden',
17
+ detectionPatterns: ['not visible', 'display:none'],
18
+ },
19
+ {
20
+ id: 'selector.not_enabled',
21
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
22
+ familyNumber: 1,
23
+ group: '1.3 Wrong state',
24
+ name: 'Not enabled',
25
+ category: enums_js_1.FailureCategory.SELECTOR,
26
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
27
+ healPath: enums_js_1.HealPath.BOTH,
28
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
29
+ notHealedReason: 'Business rule keeps disabled',
30
+ skippedReason: 'Product state bug',
31
+ detectionPatterns: ['not enabled', 'disabled'],
32
+ },
33
+ {
34
+ id: 'selector.not_attached',
35
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
36
+ familyNumber: 1,
37
+ group: '1.3 Wrong state',
38
+ name: 'Not attached',
39
+ category: enums_js_1.FailureCategory.SELECTOR,
40
+ canHeal: enums_js_1.MatrixHealability.YES,
41
+ healPath: enums_js_1.HealPath.BOTH,
42
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
43
+ notHealedReason: 'Component unmounted permanently',
44
+ detectionPatterns: ['not attached'],
45
+ },
46
+ {
47
+ id: 'selector.outside_viewport',
48
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
49
+ familyNumber: 1,
50
+ group: '1.3 Wrong state',
51
+ name: 'Outside viewport',
52
+ category: enums_js_1.FailureCategory.SELECTOR,
53
+ canHeal: enums_js_1.MatrixHealability.YES,
54
+ healPath: enums_js_1.HealPath.RUNTIME,
55
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
56
+ detectionPatterns: ['outside of the viewport'],
57
+ },
58
+ {
59
+ id: 'selector.opacity_hidden',
60
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
61
+ familyNumber: 1,
62
+ group: '1.3 Wrong state',
63
+ name: 'Opacity zero / visibility hidden',
64
+ category: enums_js_1.FailureCategory.SELECTOR,
65
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
66
+ healPath: enums_js_1.HealPath.BOTH,
67
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
68
+ notHealedReason: 'No equivalent',
69
+ },
70
+ {
71
+ id: 'selector.covered_by_overlay',
72
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
73
+ familyNumber: 1,
74
+ group: '1.3 Wrong state',
75
+ name: 'Covered by another element',
76
+ category: enums_js_1.FailureCategory.SELECTOR,
77
+ canHeal: enums_js_1.MatrixHealability.YES,
78
+ healPath: enums_js_1.HealPath.BOTH,
79
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
80
+ notHealedReason: 'Overlay not dismissible',
81
+ detectionPatterns: ['intercepts pointer', 'obscured'],
82
+ },
83
+ {
84
+ id: 'selector.focus_trap',
85
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
86
+ familyNumber: 1,
87
+ group: '1.3 Wrong state',
88
+ name: 'Wrong element highlighted (focus trap)',
89
+ category: enums_js_1.FailureCategory.SELECTOR,
90
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
91
+ healPath: enums_js_1.HealPath.BOTH,
92
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE],
93
+ notHealedReason: 'Trap is product bug',
94
+ },
95
+ ];
96
+ //# sourceMappingURL=wrong-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrong-state.js","sourceRoot":"","sources":["../../../src/healing-matrix/family-01-locator-selector/wrong-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../healing-matrix-types.js';
2
+ export declare const FAMILY_01_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=family-01-locator-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-01-locator-selector.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-01-locator-selector.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAuZjD,CAAC"}