@healflow/shared 0.1.1 → 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 +35 -12
  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,413 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_01_ENTRIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.FAMILY_01_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
+ id: 'selector.duplicate_test_id',
175
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
176
+ familyNumber: 1,
177
+ group: '1.2 Ambiguous match',
178
+ name: 'Same test id in two sections',
179
+ category: enums_js_1.FailureCategory.SELECTOR,
180
+ canHeal: enums_js_1.MatrixHealability.YES,
181
+ healPath: enums_js_1.HealPath.BOTH,
182
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
183
+ notHealedReason: 'Still 2+ inside scope with no disambiguator',
184
+ detectionPatterns: ['strict mode violation', 'resolved to \d+ elements'],
185
+ },
186
+ {
187
+ id: 'selector.duplicate_role_name',
188
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
189
+ familyNumber: 1,
190
+ group: '1.2 Ambiguous match',
191
+ name: 'Same role+name on page',
192
+ category: enums_js_1.FailureCategory.SELECTOR,
193
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
194
+ healPath: enums_js_1.HealPath.BOTH,
195
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
196
+ notHealedReason: 'Duplicate rows with identical a11y name',
197
+ },
198
+ {
199
+ id: 'selector.strict_mode',
200
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
201
+ familyNumber: 1,
202
+ group: '1.2 Ambiguous match',
203
+ name: 'Strict mode violation',
204
+ category: enums_js_1.FailureCategory.SELECTOR,
205
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
206
+ healPath: enums_js_1.HealPath.BOTH,
207
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
208
+ notHealedReason: 'Cannot distinguish siblings',
209
+ detectionPatterns: ['strict mode violation'],
210
+ },
211
+ {
212
+ id: 'selector.global_xpath_many',
213
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
214
+ familyNumber: 1,
215
+ group: '1.2 Ambiguous match',
216
+ name: 'Global xpath/css matches many',
217
+ category: enums_js_1.FailureCategory.SELECTOR,
218
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
219
+ healPath: enums_js_1.HealPath.PERMANENT,
220
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
221
+ notHealedReason: 'No parent in original test',
222
+ skippedReason: 'Runtime heal skipped (no safe click)',
223
+ },
224
+ {
225
+ id: 'selector.nth_reorder',
226
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
227
+ familyNumber: 1,
228
+ group: '1.2 Ambiguous match',
229
+ name: 'List reorder changed nth(n)',
230
+ category: enums_js_1.FailureCategory.SELECTOR,
231
+ canHeal: enums_js_1.MatrixHealability.YES,
232
+ healPath: enums_js_1.HealPath.BOTH,
233
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
234
+ notHealedReason: 'No stable row key in DOM',
235
+ detectionPatterns: ['\.nth\('],
236
+ },
237
+ {
238
+ id: 'selector.first_last_wrong',
239
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
240
+ familyNumber: 1,
241
+ group: '1.2 Ambiguous match',
242
+ name: '.first() / .last() wrong after sort',
243
+ category: enums_js_1.FailureCategory.SELECTOR,
244
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
245
+ healPath: enums_js_1.HealPath.BOTH,
246
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
247
+ notHealedReason: 'List semantics opaque',
248
+ detectionPatterns: ['\.first\(\)', '\.last\(\)'],
249
+ },
250
+ {
251
+ id: 'selector.not_visible',
252
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
253
+ familyNumber: 1,
254
+ group: '1.3 Wrong state',
255
+ name: 'Not visible',
256
+ category: enums_js_1.FailureCategory.SELECTOR,
257
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
258
+ healPath: enums_js_1.HealPath.BOTH,
259
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
260
+ notHealedReason: 'Element intentionally hidden',
261
+ detectionPatterns: ['not visible', 'display:none'],
262
+ },
263
+ {
264
+ id: 'selector.not_enabled',
265
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
266
+ familyNumber: 1,
267
+ group: '1.3 Wrong state',
268
+ name: 'Not enabled',
269
+ category: enums_js_1.FailureCategory.SELECTOR,
270
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
271
+ healPath: enums_js_1.HealPath.BOTH,
272
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
273
+ notHealedReason: 'Business rule keeps disabled',
274
+ skippedReason: 'Product state bug',
275
+ detectionPatterns: ['not enabled', 'disabled'],
276
+ },
277
+ {
278
+ id: 'selector.not_attached',
279
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
280
+ familyNumber: 1,
281
+ group: '1.3 Wrong state',
282
+ name: 'Not attached',
283
+ category: enums_js_1.FailureCategory.SELECTOR,
284
+ canHeal: enums_js_1.MatrixHealability.YES,
285
+ healPath: enums_js_1.HealPath.BOTH,
286
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
287
+ notHealedReason: 'Component unmounted permanently',
288
+ detectionPatterns: ['not attached'],
289
+ },
290
+ {
291
+ id: 'selector.outside_viewport',
292
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
293
+ familyNumber: 1,
294
+ group: '1.3 Wrong state',
295
+ name: 'Outside viewport',
296
+ category: enums_js_1.FailureCategory.SELECTOR,
297
+ canHeal: enums_js_1.MatrixHealability.YES,
298
+ healPath: enums_js_1.HealPath.RUNTIME,
299
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
300
+ detectionPatterns: ['outside of the viewport'],
301
+ },
302
+ {
303
+ id: 'selector.opacity_hidden',
304
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
305
+ familyNumber: 1,
306
+ group: '1.3 Wrong state',
307
+ name: 'Opacity zero / visibility hidden',
308
+ category: enums_js_1.FailureCategory.SELECTOR,
309
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
310
+ healPath: enums_js_1.HealPath.BOTH,
311
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
312
+ notHealedReason: 'No equivalent',
313
+ },
314
+ {
315
+ id: 'selector.covered_by_overlay',
316
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
317
+ familyNumber: 1,
318
+ group: '1.3 Wrong state',
319
+ name: 'Covered by another element',
320
+ category: enums_js_1.FailureCategory.SELECTOR,
321
+ canHeal: enums_js_1.MatrixHealability.YES,
322
+ healPath: enums_js_1.HealPath.BOTH,
323
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
324
+ notHealedReason: 'Overlay not dismissible',
325
+ detectionPatterns: ['intercepts pointer', 'obscured'],
326
+ },
327
+ {
328
+ id: 'selector.focus_trap',
329
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
330
+ familyNumber: 1,
331
+ group: '1.3 Wrong state',
332
+ name: 'Wrong element highlighted (focus trap)',
333
+ category: enums_js_1.FailureCategory.SELECTOR,
334
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
335
+ healPath: enums_js_1.HealPath.BOTH,
336
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE],
337
+ notHealedReason: 'Trap is product bug',
338
+ },
339
+ {
340
+ id: 'selector.parent_stale',
341
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
342
+ familyNumber: 1,
343
+ group: '1.4 Locator chain',
344
+ name: 'Parent locator stale, leaf ok',
345
+ category: enums_js_1.FailureCategory.SELECTOR,
346
+ canHeal: enums_js_1.MatrixHealability.YES,
347
+ healPath: enums_js_1.HealPath.BOTH,
348
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T6_AST],
349
+ notHealedReason: 'Parent removed',
350
+ },
351
+ {
352
+ id: 'selector.leaf_stale',
353
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
354
+ familyNumber: 1,
355
+ group: '1.4 Locator chain',
356
+ name: 'Leaf stale, parent ok',
357
+ category: enums_js_1.FailureCategory.SELECTOR,
358
+ canHeal: enums_js_1.MatrixHealability.YES,
359
+ healPath: enums_js_1.HealPath.BOTH,
360
+ techniqueStack: [enums_js_1.HealingTechnique.T1_SCOPE],
361
+ },
362
+ {
363
+ id: 'selector.filter_child_changed',
364
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
365
+ familyNumber: 1,
366
+ group: '1.4 Locator chain',
367
+ name: 'filter({ has: ... }) child changed',
368
+ category: enums_js_1.FailureCategory.SELECTOR,
369
+ canHeal: enums_js_1.MatrixHealability.YES,
370
+ healPath: enums_js_1.HealPath.BOTH,
371
+ techniqueStack: [
372
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
373
+ enums_js_1.HealingTechnique.T4_TRACE,
374
+ enums_js_1.HealingTechnique.T6_AST,
375
+ ],
376
+ },
377
+ {
378
+ id: 'selector.and_or_wrong',
379
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
380
+ familyNumber: 1,
381
+ group: '1.4 Locator chain',
382
+ name: 'and() / or() combination wrong',
383
+ category: enums_js_1.FailureCategory.SELECTOR,
384
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
385
+ healPath: enums_js_1.HealPath.PERMANENT,
386
+ techniqueStack: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
387
+ },
388
+ {
389
+ id: 'selector.pom_helper_wrong',
390
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
391
+ familyNumber: 1,
392
+ group: '1.4 Locator chain',
393
+ name: 'POM / helper returns wrong locator',
394
+ category: enums_js_1.FailureCategory.SELECTOR,
395
+ canHeal: enums_js_1.MatrixHealability.YES,
396
+ healPath: enums_js_1.HealPath.PERMANENT,
397
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
398
+ notHealedReason: 'Helper logic is intentional abstraction',
399
+ },
400
+ {
401
+ id: 'selector.dynamic_selector',
402
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
403
+ familyNumber: 1,
404
+ group: '1.4 Locator chain',
405
+ name: 'Dynamic generated selector',
406
+ category: enums_js_1.FailureCategory.SELECTOR,
407
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
408
+ healPath: enums_js_1.HealPath.PERMANENT,
409
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
410
+ notHealedReason: 'Values are truly random per run',
411
+ },
412
+ ];
413
+ //# sourceMappingURL=family-01-locator-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-01-locator-selector.js","sourceRoot":"","sources":["../../src/healing-matrix/family-01-locator-selector.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_02_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=family-02-timing-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-02-timing-sync.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-02-timing-sync.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAgJjD,CAAC"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_02_ENTRIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.FAMILY_02_ENTRIES = [
6
+ {
7
+ id: 'timing.slow_render',
8
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
9
+ familyNumber: 2,
10
+ group: '2 Timing & sync',
11
+ name: 'Slow render / hydration',
12
+ category: enums_js_1.FailureCategory.TIMING,
13
+ canHeal: enums_js_1.MatrixHealability.YES,
14
+ healPath: enums_js_1.HealPath.BOTH,
15
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
16
+ },
17
+ {
18
+ id: 'timing.animation',
19
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
20
+ familyNumber: 2,
21
+ group: '2 Timing & sync',
22
+ name: 'Animation not finished',
23
+ category: enums_js_1.FailureCategory.TIMING,
24
+ canHeal: enums_js_1.MatrixHealability.YES,
25
+ healPath: enums_js_1.HealPath.BOTH,
26
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
27
+ notHealedReason: 'Infinite animation',
28
+ },
29
+ {
30
+ id: 'timing.late_api',
31
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
32
+ familyNumber: 2,
33
+ group: '2 Timing & sync',
34
+ name: 'Late API response drives UI',
35
+ category: enums_js_1.FailureCategory.TIMING,
36
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
37
+ healPath: enums_js_1.HealPath.BOTH,
38
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
39
+ notHealedReason: 'Response never arrives (API down)',
40
+ },
41
+ {
42
+ id: 'timing.click_before_ready',
43
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
44
+ familyNumber: 2,
45
+ group: '2 Timing & sync',
46
+ name: 'Click before element ready',
47
+ category: enums_js_1.FailureCategory.TIMING,
48
+ canHeal: enums_js_1.MatrixHealability.YES,
49
+ healPath: enums_js_1.HealPath.RUNTIME,
50
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
51
+ },
52
+ {
53
+ id: 'timing.slow_navigation',
54
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
55
+ familyNumber: 2,
56
+ group: '2 Timing & sync',
57
+ name: 'Navigation after click slow',
58
+ category: enums_js_1.FailureCategory.TIMING,
59
+ canHeal: enums_js_1.MatrixHealability.YES,
60
+ healPath: enums_js_1.HealPath.BOTH,
61
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
62
+ notHealedReason: 'Navigation never happens',
63
+ },
64
+ {
65
+ id: 'timing.goto_timeout',
66
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
67
+ familyNumber: 2,
68
+ group: '2 Timing & sync',
69
+ name: 'page.goto timeout',
70
+ category: enums_js_1.FailureCategory.TIMING,
71
+ canHeal: enums_js_1.MatrixHealability.YES,
72
+ healPath: enums_js_1.HealPath.BOTH,
73
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
74
+ notHealedReason: 'Host down',
75
+ detectionPatterns: ['page\.goto: timeout'],
76
+ },
77
+ {
78
+ id: 'timing.spa_route',
79
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
80
+ familyNumber: 2,
81
+ group: '2 Timing & sync',
82
+ name: 'SPA route transition',
83
+ category: enums_js_1.FailureCategory.TIMING,
84
+ canHeal: enums_js_1.MatrixHealability.YES,
85
+ healPath: enums_js_1.HealPath.BOTH,
86
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
87
+ notHealedReason: 'Route broken in app',
88
+ },
89
+ {
90
+ id: 'timing.polling_delay',
91
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
92
+ familyNumber: 2,
93
+ group: '2 Timing & sync',
94
+ name: 'Polling / websocket update delay',
95
+ category: enums_js_1.FailureCategory.TIMING,
96
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
97
+ healPath: enums_js_1.HealPath.BOTH,
98
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY],
99
+ notHealedReason: 'Channel never updates',
100
+ },
101
+ {
102
+ id: 'timing.race_async',
103
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
104
+ familyNumber: 2,
105
+ group: '2 Timing & sync',
106
+ name: 'Race: two async updates',
107
+ category: enums_js_1.FailureCategory.TIMING,
108
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
109
+ healPath: enums_js_1.HealPath.PERMANENT,
110
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
111
+ notHealedReason: 'Non-deterministic product',
112
+ },
113
+ {
114
+ id: 'timing.author_timeout',
115
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
116
+ familyNumber: 2,
117
+ group: '2 Timing & sync',
118
+ name: 'Intentional short timeout in test',
119
+ category: enums_js_1.FailureCategory.TIMING,
120
+ canHeal: enums_js_1.MatrixHealability.NO,
121
+ healPath: null,
122
+ techniqueStack: [],
123
+ notHealedReason: 'User-defined contract',
124
+ skippedReason: 'Skipped — respect author timeout',
125
+ },
126
+ {
127
+ id: 'timing.clock_flake',
128
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
129
+ familyNumber: 2,
130
+ group: '2 Timing & sync',
131
+ name: 'Clock / Date.now() flake',
132
+ category: enums_js_1.FailureCategory.TIMING,
133
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
134
+ healPath: enums_js_1.HealPath.PERMANENT,
135
+ techniqueStack: [enums_js_1.HealingTechnique.T6_AST],
136
+ notHealedReason: 'Real time dependency in app',
137
+ },
138
+ {
139
+ id: 'timing.debounced_input',
140
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
141
+ familyNumber: 2,
142
+ group: '2 Timing & sync',
143
+ name: 'Debounced input',
144
+ category: enums_js_1.FailureCategory.TIMING,
145
+ canHeal: enums_js_1.MatrixHealability.YES,
146
+ healPath: enums_js_1.HealPath.BOTH,
147
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
148
+ },
149
+ ];
150
+ //# sourceMappingURL=family-02-timing-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-02-timing-sync.js","sourceRoot":"","sources":["../../src/healing-matrix/family-02-timing-sync.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,oBAAoB;QACxB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,CAAC;KACrE;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,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,oBAAoB;KACtC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,6BAA6B;QACnC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,CAAC;QAC3C,eAAe,EAAE,mCAAmC;KACrD;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,OAAO;QAC1B,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,6BAA6B;QACnC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,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,0BAA0B;KAC5C;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,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,WAAW;QAC5B,iBAAiB,EAAE,CAAC,qBAAqB,CAAC;KAC3C;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,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,qBAAqB;KACvC;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,kCAAkC;QACxC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,CAAC;QAC3C,eAAe,EAAE,uBAAuB;KACzC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,MAAM,CAAC;QACzC,eAAe,EAAE,2BAA2B;KAC7C;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,mCAAmC;QACzC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,uBAAuB;QACxC,aAAa,EAAE,kCAAkC;KAClD;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,MAAM,CAAC;QACzC,eAAe,EAAE,6BAA6B;KAC/C;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,MAAM,EAAE,wBAAa,CAAC,WAAW;QACjC,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,0BAAe,CAAC,MAAM;QAChC,OAAO,EAAE,4BAAiB,CAAC,GAAG;QAC9B,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,CAAC;KACrE;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../healing-matrix-types.js';
2
+ export declare const FAMILY_03_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=family-03-overlay-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-03-overlay-modal.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-03-overlay-modal.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAuIjD,CAAC"}