@haibun/web-playwright 3.1.1 → 3.3.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.
Files changed (108) hide show
  1. package/build/BrowserFactory.d.ts +11 -11
  2. package/build/BrowserFactory.d.ts.map +1 -1
  3. package/build/BrowserFactory.js +40 -46
  4. package/build/BrowserFactory.js.map +1 -1
  5. package/build/PlaywrightEvents.d.ts +2 -2
  6. package/build/PlaywrightEvents.d.ts.map +1 -1
  7. package/build/PlaywrightEvents.js +41 -23
  8. package/build/PlaywrightEvents.js.map +1 -1
  9. package/build/cycles.d.ts.map +1 -1
  10. package/build/cycles.js +82 -36
  11. package/build/cycles.js.map +1 -1
  12. package/build/interactionSteps.d.ts +40 -51
  13. package/build/interactionSteps.d.ts.map +1 -1
  14. package/build/interactionSteps.js +32 -51
  15. package/build/interactionSteps.js.map +1 -1
  16. package/build/rest-playwright.d.ts +25 -22
  17. package/build/rest-playwright.d.ts.map +1 -1
  18. package/build/rest-playwright.js +16 -17
  19. package/build/rest-playwright.js.map +1 -1
  20. package/build/twin-page.d.ts +1 -1
  21. package/build/twin-page.d.ts.map +1 -1
  22. package/build/twin-page.js +4 -8
  23. package/build/twin-page.js.map +1 -1
  24. package/build/web-playwright.d.ts +18 -37
  25. package/build/web-playwright.d.ts.map +1 -1
  26. package/build/web-playwright.js +60 -79
  27. package/build/web-playwright.js.map +1 -1
  28. package/package.json +12 -7
  29. package/build/monitor/MonitorHandler.d.ts +0 -52
  30. package/build/monitor/MonitorHandler.d.ts.map +0 -1
  31. package/build/monitor/MonitorHandler.js +0 -176
  32. package/build/monitor/MonitorHandler.js.map +0 -1
  33. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts +0 -9
  34. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts.map +0 -1
  35. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js +0 -27
  36. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js.map +0 -1
  37. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts +0 -9
  38. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts.map +0 -1
  39. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js +0 -17
  40. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js.map +0 -1
  41. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts +0 -8
  42. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts.map +0 -1
  43. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js +0 -26
  44. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js.map +0 -1
  45. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts +0 -13
  46. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts.map +0 -1
  47. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js +0 -47
  48. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js.map +0 -1
  49. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts +0 -9
  50. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +0 -1
  51. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +0 -147
  52. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +0 -1
  53. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts +0 -32
  54. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts.map +0 -1
  55. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js +0 -258
  56. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js.map +0 -1
  57. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts +0 -9
  58. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts.map +0 -1
  59. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js +0 -19
  60. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js.map +0 -1
  61. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts +0 -9
  62. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts.map +0 -1
  63. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +0 -21
  64. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +0 -1
  65. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts +0 -9
  66. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts.map +0 -1
  67. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js +0 -16
  68. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js.map +0 -1
  69. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts +0 -20
  70. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts.map +0 -1
  71. package/build/monitor/artifactDisplays/artifactDisplayBase.js +0 -40
  72. package/build/monitor/artifactDisplays/artifactDisplayBase.js.map +0 -1
  73. package/build/monitor/controls.d.ts +0 -13
  74. package/build/monitor/controls.d.ts.map +0 -1
  75. package/build/monitor/controls.js +0 -349
  76. package/build/monitor/controls.js.map +0 -1
  77. package/build/monitor/disclosureJson.d.ts +0 -3
  78. package/build/monitor/disclosureJson.d.ts.map +0 -1
  79. package/build/monitor/disclosureJson.js +0 -353
  80. package/build/monitor/disclosureJson.js.map +0 -1
  81. package/build/monitor/graph/feature-bases.d.ts +0 -5
  82. package/build/monitor/graph/feature-bases.d.ts.map +0 -1
  83. package/build/monitor/graph/feature-bases.js +0 -36
  84. package/build/monitor/graph/feature-bases.js.map +0 -1
  85. package/build/monitor/graph/generateMermaidGraph.d.ts +0 -11
  86. package/build/monitor/graph/generateMermaidGraph.d.ts.map +0 -1
  87. package/build/monitor/graph/generateMermaidGraph.js +0 -314
  88. package/build/monitor/graph/generateMermaidGraph.js.map +0 -1
  89. package/build/monitor/graph/graphUtils.d.ts +0 -3
  90. package/build/monitor/graph/graphUtils.d.ts.map +0 -1
  91. package/build/monitor/graph/graphUtils.js +0 -26
  92. package/build/monitor/graph/graphUtils.js.map +0 -1
  93. package/build/monitor/graph/mermaidGraphLinks.d.ts +0 -3
  94. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +0 -1
  95. package/build/monitor/graph/mermaidGraphLinks.js +0 -26
  96. package/build/monitor/graph/mermaidGraphLinks.js.map +0 -1
  97. package/build/monitor/messages.d.ts +0 -14
  98. package/build/monitor/messages.d.ts.map +0 -1
  99. package/build/monitor/messages.js +0 -359
  100. package/build/monitor/messages.js.map +0 -1
  101. package/build/monitor/monitor.d.ts +0 -25
  102. package/build/monitor/monitor.d.ts.map +0 -1
  103. package/build/monitor/monitor.js +0 -599
  104. package/build/monitor/monitor.js.map +0 -1
  105. package/build/monitor/test-utils.d.ts +0 -9
  106. package/build/monitor/test-utils.d.ts.map +0 -1
  107. package/build/monitor/test-utils.js +0 -70
  108. package/build/monitor/test-utils.js.map +0 -1
@@ -1,353 +0,0 @@
1
- function escapeHtml(unsafe) {
2
- return unsafe
3
- .replace(/&/g, "&")
4
- .replace(/</g, "&lt;")
5
- .replace(/>/g, "&gt;")
6
- .replace(/"/g, "&quot;")
7
- .replace(/'/g, "&#039;");
8
- }
9
- function isSimpleAggregate(value) {
10
- if (typeof value !== 'object' || value === null) {
11
- return false;
12
- }
13
- if (Array.isArray(value)) {
14
- if (value.length === 0)
15
- return true;
16
- return value.every(item => typeof item !== 'object' || item === null);
17
- }
18
- else {
19
- const keys = Object.keys(value);
20
- if (keys.length === 0)
21
- return true;
22
- return keys.every(key => typeof value[key] !== 'object' || value[key] === null);
23
- }
24
- }
25
- function getPrimitiveString(value, key) {
26
- if (key === 'html') {
27
- return '<html>';
28
- }
29
- if (typeof value === 'string') {
30
- return JSON.stringify(value);
31
- }
32
- if (value === null)
33
- return 'null';
34
- return String(value);
35
- }
36
- function getSimpleAggregateString(value) {
37
- if (Array.isArray(value)) {
38
- return `[${value.map(item => getPrimitiveString(item)).join(', ')}]`;
39
- }
40
- else if (typeof value === 'object' && value !== null) {
41
- const parts = Object.entries(value).map(([k, v]) => {
42
- let primStr = getPrimitiveString(v, k);
43
- if (k === 'html') {
44
- primStr = escapeHtml(primStr);
45
- }
46
- return `"${k}": ${primStr}`;
47
- });
48
- return `{ ${parts.join(', ')} }`;
49
- }
50
- return String(value);
51
- }
52
- function createInlineDisplayForSimpleAggregate(aggregateValue) {
53
- const containerSpan = document.createElement('span');
54
- containerSpan.className = 'simple-aggregate-inline';
55
- if (Array.isArray(aggregateValue)) {
56
- containerSpan.appendChild(document.createTextNode('['));
57
- aggregateValue.forEach((item, index) => {
58
- containerSpan.appendChild(createPrimitiveNode(item));
59
- if (index < aggregateValue.length - 1) {
60
- containerSpan.appendChild(document.createTextNode(', '));
61
- }
62
- });
63
- containerSpan.appendChild(document.createTextNode(']'));
64
- }
65
- else if (typeof aggregateValue === 'object' && aggregateValue !== null) {
66
- containerSpan.appendChild(document.createTextNode('{ '));
67
- const keys = Object.keys(aggregateValue);
68
- keys.forEach((key, index) => {
69
- const keySpan = document.createElement('span');
70
- keySpan.className = 'key inline-key';
71
- keySpan.textContent = `"${key}": `;
72
- containerSpan.appendChild(keySpan);
73
- containerSpan.appendChild(createPrimitiveNode(aggregateValue[key], key));
74
- if (index < keys.length - 1) {
75
- containerSpan.appendChild(document.createTextNode(', '));
76
- }
77
- });
78
- containerSpan.appendChild(document.createTextNode(' }'));
79
- }
80
- return containerSpan;
81
- }
82
- export function disclosureJson(jsonObj) {
83
- if (typeof jsonObj !== 'object' || jsonObj === null) {
84
- const primitiveContainer = document.createElement('div');
85
- primitiveContainer.className = 'json-root-primitive';
86
- primitiveContainer.appendChild(createPrimitiveNode(jsonObj));
87
- primitiveContainer.dataset.rawJson = JSON.stringify(jsonObj);
88
- return primitiveContainer;
89
- }
90
- if (isSimpleAggregate(jsonObj)) {
91
- const simpleRootContainer = document.createElement('div');
92
- simpleRootContainer.className = 'json-root-simple-aggregate';
93
- simpleRootContainer.appendChild(createInlineDisplayForSimpleAggregate(jsonObj));
94
- simpleRootContainer.dataset.rawJson = JSON.stringify(jsonObj);
95
- return simpleRootContainer;
96
- }
97
- else {
98
- const rootContainer = document.createElement('div');
99
- rootContainer.className = 'json-root-complex';
100
- rootContainer.dataset.rawJson = JSON.stringify(jsonObj);
101
- const isRootArray = Array.isArray(jsonObj);
102
- if (isRootArray) {
103
- jsonObj.forEach((item, index) => {
104
- appendNode(index, item, true, rootContainer, 0, undefined);
105
- });
106
- }
107
- else {
108
- Object.keys(jsonObj).forEach(key => {
109
- appendNode(key, jsonObj[key], false, rootContainer, 0, undefined);
110
- });
111
- }
112
- return rootContainer;
113
- }
114
- }
115
- function appendNode(key, value, isArrayIndex, parentElement, indentLevel = 0, parentKey) {
116
- const isPrimitiveVal = typeof value !== 'object' || value === null;
117
- if (isPrimitiveVal) {
118
- const lineDiv = document.createElement('div');
119
- lineDiv.className = 'json-line primitive-kv';
120
- let marginLeftPx = 0;
121
- if (indentLevel === 1) {
122
- marginLeftPx = 20;
123
- }
124
- else if (indentLevel > 1) {
125
- marginLeftPx = 20 + (indentLevel - 1) * 15;
126
- }
127
- lineDiv.style.marginLeft = `${marginLeftPx}px`;
128
- const keySpan = document.createElement('span');
129
- keySpan.className = isArrayIndex ? 'key index' : 'key';
130
- keySpan.textContent = isArrayIndex ? `[${key}]: ` : `${key}: `;
131
- lineDiv.appendChild(keySpan);
132
- let useTextArea = false;
133
- if (isPrimitiveVal) {
134
- if (key === 'in' && typeof value === 'string') {
135
- useTextArea = true;
136
- }
137
- else if (key === 'named') {
138
- useTextArea = true;
139
- }
140
- else if (parentKey === 'named' || parentKey === 'namedWithVars') {
141
- useTextArea = true;
142
- }
143
- }
144
- if (useTextArea) {
145
- const textArea = document.createElement('textarea');
146
- textArea.classList.add('expanded-value-textarea');
147
- textArea.value = String(value);
148
- let pathForId = 'root';
149
- if (parentElement.parentElement && parentElement.parentElement.tagName === 'DETAILS') {
150
- pathForId = getPathToNode(parentElement.parentElement);
151
- }
152
- const keyString = String(key).replace(/[^a-zA-Z0-9_-]/g, '_');
153
- textArea.id = `textarea-${pathForId}-${keyString}`;
154
- textArea.rows = 1;
155
- const setInitialWidth = (element) => {
156
- let helper = document.getElementById('autogrow-helper');
157
- if (!helper) {
158
- helper = document.createElement('div');
159
- helper.id = 'autogrow-helper';
160
- helper.style.position = 'absolute';
161
- helper.style.left = '-9999px';
162
- helper.style.top = '0';
163
- helper.style.visibility = 'hidden';
164
- helper.style.pointerEvents = 'none';
165
- document.body.appendChild(helper);
166
- }
167
- const computedStyle = window.getComputedStyle(element);
168
- helper.style.font = computedStyle.font;
169
- helper.style.letterSpacing = computedStyle.letterSpacing;
170
- helper.style.paddingTop = computedStyle.paddingTop;
171
- helper.style.paddingRight = computedStyle.paddingRight;
172
- helper.style.paddingBottom = computedStyle.paddingBottom;
173
- helper.style.paddingLeft = computedStyle.paddingLeft;
174
- helper.style.borderTopWidth = computedStyle.borderTopWidth;
175
- helper.style.borderRightWidth = computedStyle.borderRightWidth;
176
- helper.style.borderBottomWidth = computedStyle.borderBottomWidth;
177
- helper.style.borderLeftWidth = computedStyle.borderLeftWidth;
178
- helper.style.borderStyle = computedStyle.borderStyle;
179
- helper.style.boxSizing = 'border-box';
180
- helper.style.lineHeight = computedStyle.lineHeight;
181
- helper.style.whiteSpace = 'nowrap';
182
- helper.style.width = 'auto';
183
- helper.textContent = element.value || ' ';
184
- let contentWidth = helper.scrollWidth;
185
- contentWidth += 2;
186
- element.style.width = contentWidth + 'px';
187
- };
188
- const handleInputResize = (element) => {
189
- element.style.height = 'auto';
190
- element.style.height = element.scrollHeight + 'px';
191
- };
192
- textArea.addEventListener('input', () => handleInputResize(textArea));
193
- lineDiv.appendChild(textArea);
194
- lineDiv.classList.add('line-with-textarea');
195
- parentElement.appendChild(lineDiv);
196
- requestAnimationFrame(() => {
197
- setInitialWidth(textArea);
198
- });
199
- }
200
- else {
201
- lineDiv.appendChild(createPrimitiveNode(value, key));
202
- parentElement.appendChild(lineDiv);
203
- }
204
- }
205
- else {
206
- const forceComplex = key === 'named' || key === 'namedWithVars';
207
- if (!forceComplex && isSimpleAggregate(value)) {
208
- const lineDiv = document.createElement('div');
209
- lineDiv.className = 'json-line simple-aggregate-kv';
210
- let marginLeftPx = 0;
211
- if (indentLevel === 1) {
212
- marginLeftPx = 20;
213
- }
214
- else if (indentLevel > 1) {
215
- marginLeftPx = 20 + (indentLevel - 1) * 15;
216
- }
217
- lineDiv.style.marginLeft = `${marginLeftPx}px`;
218
- const keySpan = document.createElement('span');
219
- keySpan.className = isArrayIndex ? 'key index' : 'key';
220
- keySpan.textContent = isArrayIndex ? `[${key}]: ` : `${key}: `;
221
- lineDiv.appendChild(keySpan);
222
- lineDiv.appendChild(createInlineDisplayForSimpleAggregate(value));
223
- parentElement.appendChild(lineDiv);
224
- }
225
- else {
226
- const details = document.createElement('details');
227
- details.className = (isArrayIndex ? 'json-array-item' : 'json-object-item') + ' expandable';
228
- let marginLeftPx = 0;
229
- if (indentLevel === 1) {
230
- marginLeftPx = 20;
231
- }
232
- else if (indentLevel > 1) {
233
- marginLeftPx = 20 + (indentLevel - 1) * 15;
234
- }
235
- details.style.marginLeft = `${marginLeftPx}px`;
236
- details.open = false;
237
- const summary = document.createElement('summary');
238
- const summaryContentSpan = document.createElement('span');
239
- const keyDisplayPart = document.createElement('span');
240
- keyDisplayPart.className = isArrayIndex ? 'key index' : 'key';
241
- keyDisplayPart.textContent = isArrayIndex ? `[${String(key)}]: ` : `${String(key)}: `;
242
- summaryContentSpan.appendChild(keyDisplayPart);
243
- const childrenSummarySpan = document.createElement('span');
244
- childrenSummarySpan.className = 'children-summary-inline';
245
- const summaryChildrenParts = [];
246
- if (Array.isArray(value)) {
247
- value.forEach((childValue, childIndex) => {
248
- const childKeyString = String(childIndex);
249
- const isChildValuePrimitive = typeof childValue !== 'object' || childValue === null;
250
- if (isChildValuePrimitive) {
251
- summaryChildrenParts.push(`{${childKeyString}: ${getPrimitiveString(childValue, childIndex)}}`);
252
- }
253
- else if (isSimpleAggregate(childValue)) {
254
- summaryChildrenParts.push(`{${childKeyString}: ${getSimpleAggregateString(childValue)}}`);
255
- }
256
- else {
257
- summaryChildrenParts.push(`<span class="complex-child-marker">+${childKeyString}</span>`);
258
- }
259
- });
260
- }
261
- else {
262
- Object.entries(value).forEach(([childKey, childValue]) => {
263
- const isChildValuePrimitive = typeof childValue !== 'object' || childValue === null;
264
- if (isChildValuePrimitive) {
265
- let primDisplayStr = getPrimitiveString(childValue, childKey);
266
- if (childKey === 'html') {
267
- primDisplayStr = escapeHtml(primDisplayStr);
268
- }
269
- summaryChildrenParts.push(`{${childKey}: ${primDisplayStr}}`);
270
- }
271
- else if (isSimpleAggregate(childValue)) {
272
- summaryChildrenParts.push(`{${childKey}: ${getSimpleAggregateString(childValue)}}`);
273
- }
274
- else {
275
- summaryChildrenParts.push(`<span class="complex-child-marker">+${childKey}</span>`);
276
- }
277
- });
278
- }
279
- childrenSummarySpan.innerHTML = summaryChildrenParts.join(', ');
280
- summaryContentSpan.appendChild(childrenSummarySpan);
281
- summary.appendChild(summaryContentSpan);
282
- details.appendChild(summary);
283
- const detailsContentDiv = document.createElement('div');
284
- detailsContentDiv.className = 'details-content';
285
- if (Array.isArray(value)) {
286
- value.forEach((item, childIndex) => {
287
- appendNode(childIndex, item, true, detailsContentDiv, indentLevel + 1, key);
288
- });
289
- }
290
- else {
291
- Object.entries(value).forEach(([childKey, childValue]) => {
292
- appendNode(childKey, childValue, false, detailsContentDiv, indentLevel + 1, key);
293
- });
294
- }
295
- details.appendChild(detailsContentDiv);
296
- details.addEventListener('toggle', () => {
297
- if (details.open) {
298
- childrenSummarySpan.classList.add('hidden');
299
- }
300
- else {
301
- childrenSummarySpan.classList.remove('hidden');
302
- }
303
- });
304
- if (!details.open) {
305
- childrenSummarySpan.classList.remove('hidden');
306
- }
307
- else {
308
- childrenSummarySpan.classList.add('hidden');
309
- }
310
- parentElement.appendChild(details);
311
- }
312
- }
313
- }
314
- function getPathToNode(element) {
315
- const parts = [];
316
- while (element && element.parentElement && !element.classList.contains('json-root-complex')) {
317
- const keySpan = element.querySelector(':scope > summary > span > .key');
318
- let key = keySpan?.textContent?.replace(/: $/, '') || 'item';
319
- if (element.classList.contains('json-array-item')) {
320
- key = element.querySelector(':scope > summary > span > .key.index')?.textContent?.replace(/[[\]:]/g, '') || 'index';
321
- }
322
- parts.unshift(key);
323
- element = element.parentElement.closest('details, .json-root-complex');
324
- }
325
- return parts.join('-');
326
- }
327
- function createPrimitiveNode(value, key) {
328
- const span = document.createElement('span');
329
- span.classList.add('value');
330
- let displayValue;
331
- let typeClass = typeof value;
332
- if (key === 'html') {
333
- displayValue = '<html>';
334
- typeClass = 'html';
335
- }
336
- else if (value === null) {
337
- typeClass = 'null';
338
- displayValue = '<null>';
339
- }
340
- else if (typeClass === 'string') {
341
- displayValue = JSON.stringify(value);
342
- }
343
- else if (typeClass === 'undefined') {
344
- displayValue = 'undefined';
345
- }
346
- else {
347
- displayValue = String(value);
348
- }
349
- span.classList.add(`value-${typeClass}`);
350
- span.textContent = displayValue;
351
- return span;
352
- }
353
- //# sourceMappingURL=disclosureJson.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disclosureJson.js","sourceRoot":"","sources":["../../src/monitor/disclosureJson.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { TResolvedFeature } from "@haibun/core/lib/defs.js";
2
- export declare function getBaseLocations(resolvedFeatures: any): Set<unknown>;
3
- export declare function getBackgroundFeatures(resolvedFeatures: TResolvedFeature[]): Set<string>;
4
- export declare function getBaseFeatures(resolvedFeatures: any): Map<any, any>;
5
- //# sourceMappingURL=feature-bases.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feature-bases.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/feature-bases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,gBAAgB,CAAC,gBAAgB,KAAA,gBAShD;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,eAWzE;AAED,wBAAgB,eAAe,CAAC,gBAAgB,KAAA,iBAY/C"}
@@ -1,36 +0,0 @@
1
- export function getBaseLocations(resolvedFeatures) {
2
- // Collect all unique base locations from features
3
- const baseLocations = new Set();
4
- resolvedFeatures.forEach(f => {
5
- if (f.base && typeof f.base === 'string' && f.base.trim() !== '') {
6
- baseLocations.add(f.base);
7
- }
8
- });
9
- return baseLocations;
10
- }
11
- export function getBackgroundFeatures(resolvedFeatures) {
12
- const backgroundPaths = new Set();
13
- resolvedFeatures.forEach(f => {
14
- const steps = f.featureSteps ?? [];
15
- steps.forEach(step => {
16
- if (step.path && step.path !== f.path) {
17
- backgroundPaths.add(step.path);
18
- }
19
- });
20
- });
21
- return backgroundPaths;
22
- }
23
- export function getBaseFeatures(resolvedFeatures) {
24
- // Map of base path to the resolved feature object
25
- const bases = new Map();
26
- resolvedFeatures.forEach(f => {
27
- if (f.base && typeof f.base === 'string' && f.base.trim() !== '') {
28
- const baseFeature = resolvedFeatures.find(rf => rf.path === f.base);
29
- if (baseFeature) {
30
- bases.set(f.base, baseFeature);
31
- }
32
- }
33
- });
34
- return bases;
35
- }
36
- //# sourceMappingURL=feature-bases.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feature-bases.js","sourceRoot":"","sources":["../../../src/monitor/graph/feature-bases.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,gBAAgB;IAC/C,kDAAkD;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAChC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,gBAAoC;IACxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,gBAAgB;IAC9C,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC3B,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TResolvedFeature } from '@haibun/core/lib/defs.js';
2
- type RegisteredOutcomeEntry = {
3
- proofStatements?: string[];
4
- proofPath?: string;
5
- isBackground?: boolean;
6
- activityBlockSteps?: string[];
7
- };
8
- export declare function generateMermaidGraphAsMarkdown(resolvedFeatures: TResolvedFeature[], showVariables?: boolean, registeredOutcomes?: Record<string, RegisteredOutcomeEntry>): Promise<string>;
9
- export declare function generateMermaidGraph(resolvedFeatures: TResolvedFeature[], showVariables?: boolean, registeredOutcomes?: Record<string, RegisteredOutcomeEntry>): Promise<string[]>;
10
- export {};
11
- //# sourceMappingURL=generateMermaidGraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateMermaidGraph.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/generateMermaidGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,KAAK,sBAAsB,GAAG;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,aAAa,UAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7L;AAED,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,aAAa,UAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoUrL"}