@haibun/web-playwright 3.1.3 → 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 (67) hide show
  1. package/build/BrowserFactory.d.ts +11 -11
  2. package/build/BrowserFactory.d.ts.map +1 -1
  3. package/build/BrowserFactory.js +41 -48
  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 +44 -26
  8. package/build/PlaywrightEvents.js.map +1 -1
  9. package/build/cycles.d.ts.map +1 -1
  10. package/build/cycles.js +83 -38
  11. package/build/cycles.js.map +1 -1
  12. package/build/domains.d.ts +6 -0
  13. package/build/domains.d.ts.map +1 -1
  14. package/build/domains.js +37 -1
  15. package/build/domains.js.map +1 -1
  16. package/build/interactionSteps.d.ts +45 -52
  17. package/build/interactionSteps.d.ts.map +1 -1
  18. package/build/interactionSteps.js +45 -53
  19. package/build/interactionSteps.js.map +1 -1
  20. package/build/jsonExtractSteps.d.ts +4 -0
  21. package/build/jsonExtractSteps.d.ts.map +1 -0
  22. package/build/jsonExtractSteps.js +53 -0
  23. package/build/jsonExtractSteps.js.map +1 -0
  24. package/build/monitor/MonitorHandler.d.ts +2 -7
  25. package/build/monitor/MonitorHandler.d.ts.map +1 -1
  26. package/build/monitor/MonitorHandler.js +11 -35
  27. package/build/monitor/MonitorHandler.js.map +1 -1
  28. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +1 -1
  29. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +8 -117
  30. package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +1 -1
  31. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +1 -1
  32. package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +1 -1
  33. package/build/monitor/controls.d.ts.map +1 -1
  34. package/build/monitor/controls.js +209 -247
  35. package/build/monitor/controls.js.map +1 -1
  36. package/build/monitor/graph/generateMermaidGraph.d.ts +2 -9
  37. package/build/monitor/graph/generateMermaidGraph.d.ts.map +1 -1
  38. package/build/monitor/graph/generateMermaidGraph.js +54 -249
  39. package/build/monitor/graph/generateMermaidGraph.js.map +1 -1
  40. package/build/monitor/graph/graphUtils.d.ts.map +1 -1
  41. package/build/monitor/graph/graphUtils.js +11 -21
  42. package/build/monitor/graph/graphUtils.js.map +1 -1
  43. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +1 -1
  44. package/build/monitor/graph/mermaidGraphLinks.js +5 -0
  45. package/build/monitor/graph/mermaidGraphLinks.js.map +1 -1
  46. package/build/monitor/messages.d.ts +1 -1
  47. package/build/monitor/messages.d.ts.map +1 -1
  48. package/build/monitor/messages.js +32 -200
  49. package/build/monitor/messages.js.map +1 -1
  50. package/build/monitor/monitor.d.ts +1 -2
  51. package/build/monitor/monitor.d.ts.map +1 -1
  52. package/build/monitor/monitor.js +11 -541
  53. package/build/monitor/monitor.js.map +1 -1
  54. package/build/rest-playwright.d.ts +25 -22
  55. package/build/rest-playwright.d.ts.map +1 -1
  56. package/build/rest-playwright.js +16 -17
  57. package/build/rest-playwright.js.map +1 -1
  58. package/build/twin-page.d.ts +1 -1
  59. package/build/twin-page.d.ts.map +1 -1
  60. package/build/twin-page.js +4 -8
  61. package/build/twin-page.js.map +1 -1
  62. package/build/web-playwright.d.ts +19 -37
  63. package/build/web-playwright.d.ts.map +1 -1
  64. package/build/web-playwright.js +94 -82
  65. package/build/web-playwright.js.map +1 -1
  66. package/package.json +16 -11
  67. package/web/monitor.html +0 -3715
@@ -1,157 +1,18 @@
1
- import { LOG_LEVELS, LOG_LEVEL_TRACE } from '@haibun/core/monitor';
2
- let currentMaxDepth = 6;
3
- let currentLogLevel = LOG_LEVEL_TRACE;
4
- function isVisibleByLevel(entry) {
5
- if (entry.classList.contains('disappeared') &&
6
- !entry.classList.contains('haibun-step-failed') &&
7
- !entry.classList.contains('haibun-ensure-failed')) {
8
- return false;
9
- }
10
- // Hide successful ENSURE_END entries
11
- if (entry.classList.contains('haibun-ensure-end') && !entry.classList.contains('haibun-ensure-failed')) {
12
- return false;
13
- }
14
- // Always show failed steps/ensures
15
- if (entry.classList.contains('haibun-step-failed') || entry.classList.contains('haibun-ensure-failed')) {
16
- return true;
17
- }
18
- // Always show the current executing line
19
- if (entry.classList.contains('haibun-log-entry-current')) {
20
- return true;
21
- }
22
- // Always show active step/ensure starts
23
- if ((entry.classList.contains('haibun-step-start') || entry.classList.contains('haibun-ensure-start')) &&
24
- !entry.classList.contains('disappeared')) {
25
- return true;
26
- }
27
- // Check log level
28
- const selectedIndex = LOG_LEVELS.indexOf(currentLogLevel);
29
- let entryLevelIndex = -1;
30
- for (let i = 0; i < LOG_LEVELS.length; i++) {
31
- if (entry.classList.contains(`haibun-level-${LOG_LEVELS[i]}`)) {
32
- entryLevelIndex = i;
33
- break;
34
- }
35
- }
36
- if (entryLevelIndex !== -1 && entryLevelIndex < selectedIndex) {
37
- return false;
38
- }
39
- return true;
40
- }
41
- function applyDepthFilter() {
42
- const container = document.getElementById('haibun-log-display-area');
43
- if (!container)
44
- return;
45
- // Remove all existing placeholders to ensure clean state
46
- const placeholders = container.querySelectorAll('.haibun-log-depth-placeholder');
47
- placeholders.forEach(p => p.remove());
48
- const entries = Array.from(container.children);
49
- let hiddenCount = 0;
50
- let hiddenGroupStart = null;
51
- let hiddenGroupMaxDepth = 0;
52
- entries.forEach(entry => {
53
- if (!entry.classList.contains('haibun-log-entry'))
54
- return;
55
- // If the entry is hidden by level filter, ignore it completely (don't count, don't break group)
56
- if (!isVisibleByLevel(entry)) {
57
- // Ensure it doesn't have the depth-hidden class so it doesn't interfere with level hiding
58
- entry.classList.remove('haibun-log-depth-hidden');
59
- return;
60
- }
61
- const depth = parseInt(entry.dataset.depth || '0', 10);
62
- if (depth > currentMaxDepth && !entry.classList.contains('haibun-log-entry-current')) {
63
- entry.classList.add('haibun-log-depth-hidden');
64
- if (hiddenCount === 0) {
65
- hiddenGroupStart = entry;
66
- hiddenGroupMaxDepth = depth;
67
- }
68
- else {
69
- hiddenGroupMaxDepth = Math.max(hiddenGroupMaxDepth, depth);
70
- }
71
- hiddenCount++;
72
- }
73
- else {
74
- entry.classList.remove('haibun-log-depth-hidden');
75
- if (hiddenCount > 0 && hiddenGroupStart) {
76
- insertPlaceholder(container, hiddenGroupStart, hiddenCount, hiddenGroupMaxDepth);
77
- hiddenCount = 0;
78
- hiddenGroupStart = null;
79
- hiddenGroupMaxDepth = 0;
80
- }
81
- }
82
- });
83
- if (hiddenCount > 0 && hiddenGroupStart) {
84
- insertPlaceholder(container, hiddenGroupStart, hiddenCount, hiddenGroupMaxDepth);
85
- }
86
- }
87
- function insertPlaceholder(container, refNode, count, maxDepth) {
88
- const placeholder = document.createElement('div');
89
- placeholder.className = 'haibun-log-depth-placeholder';
90
- placeholder.textContent = `~~${count} lines filtered out up to depth ${maxDepth}~~`;
91
- placeholder.style.marginLeft = `${currentMaxDepth * 5}px`;
92
- placeholder.style.cursor = 'pointer';
93
- placeholder.title = 'Click to show these lines';
94
- placeholder.onclick = () => {
95
- const depthInput = document.getElementById('haibun-log-depth');
96
- if (depthInput) {
97
- // Add option if it doesn't exist
98
- let optionExists = false;
99
- for (let i = 0; i < depthInput.options.length; i++) {
100
- if (depthInput.options[i].value === maxDepth.toString()) {
101
- optionExists = true;
102
- break;
103
- }
104
- }
105
- if (!optionExists) {
106
- const option = document.createElement('option');
107
- option.value = maxDepth.toString();
108
- option.textContent = maxDepth.toString();
109
- depthInput.appendChild(option);
110
- }
111
- depthInput.value = maxDepth.toString();
112
- depthInput.dispatchEvent(new Event('change'));
113
- }
114
- };
115
- container.insertBefore(placeholder, refNode);
116
- }
1
+ let userScrolledManually = false;
117
2
  export function setupControls() {
118
3
  const levelSelect = document.getElementById('haibun-debug-level-select');
119
- const depthInput = document.getElementById('haibun-log-depth');
120
- const updateStyles = (selectedLevel, maxDepth) => {
121
- currentMaxDepth = maxDepth;
122
- currentLogLevel = selectedLevel;
123
- const selectedIndex = LOG_LEVELS.indexOf(selectedLevel);
4
+ const levels = ['debug', 'log', 'info', 'error'];
5
+ const updateStyles = (selectedLevel) => {
6
+ const selectedIndex = levels.indexOf(selectedLevel);
124
7
  let css = '';
125
- LOG_LEVELS.forEach((level, index) => {
8
+ levels.forEach((level, index) => {
126
9
  if (index < selectedIndex) {
127
- // Hide entries below selected level, but NOT active step-start/ensure-start entries or failed steps/ensures
128
- css += `div.haibun-log-entry.haibun-level-${level}:not(.haibun-step-start):not(.haibun-ensure-start):not(.haibun-step-failed):not(.haibun-ensure-failed) { display: none; }\n`;
129
- // Also hide step-start entries that have disappeared (completed) unless they're failed
130
- css += `div.haibun-log-entry.haibun-level-${level}.haibun-step-start.disappeared:not(.haibun-step-failed) { display: none; }\n`;
131
- // Also hide ensure-start entries that have disappeared (completed) unless they're failed
132
- css += `div.haibun-log-entry.haibun-level-${level}.haibun-ensure-start.disappeared:not(.haibun-ensure-failed) { display: none; }\n`;
10
+ css += `div.haibun-log-entry.haibun-level-${level}:not(.disappeared) { display: none; }\n`;
133
11
  }
134
12
  else {
135
- // Show entries at or above selected level that haven't disappeared
136
- css += `div.haibun-log-entry.haibun-level-${level}:not(.disappeared):not(.invisible-future) { display: flex; }\n`;
137
- // Also show active step-starts even if they would normally be hidden
138
- css += `div.haibun-log-entry.haibun-level-${level}.haibun-step-start:not(.disappeared):not(.invisible-future) { display: flex; }\n`;
139
- // Also show active ensure-starts even if they would normally be hidden
140
- css += `div.haibun-log-entry.haibun-level-${level}.haibun-ensure-start:not(.disappeared):not(.invisible-future) { display: flex; }\n`;
13
+ css += `div.haibun-log-entry.haibun-level-${level}:not(.disappeared) { display: flex; }\n`;
141
14
  }
142
15
  });
143
- // Show all active (not disappeared) step-start entries regardless of level
144
- css += `div.haibun-log-entry.haibun-step-start:not(.disappeared):not(.invisible-future) { display: flex !important; }\n`;
145
- // Show all active (not disappeared) ensure-start entries regardless of level
146
- css += `div.haibun-log-entry.haibun-ensure-start:not(.disappeared):not(.invisible-future) { display: flex !important; }\n`;
147
- // Hide all disappeared entries UNLESS they're failed or current
148
- css += `div.haibun-log-entry.disappeared:not(.haibun-step-failed):not(.haibun-ensure-failed):not(.haibun-log-entry-current) { display: none !important; }\n`;
149
- // Always show failed steps regardless of disappeared state or log level
150
- css += `div.haibun-log-entry.haibun-step-failed:not(.invisible-future) { display: flex !important; }\n`;
151
- // Always show failed ensures regardless of disappeared state or log level
152
- css += `div.haibun-log-entry.haibun-ensure-failed:not(.invisible-future) { display: flex !important; }\n`;
153
- // Hide successful ENSURE_END entries (they're just for signaling, not display), unless current
154
- css += `div.haibun-log-entry.haibun-ensure-end:not(.haibun-ensure-failed):not(.haibun-log-entry-current) { display: none !important; }\n`;
155
16
  let styleElement = document.getElementById('haibun-dynamic-styles');
156
17
  if (!styleElement) {
157
18
  styleElement = document.createElement('style');
@@ -159,57 +20,16 @@ export function setupControls() {
159
20
  document.head.appendChild(styleElement);
160
21
  }
161
22
  styleElement.textContent = css;
162
- applyDepthFilter();
163
23
  };
164
- // Populate the select options from LOG_LEVELS (only if empty)
165
- if (levelSelect.options.length === 0) {
166
- LOG_LEVELS.forEach((level) => {
167
- const option = document.createElement('option');
168
- option.value = level;
169
- option.textContent = level.charAt(0).toUpperCase() + level.slice(1);
170
- if (level === LOG_LEVEL_TRACE) {
171
- option.selected = true;
172
- }
173
- levelSelect.appendChild(option);
174
- });
175
- }
176
- // Hard code default to trace
177
- levelSelect.value = LOG_LEVEL_TRACE;
178
- const initialDepth = depthInput ? parseInt(depthInput.value, 10) : 6;
179
- updateStyles(LOG_LEVEL_TRACE, initialDepth);
180
24
  if (levelSelect) {
181
25
  levelSelect.addEventListener('change', (event) => {
182
26
  const target = event.target;
183
- const currentDepth = depthInput ? parseInt(depthInput.value, 10) : 6;
184
- updateStyles(target.value, currentDepth);
185
- });
186
- }
187
- if (depthInput) {
188
- depthInput.addEventListener('change', (event) => {
189
- const target = event.target;
190
- const currentLevel = levelSelect ? levelSelect.value : LOG_LEVEL_TRACE;
191
- updateStyles(currentLevel, parseInt(target.value, 10));
27
+ updateStyles(target.value);
192
28
  });
29
+ updateStyles(levelSelect.value);
193
30
  }
194
31
  setupStatementInput();
195
32
  setupVideoPlayback();
196
- // Add MutationObserver for depth filtering
197
- const logDisplayArea = document.getElementById('haibun-log-display-area');
198
- if (logDisplayArea) {
199
- const observer = new MutationObserver((mutations) => {
200
- let hasLogUpdates = false;
201
- for (const m of mutations) {
202
- m.addedNodes.forEach(node => {
203
- if (node instanceof Element && node.classList.contains('haibun-log-entry')) {
204
- hasLogUpdates = true;
205
- }
206
- });
207
- }
208
- if (hasLogUpdates)
209
- applyDepthFilter();
210
- });
211
- observer.observe(logDisplayArea, { childList: true });
212
- }
213
33
  }
214
34
  function setupStatementInput() {
215
35
  const statementInput = document.getElementById('haibun-statement-input');
@@ -227,8 +47,148 @@ function setupStatementInput() {
227
47
  });
228
48
  }
229
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
+ }
230
101
  export function setupVideoPlayback() {
231
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 });
232
192
  const diagramObserver = new MutationObserver((mutations) => {
233
193
  mutations.forEach((mutation) => {
234
194
  if (mutation.type === 'childList' && mutation.addedNodes.length > 0 && mutation.target === sequenceDiagram) {
@@ -249,101 +209,103 @@ export function setupVideoPlayback() {
249
209
  }
250
210
  }, 0);
251
211
  });
252
- const promptContainer = document.getElementById('haibun-prompt-controls-container');
253
- const rerunButton = document.getElementById('haibun-retry-button');
254
- const nextButton = document.getElementById('haibun-next-button');
255
- const failButton = document.getElementById('haibun-fail-button');
256
- const stepButton = document.getElementById('haibun-step-button');
257
- const continueButton = document.getElementById('haibun-continue-button');
258
- const messageArea = document.getElementById('haibun-prompt-message');
259
- // Store current prompt id and options for button actions
260
- let currentPrompt;
261
- window.showPromptControls = (promptsJson) => {
262
- if (!promptContainer)
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)
263
216
  return;
264
- const prompts = JSON.parse(promptsJson);
265
- if (!prompts.length) {
266
- promptContainer.style.display = 'none';
267
- promptContainer.classList.remove('paused-program-glow');
268
- if (messageArea)
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');
269
250
  messageArea.textContent = '';
270
- if (rerunButton)
271
251
  rerunButton.disabled = true;
272
- if (failButton)
273
252
  failButton.disabled = true;
274
- if (stepButton)
275
253
  stepButton.disabled = true;
276
- if (continueButton)
277
254
  continueButton.disabled = true;
278
- currentPrompt = undefined;
279
- return;
280
- }
281
- // Only show the first outstanding prompt (for classic controls)
282
- const prompt = prompts[0];
283
- currentPrompt = prompt;
284
- if (messageArea)
255
+ currentPrompt = undefined;
256
+ return;
257
+ }
258
+ // Only show the first outstanding prompt (for classic controls)
259
+ const prompt = prompts[0];
260
+ currentPrompt = prompt;
285
261
  messageArea.textContent = prompt.message;
286
- // Enable/disable buttons based on options
287
- if (rerunButton)
262
+ // Enable/disable buttons based on options
288
263
  rerunButton.disabled = !prompt.options?.includes('retry');
289
- if (nextButton)
290
264
  nextButton.disabled = !prompt.options?.includes('next');
291
- if (failButton)
292
265
  failButton.disabled = !prompt.options?.includes('fail');
293
- if (stepButton)
294
266
  stepButton.disabled = !prompt.options?.includes('step');
295
- if (continueButton)
296
267
  continueButton.disabled = !prompt.options?.includes('continue');
297
- promptContainer.classList.add('paused-program-glow');
298
- promptContainer.style.display = 'flex';
299
- };
300
- window.hidePromptControls = () => {
301
- if (!promptContainer)
302
- return;
303
- promptContainer.style.display = 'none';
304
- promptContainer.classList.remove('paused-program-glow');
305
- if (messageArea)
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');
306
274
  messageArea.textContent = '';
307
- if (rerunButton)
308
275
  rerunButton.disabled = true;
309
- if (failButton)
310
276
  failButton.disabled = true;
311
- if (stepButton)
312
277
  stepButton.disabled = true;
313
- if (continueButton)
314
278
  continueButton.disabled = true;
315
- currentPrompt = undefined;
316
- };
317
- if (rerunButton) {
279
+ currentPrompt = undefined;
280
+ };
318
281
  rerunButton.addEventListener('click', () => {
319
282
  if (currentPrompt)
320
283
  window.haibunResolvePrompt(currentPrompt.id, 'retry');
321
284
  });
322
- }
323
- if (nextButton) {
324
285
  nextButton.addEventListener('click', () => {
325
286
  if (currentPrompt)
326
287
  window.haibunResolvePrompt(currentPrompt.id, 'next');
327
288
  });
328
- }
329
- if (failButton) {
330
289
  failButton.addEventListener('click', () => {
331
290
  if (currentPrompt)
332
291
  window.haibunResolvePrompt(currentPrompt.id, 'fail');
333
292
  });
334
- }
335
- if (stepButton) {
336
293
  stepButton.addEventListener('click', () => {
337
294
  if (currentPrompt)
338
295
  window.haibunResolvePrompt(currentPrompt.id, 'step');
339
296
  });
340
- }
341
- if (continueButton) {
342
297
  continueButton.addEventListener('click', () => {
343
298
  if (currentPrompt)
344
299
  window.haibunResolvePrompt(currentPrompt.id, 'continue');
345
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;
346
308
  }
347
- window.hidePromptControls();
309
+ return current;
348
310
  }
349
311
  //# sourceMappingURL=controls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/monitor/controls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/monitor/controls.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,4 @@
1
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 {};
2
+ export declare function generateMermaidGraphAsMarkdown(resolvedFeatures: TResolvedFeature[], showVariables?: boolean): Promise<string>;
3
+ export declare function generateMermaidGraph(resolvedFeatures: TResolvedFeature[], showVariables?: boolean): Promise<string[]>;
11
4
  //# sourceMappingURL=generateMermaidGraph.d.ts.map
@@ -1 +1 @@
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"}
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,wBAAsB,8BAA8B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,aAAa,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhI;AAED,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,aAAa,UAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsHxH"}