@haibun/web-playwright 3.3.0 → 3.4.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 (107) hide show
  1. package/build/BrowserFactory.d.ts.map +1 -1
  2. package/build/BrowserFactory.js +1 -2
  3. package/build/BrowserFactory.js.map +1 -1
  4. package/build/PlaywrightEvents.js +3 -3
  5. package/build/PlaywrightEvents.js.map +1 -1
  6. package/build/cycles.d.ts.map +1 -1
  7. package/build/cycles.js +1 -2
  8. package/build/cycles.js.map +1 -1
  9. package/build/domains.d.ts +6 -0
  10. package/build/domains.d.ts.map +1 -1
  11. package/build/domains.js +37 -1
  12. package/build/domains.js.map +1 -1
  13. package/build/interactionSteps.d.ts +5 -1
  14. package/build/interactionSteps.d.ts.map +1 -1
  15. package/build/interactionSteps.js +13 -2
  16. package/build/interactionSteps.js.map +1 -1
  17. package/build/jsonExtractSteps.d.ts +4 -0
  18. package/build/jsonExtractSteps.d.ts.map +1 -0
  19. package/build/jsonExtractSteps.js +53 -0
  20. package/build/jsonExtractSteps.js.map +1 -0
  21. package/build/monitor/MonitorHandler.d.ts +47 -0
  22. package/build/monitor/MonitorHandler.d.ts.map +1 -0
  23. package/build/monitor/MonitorHandler.js +152 -0
  24. package/build/monitor/MonitorHandler.js.map +1 -0
  25. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts +9 -0
  26. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts.map +1 -0
  27. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js +27 -0
  28. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js.map +1 -0
  29. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts +9 -0
  30. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts.map +1 -0
  31. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js +17 -0
  32. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js.map +1 -0
  33. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts +8 -0
  34. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts.map +1 -0
  35. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js +26 -0
  36. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js.map +1 -0
  37. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts +13 -0
  38. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts.map +1 -0
  39. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js +47 -0
  40. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js.map +1 -0
  41. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts +9 -0
  42. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +1 -0
  43. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +38 -0
  44. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +1 -0
  45. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts +32 -0
  46. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts.map +1 -0
  47. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js +258 -0
  48. package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js.map +1 -0
  49. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts +9 -0
  50. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts.map +1 -0
  51. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js +19 -0
  52. package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js.map +1 -0
  53. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts +9 -0
  54. package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts.map +1 -0
  55. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +21 -0
  56. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +1 -0
  57. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts +9 -0
  58. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts.map +1 -0
  59. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js +16 -0
  60. package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js.map +1 -0
  61. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts +20 -0
  62. package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts.map +1 -0
  63. package/build/monitor/artifactDisplays/artifactDisplayBase.js +40 -0
  64. package/build/monitor/artifactDisplays/artifactDisplayBase.js.map +1 -0
  65. package/build/monitor/controls.d.ts +13 -0
  66. package/build/monitor/controls.d.ts.map +1 -0
  67. package/build/monitor/controls.js +311 -0
  68. package/build/monitor/controls.js.map +1 -0
  69. package/build/monitor/disclosureJson.d.ts +3 -0
  70. package/build/monitor/disclosureJson.d.ts.map +1 -0
  71. package/build/monitor/disclosureJson.js +353 -0
  72. package/build/monitor/disclosureJson.js.map +1 -0
  73. package/build/monitor/graph/feature-bases.d.ts +5 -0
  74. package/build/monitor/graph/feature-bases.d.ts.map +1 -0
  75. package/build/monitor/graph/feature-bases.js +36 -0
  76. package/build/monitor/graph/feature-bases.js.map +1 -0
  77. package/build/monitor/graph/generateMermaidGraph.d.ts +4 -0
  78. package/build/monitor/graph/generateMermaidGraph.d.ts.map +1 -0
  79. package/build/monitor/graph/generateMermaidGraph.js +119 -0
  80. package/build/monitor/graph/generateMermaidGraph.js.map +1 -0
  81. package/build/monitor/graph/graphUtils.d.ts +3 -0
  82. package/build/monitor/graph/graphUtils.d.ts.map +1 -0
  83. package/build/monitor/graph/graphUtils.js +16 -0
  84. package/build/monitor/graph/graphUtils.js.map +1 -0
  85. package/build/monitor/graph/mermaidGraphLinks.d.ts +3 -0
  86. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +1 -0
  87. package/build/monitor/graph/mermaidGraphLinks.js +31 -0
  88. package/build/monitor/graph/mermaidGraphLinks.js.map +1 -0
  89. package/build/monitor/messages.d.ts +14 -0
  90. package/build/monitor/messages.d.ts.map +1 -0
  91. package/build/monitor/messages.js +191 -0
  92. package/build/monitor/messages.js.map +1 -0
  93. package/build/monitor/monitor.d.ts +24 -0
  94. package/build/monitor/monitor.d.ts.map +1 -0
  95. package/build/monitor/monitor.js +69 -0
  96. package/build/monitor/monitor.js.map +1 -0
  97. package/build/monitor/test-utils.d.ts +9 -0
  98. package/build/monitor/test-utils.d.ts.map +1 -0
  99. package/build/monitor/test-utils.js +70 -0
  100. package/build/monitor/test-utils.js.map +1 -0
  101. package/build/twin-page.d.ts.map +1 -1
  102. package/build/twin-page.js.map +1 -1
  103. package/build/web-playwright.d.ts +1 -0
  104. package/build/web-playwright.d.ts.map +1 -1
  105. package/build/web-playwright.js +34 -3
  106. package/build/web-playwright.js.map +1 -1
  107. package/package.json +8 -8
@@ -0,0 +1,311 @@
1
+ let userScrolledManually = false;
2
+ export function setupControls() {
3
+ const levelSelect = document.getElementById('haibun-debug-level-select');
4
+ const levels = ['debug', 'log', 'info', 'error'];
5
+ const updateStyles = (selectedLevel) => {
6
+ const selectedIndex = levels.indexOf(selectedLevel);
7
+ let css = '';
8
+ levels.forEach((level, index) => {
9
+ if (index < selectedIndex) {
10
+ css += `div.haibun-log-entry.haibun-level-${level}:not(.disappeared) { display: none; }\n`;
11
+ }
12
+ else {
13
+ css += `div.haibun-log-entry.haibun-level-${level}:not(.disappeared) { display: flex; }\n`;
14
+ }
15
+ });
16
+ let styleElement = document.getElementById('haibun-dynamic-styles');
17
+ if (!styleElement) {
18
+ styleElement = document.createElement('style');
19
+ styleElement.id = 'haibun-dynamic-styles';
20
+ document.head.appendChild(styleElement);
21
+ }
22
+ styleElement.textContent = css;
23
+ };
24
+ if (levelSelect) {
25
+ levelSelect.addEventListener('change', (event) => {
26
+ const target = event.target;
27
+ updateStyles(target.value);
28
+ });
29
+ updateStyles(levelSelect.value);
30
+ }
31
+ setupStatementInput();
32
+ setupVideoPlayback();
33
+ }
34
+ function setupStatementInput() {
35
+ const statementInput = document.getElementById('haibun-statement-input');
36
+ if (statementInput) {
37
+ statementInput.addEventListener('keydown', (event) => {
38
+ if (event.key === 'Enter') {
39
+ const statement = statementInput.value.trim();
40
+ if (statement) {
41
+ window.submitStatement(statement);
42
+ }
43
+ }
44
+ else if (event.key === 'Escape') {
45
+ window.hideStatementInput();
46
+ }
47
+ });
48
+ }
49
+ }
50
+ // Update log entry classes and scroll to current entry based on video time
51
+ function updateLogEntriesForCurrentTime(videoElement) {
52
+ if (userScrolledManually)
53
+ return;
54
+ const monitorStartTimeStr = document.body.dataset.startTime;
55
+ const videoStartOffsetStr = document.getElementById('haibun-video-start')?.dataset.start;
56
+ if (!monitorStartTimeStr || !videoStartOffsetStr)
57
+ return;
58
+ const monitorStartTime = parseInt(monitorStartTimeStr, 10);
59
+ const videoStartOffset = parseInt(videoStartOffsetStr, 10);
60
+ if (isNaN(monitorStartTime) || isNaN(videoStartOffset))
61
+ return;
62
+ const videoAbsoluteStartTime = monitorStartTime + videoStartOffset;
63
+ const currentVideoTimeMs = videoElement.currentTime * 1000;
64
+ let currentLatestEntry = null;
65
+ document.querySelectorAll('.haibun-log-entry').forEach(entry => {
66
+ entry.classList.remove('haibun-stepper-played', 'haibun-stepper-notplayed', 'haibun-stepper-current');
67
+ const entryTimeStr = entry.dataset.time;
68
+ if (!entryTimeStr)
69
+ return;
70
+ const entryAbsoluteTime = parseInt(entryTimeStr, 10);
71
+ if (isNaN(entryAbsoluteTime))
72
+ return;
73
+ const logRelativeToVideoMs = entryAbsoluteTime - videoAbsoluteStartTime;
74
+ if (logRelativeToVideoMs <= currentVideoTimeMs) {
75
+ entry.classList.add('haibun-stepper-played');
76
+ if (!currentLatestEntry || entryAbsoluteTime > parseInt(currentLatestEntry.dataset.time || '0', 10)) {
77
+ currentLatestEntry = entry;
78
+ }
79
+ }
80
+ else {
81
+ entry.classList.add('haibun-stepper-notplayed');
82
+ }
83
+ });
84
+ if (currentLatestEntry) {
85
+ currentLatestEntry.classList.add('haibun-stepper-current');
86
+ setTimeout(() => {
87
+ currentLatestEntry.scrollIntoView({ behavior: 'smooth', block: 'center' });
88
+ }, 0);
89
+ }
90
+ }
91
+ // Poll video time and update log entries if it changes
92
+ function pollVideoTimeAndUpdate(videoElement) {
93
+ let lastTime = videoElement.currentTime;
94
+ setInterval(() => {
95
+ if (videoElement.currentTime !== lastTime) {
96
+ lastTime = videoElement.currentTime;
97
+ updateLogEntriesForCurrentTime(videoElement);
98
+ }
99
+ }, 100);
100
+ }
101
+ export function setupVideoPlayback() {
102
+ const sequenceDiagram = document.getElementById('sequence-diagram');
103
+ const videoContainer = document.getElementById('haibun-focus');
104
+ const logDisplayArea = document.getElementById('haibun-log-display-area');
105
+ logDisplayArea.addEventListener('click', (event) => {
106
+ const target = event.target;
107
+ const logEntry = findLogEntry(target);
108
+ if (logEntry && logEntry.dataset.time) {
109
+ const videoElement = videoContainer.querySelector('video');
110
+ if (videoElement) {
111
+ const monitorStartTimeStr = document.body.dataset.startTime;
112
+ const videoStartOffsetStr = document.getElementById('haibun-video-start')?.dataset.start;
113
+ if (!monitorStartTimeStr || !videoStartOffsetStr) {
114
+ console.warn('Monitor start time or video start offset not found. Cannot seek video.');
115
+ return;
116
+ }
117
+ const monitorStartTime = parseInt(monitorStartTimeStr, 10);
118
+ const videoStartOffset = parseInt(videoStartOffsetStr, 10);
119
+ if (isNaN(monitorStartTime) || isNaN(videoStartOffset)) {
120
+ console.warn('Invalid monitor start time or video start offset.');
121
+ return;
122
+ }
123
+ const videoAbsoluteStartTime = monitorStartTime + videoStartOffset;
124
+ // Calculate the time to seek to
125
+ const entryAbsoluteTime = parseInt(logEntry.dataset.time, 10);
126
+ if (isNaN(entryAbsoluteTime)) {
127
+ console.warn('Clicked log entry missing or invalid data-time:', logEntry);
128
+ return;
129
+ }
130
+ // Calculate time relative to video start
131
+ const logRelativeToVideoMs = entryAbsoluteTime - videoAbsoluteStartTime;
132
+ const seekTime = logRelativeToVideoMs / 1000;
133
+ if (!isNaN(seekTime)) {
134
+ videoElement.currentTime = Math.max(0, seekTime);
135
+ }
136
+ }
137
+ }
138
+ });
139
+ let scrollTimeout;
140
+ logDisplayArea.addEventListener('scroll', () => {
141
+ clearTimeout(scrollTimeout);
142
+ scrollTimeout = window.setTimeout(() => {
143
+ userScrolledManually = true;
144
+ }, 150);
145
+ });
146
+ const setupVideoTimeUpdateHandler = (videoElement) => {
147
+ let playInterval;
148
+ const updateVideoSteps = () => {
149
+ updateLogEntriesForCurrentTime(videoElement);
150
+ };
151
+ videoElement.addEventListener('seeked', () => {
152
+ userScrolledManually = false;
153
+ updateVideoSteps();
154
+ });
155
+ videoElement.addEventListener('play', () => {
156
+ userScrolledManually = false;
157
+ if (playInterval === undefined) {
158
+ updateVideoSteps();
159
+ playInterval = window.setInterval(updateVideoSteps, 50);
160
+ }
161
+ });
162
+ const clearPlayInterval = () => {
163
+ if (playInterval !== undefined) {
164
+ clearInterval(playInterval);
165
+ playInterval = undefined;
166
+ updateVideoSteps();
167
+ }
168
+ };
169
+ videoElement.addEventListener('pause', clearPlayInterval);
170
+ videoElement.addEventListener('ended', clearPlayInterval);
171
+ updateVideoSteps();
172
+ };
173
+ let existingVideo = videoContainer.querySelector('video');
174
+ if (existingVideo) {
175
+ setupVideoTimeUpdateHandler(existingVideo);
176
+ pollVideoTimeAndUpdate(existingVideo);
177
+ }
178
+ const videoObserver = new MutationObserver((mutations) => {
179
+ mutations.forEach((mutation) => {
180
+ if (mutation.type === 'childList') {
181
+ const newVideo = videoContainer.querySelector('video');
182
+ if (newVideo && newVideo !== existingVideo) {
183
+ console.info('New video detected, setting up handlers.');
184
+ setupVideoTimeUpdateHandler(newVideo);
185
+ pollVideoTimeAndUpdate(newVideo);
186
+ existingVideo = newVideo;
187
+ }
188
+ }
189
+ });
190
+ });
191
+ videoObserver.observe(videoContainer, { childList: true });
192
+ const diagramObserver = new MutationObserver((mutations) => {
193
+ mutations.forEach((mutation) => {
194
+ if (mutation.type === 'childList' && mutation.addedNodes.length > 0 && mutation.target === sequenceDiagram) {
195
+ console.info('Sequence diagram content detected.');
196
+ diagramObserver.disconnect();
197
+ }
198
+ });
199
+ });
200
+ if (sequenceDiagram) {
201
+ diagramObserver.observe(sequenceDiagram, { childList: true });
202
+ }
203
+ // Ensure correct log entry is scrolled into view on static replay (monitor.html)
204
+ window.addEventListener('load', () => {
205
+ setTimeout(() => {
206
+ const currentLatestEntry = document.querySelector('.haibun-log-entry.haibun-stepper-current');
207
+ if (currentLatestEntry) {
208
+ currentLatestEntry.scrollIntoView({ behavior: 'auto', block: 'nearest' });
209
+ }
210
+ }, 0);
211
+ });
212
+ // Robust auto-scroll for monitor.html and live playback
213
+ function scrollToCurrentLogEntry() {
214
+ const logDisplayArea = document.getElementById('haibun-log-display-area');
215
+ if (!logDisplayArea)
216
+ return;
217
+ // Try to find the first not-played entry
218
+ let entry = logDisplayArea.querySelector('.haibun-log-entry.haibun-stepper-notplayed');
219
+ // If all are played, scroll to the last played
220
+ if (!entry) {
221
+ const played = logDisplayArea.querySelectorAll('.haibun-log-entry.haibun-stepper-played');
222
+ if (played.length)
223
+ entry = played[played.length - 1];
224
+ }
225
+ if (entry) {
226
+ entry.scrollIntoView({ behavior: 'smooth', block: 'center' });
227
+ }
228
+ }
229
+ if (logDisplayArea) {
230
+ const scrollObserver = new MutationObserver(() => {
231
+ scrollToCurrentLogEntry();
232
+ });
233
+ scrollObserver.observe(logDisplayArea, { childList: true, subtree: true, attributes: true, attributeFilter: ['class'] });
234
+ }
235
+ window.addEventListener('DOMContentLoaded', () => {
236
+ const promptContainer = document.getElementById('haibun-prompt-controls-container');
237
+ const rerunButton = document.getElementById('haibun-retry-button');
238
+ const nextButton = document.getElementById('haibun-next-button');
239
+ const failButton = document.getElementById('haibun-fail-button');
240
+ const stepButton = document.getElementById('haibun-step-button');
241
+ const continueButton = document.getElementById('haibun-continue-button');
242
+ const messageArea = document.getElementById('haibun-prompt-message');
243
+ // Store current prompt id and options for button actions
244
+ let currentPrompt;
245
+ window.showPromptControls = (promptsJson) => {
246
+ const prompts = JSON.parse(promptsJson);
247
+ if (!prompts.length) {
248
+ promptContainer.style.display = 'none';
249
+ promptContainer.classList.remove('paused-program-glow');
250
+ messageArea.textContent = '';
251
+ rerunButton.disabled = true;
252
+ failButton.disabled = true;
253
+ stepButton.disabled = true;
254
+ continueButton.disabled = true;
255
+ currentPrompt = undefined;
256
+ return;
257
+ }
258
+ // Only show the first outstanding prompt (for classic controls)
259
+ const prompt = prompts[0];
260
+ currentPrompt = prompt;
261
+ messageArea.textContent = prompt.message;
262
+ // Enable/disable buttons based on options
263
+ rerunButton.disabled = !prompt.options?.includes('retry');
264
+ nextButton.disabled = !prompt.options?.includes('next');
265
+ failButton.disabled = !prompt.options?.includes('fail');
266
+ stepButton.disabled = !prompt.options?.includes('step');
267
+ continueButton.disabled = !prompt.options?.includes('continue');
268
+ promptContainer.classList.add('paused-program-glow');
269
+ promptContainer.style.display = 'flex';
270
+ };
271
+ window.hidePromptControls = () => {
272
+ promptContainer.style.display = 'none';
273
+ promptContainer.classList.remove('paused-program-glow');
274
+ messageArea.textContent = '';
275
+ rerunButton.disabled = true;
276
+ failButton.disabled = true;
277
+ stepButton.disabled = true;
278
+ continueButton.disabled = true;
279
+ currentPrompt = undefined;
280
+ };
281
+ rerunButton.addEventListener('click', () => {
282
+ if (currentPrompt)
283
+ window.haibunResolvePrompt(currentPrompt.id, 'retry');
284
+ });
285
+ nextButton.addEventListener('click', () => {
286
+ if (currentPrompt)
287
+ window.haibunResolvePrompt(currentPrompt.id, 'next');
288
+ });
289
+ failButton.addEventListener('click', () => {
290
+ if (currentPrompt)
291
+ window.haibunResolvePrompt(currentPrompt.id, 'fail');
292
+ });
293
+ stepButton.addEventListener('click', () => {
294
+ if (currentPrompt)
295
+ window.haibunResolvePrompt(currentPrompt.id, 'step');
296
+ });
297
+ continueButton.addEventListener('click', () => {
298
+ if (currentPrompt)
299
+ window.haibunResolvePrompt(currentPrompt.id, 'continue');
300
+ });
301
+ window.hidePromptControls();
302
+ });
303
+ }
304
+ function findLogEntry(element) {
305
+ let current = element;
306
+ while (current && !current.classList.contains('haibun-log-entry')) {
307
+ current = current.parentElement;
308
+ }
309
+ return current;
310
+ }
311
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/monitor/controls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TAnyFixme } from "@haibun/core/lib/fixme.js";
2
+ export declare function disclosureJson(jsonObj: TAnyFixme): HTMLElement | undefined;
3
+ //# sourceMappingURL=disclosureJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosureJson.d.ts","sourceRoot":"","sources":["../../src/monitor/disclosureJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAmFtD,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAgC1E"}