@haibun/web-playwright 3.0.2 → 3.0.5

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 (53) hide show
  1. package/build/BrowserFactory.d.ts +1 -1
  2. package/build/BrowserFactory.d.ts.map +1 -1
  3. package/build/BrowserFactory.js +2 -2
  4. package/build/BrowserFactory.js.map +1 -1
  5. package/build/PlaywrightEvents.d.ts +1 -0
  6. package/build/PlaywrightEvents.d.ts.map +1 -1
  7. package/build/PlaywrightEvents.js +2 -0
  8. package/build/PlaywrightEvents.js.map +1 -1
  9. package/build/cycles.d.ts.map +1 -1
  10. package/build/cycles.js +49 -55
  11. package/build/cycles.js.map +1 -1
  12. package/build/interactionSteps.d.ts +248 -2
  13. package/build/interactionSteps.d.ts.map +1 -1
  14. package/build/interactionSteps.js +7 -17
  15. package/build/interactionSteps.js.map +1 -1
  16. package/build/monitor/MonitorHandler.d.ts +7 -2
  17. package/build/monitor/MonitorHandler.d.ts.map +1 -1
  18. package/build/monitor/MonitorHandler.js +26 -10
  19. package/build/monitor/MonitorHandler.js.map +1 -1
  20. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +1 -1
  21. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +112 -8
  22. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +1 -1
  23. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +1 -1
  24. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +1 -1
  25. package/build/monitor/controls.d.ts.map +1 -1
  26. package/build/monitor/controls.js +247 -209
  27. package/build/monitor/controls.js.map +1 -1
  28. package/build/monitor/graph/generateMermaidGraph.d.ts +9 -2
  29. package/build/monitor/graph/generateMermaidGraph.d.ts.map +1 -1
  30. package/build/monitor/graph/generateMermaidGraph.js +240 -54
  31. package/build/monitor/graph/generateMermaidGraph.js.map +1 -1
  32. package/build/monitor/graph/graphUtils.d.ts.map +1 -1
  33. package/build/monitor/graph/graphUtils.js +21 -11
  34. package/build/monitor/graph/graphUtils.js.map +1 -1
  35. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +1 -1
  36. package/build/monitor/graph/mermaidGraphLinks.js +0 -5
  37. package/build/monitor/graph/mermaidGraphLinks.js.map +1 -1
  38. package/build/monitor/messages.d.ts.map +1 -1
  39. package/build/monitor/messages.js +114 -26
  40. package/build/monitor/messages.js.map +1 -1
  41. package/build/monitor/monitor.d.ts +1 -0
  42. package/build/monitor/monitor.d.ts.map +1 -1
  43. package/build/monitor/monitor.js +464 -6
  44. package/build/monitor/monitor.js.map +1 -1
  45. package/build/rest-playwright.d.ts +57 -57
  46. package/build/rest-playwright.d.ts.map +1 -1
  47. package/build/rest-playwright.js.map +1 -1
  48. package/build/web-playwright.d.ts +12 -114
  49. package/build/web-playwright.d.ts.map +1 -1
  50. package/build/web-playwright.js +17 -16
  51. package/build/web-playwright.js.map +1 -1
  52. package/package.json +7 -7
  53. package/web/monitor.html +647 -343
@@ -1,18 +1,44 @@
1
1
  import { sanitize, formatLabel } from './graphUtils.js';
2
2
  import { getBaseLocations } from './feature-bases.js';
3
- export async function generateMermaidGraphAsMarkdown(resolvedFeatures, showVariables = true) {
4
- const graphLines = await generateMermaidGraph(resolvedFeatures, showVariables);
3
+ export async function generateMermaidGraphAsMarkdown(resolvedFeatures, showVariables = true, registeredOutcomes) {
4
+ const graphLines = await generateMermaidGraph(resolvedFeatures, showVariables, registeredOutcomes);
5
5
  return graphLines.join('\n');
6
6
  }
7
- export async function generateMermaidGraph(resolvedFeatures, showVariables = true) {
7
+ export async function generateMermaidGraph(resolvedFeatures, showVariables = true, registeredOutcomes) {
8
8
  const graphLines = ['graph TD'];
9
- // BASES (defined first, top-level)
9
+ // Normalize outcome keys for fuzzy matching (handles "Is logged in" vs "Is logged in as {user}")
10
+ const normalizedRegisteredOutcomes = new Map();
11
+ if (registeredOutcomes) {
12
+ for (const [k, v] of Object.entries(registeredOutcomes)) {
13
+ const nk = String(k).toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
14
+ normalizedRegisteredOutcomes.set(nk, v);
15
+ // Also index variant with placeholders stripped for fuzzy matching
16
+ if (String(k).includes('{')) {
17
+ const stripped = String(k).replace(/\{[^}]+\}/g, '').toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
18
+ if (stripped && stripped !== nk)
19
+ normalizedRegisteredOutcomes.set(stripped, v);
20
+ }
21
+ }
22
+ }
23
+ const waypointMapFromRegistered = new Map();
24
+ if (normalizedRegisteredOutcomes.size) {
25
+ let wpIdx = 0;
26
+ for (const [nk, entry] of normalizedRegisteredOutcomes.entries()) {
27
+ const wpId = `wp_registered_${wpIdx++}`;
28
+ const outcomeLabel = nk;
29
+ waypointMapFromRegistered.set(nk, {
30
+ id: wpId,
31
+ label: outcomeLabel,
32
+ proof: entry.proofStatements?.[0],
33
+ sourcePath: entry.proofPath,
34
+ });
35
+ }
36
+ }
10
37
  const baseLocations = getBaseLocations(resolvedFeatures);
11
38
  baseLocations.forEach(basePath => {
12
39
  const basePathStr = String(basePath);
13
40
  graphLines.push(` base_${sanitize(basePathStr)}(${formatLabel(basePathStr)})`);
14
41
  });
15
- // ENV SUBGRAPH (collect values with source === 'env')
16
42
  const envVars = new Set();
17
43
  for (const f of resolvedFeatures) {
18
44
  for (const step of f.featureSteps) {
@@ -27,7 +53,6 @@ export async function generateMermaidGraph(resolvedFeatures, showVariables = tru
27
53
  envVars.forEach(v => graphLines.push(` env_${sanitize(v)}([${formatLabel(v)}])`));
28
54
  graphLines.push(' end');
29
55
  }
30
- // BACKGROUNDS SUBGRAPH
31
56
  const { getBackgroundFeatures } = await import('./feature-bases.js');
32
57
  const backgrounds = getBackgroundFeatures(resolvedFeatures);
33
58
  if (backgrounds.size) {
@@ -37,83 +62,244 @@ export async function generateMermaidGraph(resolvedFeatures, showVariables = tru
37
62
  });
38
63
  graphLines.push(' end');
39
64
  }
40
- // FEATURES & SCENARIOS
41
- const baseToStepLinks = []; // Store base-to-step links here
42
- resolvedFeatures.forEach((feature) => {
43
- const featureId = `f_${sanitize(feature.path)}`;
44
- // Use featureId directly as the subgraph ID for cleaner linking
65
+ const baseToStepLinks = [];
66
+ const featureFirstNodeId = new Map();
67
+ const activityMap = new Map();
68
+ const waypointMap = new Map();
69
+ const proofMap = new Map();
70
+ const ensureSteps = [];
71
+ resolvedFeatures.forEach((feature, featureIdx) => {
72
+ const featureId = `f_${sanitize(feature.path)}_${featureIdx}`;
45
73
  graphLines.push(` subgraph ${featureId} [${formatLabel(feature.path)}]`);
46
- // Link base to the feature subgraph
47
74
  const baseId = `base_${sanitize(feature.base)}`;
48
- baseToStepLinks.push(` ${baseId} --> ${featureId}`); // Collect the link to the feature subgraph
75
+ baseToStepLinks.push({ baseId, featureId });
49
76
  let scenarioIdx = 0;
50
77
  let currentScenarioId = null;
78
+ let currentActivityKey = null;
51
79
  let previousStepActualId = null;
52
80
  let previousStepIsInScenario = false;
81
+ let firstNodeCaptured = false;
53
82
  feature.featureSteps.forEach((step, stepIdx) => {
54
- // Assuming step.action and step.action.actionName are always present
83
+ let skipEmitThisStep = false;
55
84
  const actionNamePart = sanitize(step.action.actionName);
56
- const newStepId = `s_${actionNamePart}_${stepIdx}`;
85
+ const actionLower = String(step.action.actionName).toLowerCase();
86
+ const label = formatLabel(step.in);
87
+ const normalized = label.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
88
+ const newStepId = `s_${featureIdx}_${actionNamePart}_${stepIdx}`;
57
89
  const indent = currentScenarioId ? ' ' : ' ';
58
90
  const currentStepIsInCurrentScenario = !!currentScenarioId;
91
+ const currentIsProof = actionLower.includes('proof') || actionLower === 'proof';
59
92
  if (step.action.actionName === 'scenarioStart') {
60
93
  if (currentScenarioId)
61
- graphLines.push(' end'); // End previous scenario subgraph
94
+ graphLines.push(' end');
62
95
  currentScenarioId = `sc_${++scenarioIdx}`;
63
96
  graphLines.push(` subgraph ${currentScenarioId} [${formatLabel(step.in)}]`);
64
- previousStepActualId = null; // Reset for steps within the new scenario
97
+ previousStepActualId = null;
65
98
  }
66
99
  else {
67
- // This is an actual step node
68
- graphLines.push(`${indent}${newStepId}[${formatLabel(step.in)}]`);
69
- // Link from previous actual step in the same scope (feature or scenario)
70
- if (previousStepActualId) {
71
- if (currentStepIsInCurrentScenario === previousStepIsInScenario) {
72
- graphLines.push(`${indent}${previousStepActualId} ==> ${newStepId}`);
100
+ if (/^activity\s*:/i.test(step.in)) {
101
+ const m = step.in.match(/^Activity:\s*(.+)$/i);
102
+ const activityName = m ? m[1].trim() : step.in;
103
+ const activityKey = activityName.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
104
+ currentActivityKey = activityKey;
105
+ if (!activityMap.has(activityKey)) {
106
+ const actId = `act_${featureIdx}_${activityMap.size}`;
107
+ activityMap.set(activityKey, { id: actId, label: activityName });
73
108
  }
109
+ previousStepIsInScenario = currentStepIsInCurrentScenario;
110
+ skipEmitThisStep = true;
74
111
  }
75
- previousStepActualId = newStepId;
76
- // Link to background if step is from background
77
- if (step.path !== feature.path) {
78
- if (backgrounds.has(step.path)) {
79
- graphLines.push(`${indent}${newStepId} -.-> bg_${sanitize(step.path)}`);
80
- }
81
- else {
82
- console.warn(`Background step patah "${step.path}" not found in backgrounds set.`);
112
+ if (actionLower.includes('activity')) {
113
+ const activityKey = normalized;
114
+ if (!activityMap.has(activityKey)) {
115
+ const actId = `act_${featureIdx}_${activityMap.size}`;
116
+ activityMap.set(activityKey, { id: actId, label });
83
117
  }
118
+ currentActivityKey = activityKey;
84
119
  }
85
- // Inline variable linking logic using new stepValuesMap.source classification
86
- if (showVariables && step.action.stepValuesMap && step.action.actionName !== 'scenarioStart') {
87
- const definedScenarioVarsForStep = new Set();
88
- Object.entries(step.action.stepValuesMap).forEach(([name, sv]) => {
89
- const { origin: source, value } = sv;
90
- if (value == null)
91
- return;
92
- if (source === 'env' && typeof value === 'string') {
93
- graphLines.push(`${indent}${newStepId} -.-> env_${sanitize(value)}`);
94
- return;
120
+ else {
121
+ if (!skipEmitThisStep) {
122
+ graphLines.push(`${indent}${newStepId}[${label}]`);
123
+ }
124
+ if (!firstNodeCaptured) {
125
+ featureFirstNodeId.set(featureId, newStepId);
126
+ firstNodeCaptured = true;
127
+ }
128
+ if (previousStepActualId) {
129
+ if (currentStepIsInCurrentScenario === previousStepIsInScenario) {
130
+ const prevIsProof = proofMap && Array.from(proofMap.values()).some(p => p.id === previousStepActualId);
131
+ const connector = (prevIsProof || currentIsProof) ? '-.->' : '==>';
132
+ graphLines.push(`${indent}${previousStepActualId} ${connector} ${newStepId}`);
133
+ }
134
+ }
135
+ previousStepActualId = newStepId;
136
+ if (step.path !== feature.path) {
137
+ if (backgrounds.has(step.path)) {
138
+ graphLines.push(`${indent}${newStepId} -.-> bg_${sanitize(step.path)}`);
95
139
  }
96
- // scenario/shared variable or literal display (exclude statements/arrays)
97
- if (Array.isArray(value))
98
- return; // skip nested statements
99
- const displayVal = typeof value === 'number' ? String(value) : value;
100
- const scenarioVarNodeId = `sv_${actionNamePart}_${stepIdx}_${sanitize(name)}`;
101
- if (!definedScenarioVarsForStep.has(scenarioVarNodeId)) {
102
- graphLines.push(`${indent}${scenarioVarNodeId}([${formatLabel(name + ' = ' + displayVal)}])`);
103
- definedScenarioVarsForStep.add(scenarioVarNodeId);
140
+ else {
141
+ console.warn(`Background step path "${step.path}" not found in backgrounds set.`);
104
142
  }
105
- graphLines.push(`${indent}${newStepId} -.-> ${scenarioVarNodeId}`);
106
- });
143
+ }
144
+ if (actionLower === 'ensure' || actionLower.includes('ensure')) {
145
+ let outcomeKey = undefined;
146
+ try {
147
+ const sa = step.action;
148
+ const ov = sa.stepValuesMap?.outcome;
149
+ if (ov && (typeof ov.term === 'string' && ov.term.trim().length > 0)) {
150
+ outcomeKey = ov.term.trim();
151
+ }
152
+ }
153
+ catch {
154
+ // ignore
155
+ }
156
+ // Fallback: parse the ensure line to extract the inner statement (e.g., 'ensure Task completed' -> 'Task completed')
157
+ if (!outcomeKey) {
158
+ const m = step.in.match(/^ensure\s+(.+)$/i);
159
+ if (m)
160
+ outcomeKey = m[1].trim();
161
+ }
162
+ ensureSteps.push({ sourceId: newStepId, label, outcomeKey });
163
+ }
164
+ if (actionLower.includes('waypoint') || actionLower.includes('waypointed') || actionLower === 'waypoint') {
165
+ const match = step.in.match(/^waypoint\s+(.+?)\s+with\s+(.+)$/i);
166
+ const outcome = match ? match[1].trim() : step.in;
167
+ const proof = match ? match[2].trim() : undefined;
168
+ const wpKey = outcome.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
169
+ waypointMap.set(wpKey, { id: newStepId, label: outcome, parentActivityKey: currentActivityKey ?? undefined, proof, sourcePath: step.path });
170
+ }
171
+ if (actionLower.includes('proof') || actionLower === 'proof') {
172
+ const pfKey = normalized;
173
+ proofMap.set(pfKey, { id: newStepId, label });
174
+ }
175
+ if (showVariables && step.action.stepValuesMap && step.action.actionName !== 'scenarioStart') {
176
+ const definedScenarioVarsForStep = new Set();
177
+ Object.entries(step.action.stepValuesMap).forEach(([name, sv]) => {
178
+ const { origin: source, value } = sv;
179
+ if (value == null)
180
+ return;
181
+ if (source === 'env' && typeof value === 'string') {
182
+ graphLines.push(`${indent}${newStepId} -.-> env_${sanitize(value)}`);
183
+ return;
184
+ }
185
+ if (Array.isArray(value))
186
+ return;
187
+ const displayVal = typeof value === 'number' ? String(value) : value;
188
+ const scenarioVarNodeId = `sv_${featureIdx}_${actionNamePart}_${stepIdx}_${sanitize(name)}`;
189
+ if (!definedScenarioVarsForStep.has(scenarioVarNodeId)) {
190
+ graphLines.push(`${indent}${scenarioVarNodeId}([${formatLabel(name + ' = ' + displayVal)}])`);
191
+ definedScenarioVarsForStep.add(scenarioVarNodeId);
192
+ }
193
+ graphLines.push(`${indent}${newStepId} -.-> ${scenarioVarNodeId}`);
194
+ });
195
+ }
107
196
  }
108
197
  }
109
198
  previousStepIsInScenario = currentStepIsInCurrentScenario;
110
199
  });
111
200
  if (currentScenarioId)
112
- graphLines.push(' end'); // End the last scenario subgraph
201
+ graphLines.push(' end');
202
+ graphLines.push(' end');
203
+ if (!firstNodeCaptured)
204
+ featureFirstNodeId.set(featureId, null);
205
+ });
206
+ // Merge inline waypoints with pre-registered ones (pre-registered take precedence)
207
+ const mergedWaypointMap = new Map(waypointMapFromRegistered);
208
+ for (const [k, v] of waypointMap.entries()) {
209
+ if (!mergedWaypointMap.has(k)) {
210
+ mergedWaypointMap.set(k, v);
211
+ }
212
+ }
213
+ const renderedProofs = new Set();
214
+ let proofsStarted = false;
215
+ const usedWaypoints = new Set();
216
+ if (ensureSteps.length || mergedWaypointMap.size) {
217
+ for (const ens of ensureSteps) {
218
+ if (!ens.outcomeKey || normalizedRegisteredOutcomes.size === 0)
219
+ continue;
220
+ const nk = ens.outcomeKey.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
221
+ let regEntry = normalizedRegisteredOutcomes.get(nk);
222
+ let wpKey;
223
+ if (regEntry) {
224
+ wpKey = nk;
225
+ }
226
+ else {
227
+ // Fuzzy match: strip placeholders and try substring matching
228
+ for (const candidate of normalizedRegisteredOutcomes.keys()) {
229
+ const candStripped = candidate.replace(/\{[^}]+\}/g, '').replace(/[^a-z0-9]+/g, ' ').trim();
230
+ const nkStripped = nk.replace(/\{[^}]+\}/g, '').replace(/[^a-z0-9]+/g, ' ').trim();
231
+ if (candStripped && nkStripped && (candStripped === nkStripped || candStripped.includes(nkStripped) || nkStripped.includes(candStripped))) {
232
+ wpKey = candidate;
233
+ regEntry = normalizedRegisteredOutcomes.get(candidate);
234
+ break;
235
+ }
236
+ }
237
+ }
238
+ if (!regEntry || !wpKey)
239
+ continue;
240
+ let foundWpKey;
241
+ for (const candidateWpKey of mergedWaypointMap.keys()) {
242
+ const cand = candidateWpKey;
243
+ const candStripped = cand.replace(/\{[^}]+\}/g, '').replace(/[^a-z0-9]+/g, ' ').trim();
244
+ const wpKeyStripped = wpKey.replace(/\{[^}]+\}/g, '').replace(/[^a-z0-9]+/g, ' ').trim();
245
+ if (cand === wpKey || cand.includes(wpKey) || wpKey.includes(cand) || candStripped === wpKeyStripped || candStripped.includes(wpKeyStripped) || wpKeyStripped.includes(candStripped)) {
246
+ foundWpKey = candidateWpKey;
247
+ break;
248
+ }
249
+ }
250
+ if (!foundWpKey)
251
+ continue;
252
+ const wp = mergedWaypointMap.get(foundWpKey);
253
+ usedWaypoints.add(wp.id);
254
+ graphLines.push(` ${ens.sourceId} -.-> ${wp.id}`);
255
+ const proofText = (regEntry && regEntry.proofStatements && regEntry.proofStatements.length > 0)
256
+ ? regEntry.proofStatements[0]
257
+ : (wp.proof || undefined);
258
+ if (proofText) {
259
+ if (!proofsStarted) {
260
+ graphLines.push(' subgraph PROOFS [Proofs]');
261
+ proofsStarted = true;
262
+ }
263
+ const proofId = `proof_${wp.id}_${sanitize(proofText)}`;
264
+ if (!renderedProofs.has(proofId)) {
265
+ graphLines.push(` ${proofId}[${formatLabel(proofText)}]`);
266
+ renderedProofs.add(proofId);
267
+ }
268
+ graphLines.push(` ${wp.id} -.-> ${proofId}`);
269
+ }
270
+ }
271
+ }
272
+ // Group waypoints by source file for organized display (only used waypoints)
273
+ const wpBySource = new Map();
274
+ for (const [, v] of mergedWaypointMap.entries()) {
275
+ if (!usedWaypoints.has(v.id))
276
+ continue;
277
+ const source = v.sourcePath || v.proof || 'registered';
278
+ const arr = wpBySource.get(source) || [];
279
+ arr.push({ id: v.id, label: v.label });
280
+ wpBySource.set(source, arr);
281
+ }
282
+ if (usedWaypoints.size > 0 || wpBySource.size > 0) {
283
+ graphLines.push(' subgraph WAYPOINTS [Waypoints]');
284
+ for (const [source, items] of wpBySource.entries()) {
285
+ const subId = `wps_${sanitize(String(source))}`;
286
+ graphLines.push(` subgraph ${subId} [${formatLabel(String(source))}]`);
287
+ for (const item of items) {
288
+ graphLines.push(` ${item.id}[${formatLabel(item.label)}]`);
289
+ }
290
+ graphLines.push(' end');
291
+ }
292
+ graphLines.push(' end');
293
+ }
294
+ if (proofsStarted)
113
295
  graphLines.push(' end');
296
+ const resolvedBaseToStepLinks = baseToStepLinks.map(({ baseId, featureId }) => {
297
+ const firstNode = featureFirstNodeId.get(featureId);
298
+ if (firstNode)
299
+ return ` ${baseId} --> ${firstNode}`;
300
+ return ` ${baseId} --> ${featureId}`;
114
301
  });
115
- // Add base-to-step links at the top level, after all subgraphs are defined
116
- graphLines.push(...baseToStepLinks);
302
+ graphLines.push(...resolvedBaseToStepLinks);
117
303
  return graphLines;
118
304
  }
119
305
  //# sourceMappingURL=generateMermaidGraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateMermaidGraph.js","sourceRoot":"","sources":["../../../src/monitor/graph/generateMermaidGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateMermaidGraph.js","sourceRoot":"","sources":["../../../src/monitor/graph/generateMermaidGraph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphUtils.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/graphUtils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAGvC,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAK1C,CAAC"}
1
+ {"version":3,"file":"graphUtils.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/graphUtils.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAOvC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAK1C,CAAC"}
@@ -1,16 +1,26 @@
1
- // Helper function to sanitize text for use in Mermaid node IDs
1
+ const normalizeForDisplay = (input) => {
2
+ if (input === undefined || input === null)
3
+ return '';
4
+ let s = String(input).normalize('NFC');
5
+ s = s.replace(/\p{Cc}|\p{Cf}/gu, '');
6
+ s = s.replace(/[\u{FFFD}]/gu, '');
7
+ s = s.replace(/\s+/g, ' ').trim();
8
+ return s;
9
+ };
2
10
  export const sanitize = (text) => {
3
- if (!text)
4
- return 'empty_sanitized_string'; // Avoid empty IDs by providing a placeholder
5
- return text.replace(/\W/g, '_');
11
+ const s = normalizeForDisplay(text || '');
12
+ if (!s)
13
+ return 'empty_sanitized_string';
14
+ const replaced = s.replace(/[^\p{L}\p{N}_-]+/gu, '_');
15
+ const collapsed = replaced.replace(/_+/g, '_').replace(/^_|_$/g, '');
16
+ if (!/^[A-Za-z]/.test(collapsed))
17
+ return `id_${collapsed}`;
18
+ return collapsed;
6
19
  };
7
- // Helper function to format strings for Mermaid labels (wrap in quotes and escape internal quotes)
8
20
  export const formatLabel = (text) => {
9
- if (text === undefined || text === null)
10
- return '" "'; // Use a space for undefined/null
11
- if (text === "")
12
- return '" "'; // Use a space for empty string
13
- const escapedText = text.replace(/"/g, '#quot;');
14
- return `"${escapedText}"`;
21
+ const raw = normalizeForDisplay(text === undefined || text === null ? ' ' : String(text));
22
+ const escaped = raw.replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
23
+ const finalLabel = escaped === '' ? ' ' : escaped;
24
+ return `"${finalLabel}"`;
15
25
  };
16
26
  //# sourceMappingURL=graphUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphUtils.js","sourceRoot":"","sources":["../../../src/monitor/graph/graphUtils.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,wBAAwB,CAAC,CAAC,6CAA6C;IACzF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,iCAAiC;IACxF,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC,CAAC,+BAA+B;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,IAAI,WAAW,GAAG,CAAC;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"graphUtils.js","sourceRoot":"","sources":["../../../src/monitor/graph/graphUtils.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3D,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAClD,OAAO,IAAI,UAAU,GAAG,CAAC;AAC7B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mermaidGraphLinks.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/mermaidGraphLinks.ts"],"names":[],"mappings":"AACA,wBAAgB,cAAc,CAAC,YAAY,KAAA,SAY1C;AAGD,wBAAgB,eAAe,CAAC,YAAY,KAAA,SAc3C"}
1
+ {"version":3,"file":"mermaidGraphLinks.d.ts","sourceRoot":"","sources":["../../../src/monitor/graph/mermaidGraphLinks.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,YAAY,KAAA,SAW1C;AAED,wBAAgB,eAAe,CAAC,YAAY,KAAA,SAY3C"}
@@ -1,9 +1,7 @@
1
- // Helper to extract environment variable links from feature steps
2
1
  export function getEnvVarLinks(featureSteps) {
3
2
  const links = [];
4
3
  featureSteps.forEach((step, stepIndex) => {
5
4
  if (step.action && step.action.named && step.action.named.what) {
6
- // env var: {env_var} (curly braces)
7
5
  const match = /^\{(.+?)\}$/.exec(step.action.named.what);
8
6
  if (match) {
9
7
  links.push({ stepIndex, envVar: match[1] });
@@ -12,15 +10,12 @@ export function getEnvVarLinks(featureSteps) {
12
10
  });
13
11
  return links;
14
12
  }
15
- // Helper to extract scenario variable links from feature steps
16
13
  export function getScenarioVars(featureSteps) {
17
14
  const links = [];
18
15
  featureSteps.forEach((step, stepIndex) => {
19
16
  if (step.action && step.action.named && step.action.named.what) {
20
- // scenario var: quoted or unquoted, but not curly braces
21
17
  const what = step.action.named.what;
22
18
  if (!/^\{.+\}$/.test(what)) {
23
- // Remove quotes if present
24
19
  const varName = what.replace(/^"|"$/g, '');
25
20
  links.push({ stepIndex, varName });
26
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mermaidGraphLinks.js","sourceRoot":"","sources":["../../../src/monitor/graph/mermaidGraphLinks.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,YAAY;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,oCAAoC;YACpC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,YAAY;IAC1C,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,yDAAyD;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"mermaidGraphLinks.js","sourceRoot":"","sources":["../../../src/monitor/graph/mermaidGraphLinks.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,YAAY;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAY;IAC1C,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/monitor/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqI,eAAe,EAA6B,MAAM,uCAAuC,CAAC;AAItO,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW1F,qBAAa,QAAS,SAAQ,YAAY;IACzC,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe;CAe/F;AAYD,qBAAa,iBAAkB,SAAQ,YAAY;IAClD,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAM;IAClD,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe;YA6E/C,8BAA8B;CA4B5C"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/monitor/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqI,eAAe,EAA6B,MAAM,uCAAuC,CAAC;AAItO,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW1F,qBAAa,QAAS,SAAQ,YAAY;IACzC,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe;CAiD/F;AAYD,qBAAa,iBAAkB,SAAQ,YAAY;IAClD,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAM;IAClD,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe;YAmG/C,8BAA8B;CA4B5C"}