@haibun/web-playwright 1.59.0 → 1.60.2

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 (186) hide show
  1. package/build/cycles.d.ts +4 -0
  2. package/build/cycles.d.ts.map +1 -0
  3. package/build/cycles.js +82 -0
  4. package/build/cycles.js.map +1 -0
  5. package/build/interactionSteps.d.ts +221 -0
  6. package/build/interactionSteps.d.ts.map +1 -0
  7. package/build/interactionSteps.js +515 -0
  8. package/build/interactionSteps.js.map +1 -0
  9. package/build/monitor/LogEntry.d.ts +4 -0
  10. package/build/monitor/LogEntry.d.ts.map +1 -0
  11. package/build/monitor/LogEntry.js +4 -0
  12. package/build/monitor/LogEntry.js.map +1 -0
  13. package/build/monitor/MonitorHandler.d.ts +9 -0
  14. package/build/monitor/MonitorHandler.d.ts.map +1 -1
  15. package/build/monitor/MonitorHandler.js +61 -47
  16. package/build/monitor/MonitorHandler.js.map +1 -1
  17. package/build/monitor/artifactDisplayBase.d.ts +2 -0
  18. package/build/monitor/artifactDisplayBase.d.ts.map +1 -0
  19. package/build/monitor/artifactDisplayBase.js +2 -0
  20. package/build/monitor/artifactDisplayBase.js.map +1 -0
  21. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts +9 -0
  22. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts.map +1 -0
  23. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js +31 -0
  24. package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js.map +1 -0
  25. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts +9 -0
  26. package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts.map +1 -0
  27. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js +17 -0
  28. package/build/monitor/artifactDisplays/ImageArtifactDisplay.js.map +1 -0
  29. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts +9 -0
  30. package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts.map +1 -0
  31. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js +18 -0
  32. package/build/monitor/artifactDisplays/JsonArtifactDisplay.js.map +1 -0
  33. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts +13 -0
  34. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts.map +1 -0
  35. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js +44 -0
  36. package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js.map +1 -0
  37. package/build/monitor/artifactDisplays/MermaidDiagram.d.ts +22 -0
  38. package/build/monitor/artifactDisplays/MermaidDiagram.d.ts.map +1 -0
  39. package/build/monitor/artifactDisplays/MermaidDiagram.js +199 -0
  40. package/build/monitor/artifactDisplays/MermaidDiagram.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/artifactDisplays/htmlArtifactDisplay.d.ts +9 -0
  66. package/build/monitor/artifactDisplays/htmlArtifactDisplay.d.ts.map +1 -0
  67. package/build/monitor/artifactDisplays/htmlArtifactDisplay.js +31 -0
  68. package/build/monitor/artifactDisplays/htmlArtifactDisplay.js.map +1 -0
  69. package/build/monitor/artifactDisplays/imageArtifactDisplay.d.ts +9 -0
  70. package/build/monitor/artifactDisplays/imageArtifactDisplay.d.ts.map +1 -0
  71. package/build/monitor/artifactDisplays/imageArtifactDisplay.js +17 -0
  72. package/build/monitor/artifactDisplays/imageArtifactDisplay.js.map +1 -0
  73. package/build/monitor/artifactDisplays/jsonArtifactDisplay.d.ts +9 -0
  74. package/build/monitor/artifactDisplays/jsonArtifactDisplay.d.ts.map +1 -0
  75. package/build/monitor/artifactDisplays/jsonArtifactDisplay.js +18 -0
  76. package/build/monitor/artifactDisplays/jsonArtifactDisplay.js.map +1 -0
  77. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.d.ts +14 -0
  78. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.d.ts.map +1 -0
  79. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.js +72 -0
  80. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.js.map +1 -0
  81. package/build/monitor/artifactDisplays/mermaidDiagram.d.ts +22 -0
  82. package/build/monitor/artifactDisplays/mermaidDiagram.d.ts.map +1 -0
  83. package/build/monitor/artifactDisplays/mermaidDiagram.js +199 -0
  84. package/build/monitor/artifactDisplays/mermaidDiagram.js.map +1 -0
  85. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.d.ts +9 -0
  86. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.d.ts.map +1 -0
  87. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.js +36 -0
  88. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.js.map +1 -0
  89. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.d.ts +32 -0
  90. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.d.ts.map +1 -0
  91. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.js +299 -0
  92. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.js.map +1 -0
  93. package/build/monitor/artifactDisplays/speechArtifactDisplay.d.ts +9 -0
  94. package/build/monitor/artifactDisplays/speechArtifactDisplay.d.ts.map +1 -0
  95. package/build/monitor/artifactDisplays/speechArtifactDisplay.js +38 -0
  96. package/build/monitor/artifactDisplays/speechArtifactDisplay.js.map +1 -0
  97. package/build/monitor/artifactDisplays/videoArtifactDisplay.d.ts +9 -0
  98. package/build/monitor/artifactDisplays/videoArtifactDisplay.d.ts.map +1 -0
  99. package/build/monitor/artifactDisplays/videoArtifactDisplay.js +22 -0
  100. package/build/monitor/artifactDisplays/videoArtifactDisplay.js.map +1 -0
  101. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.d.ts +9 -0
  102. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.d.ts.map +1 -0
  103. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.js +30 -0
  104. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.js.map +1 -0
  105. package/build/monitor/controls.d.ts +0 -1
  106. package/build/monitor/controls.d.ts.map +1 -1
  107. package/build/monitor/controls.js +6 -71
  108. package/build/monitor/controls.js.map +1 -1
  109. package/build/monitor/graph/feature-bases.d.ts +5 -0
  110. package/build/monitor/graph/feature-bases.d.ts.map +1 -0
  111. package/build/monitor/graph/feature-bases.js +36 -0
  112. package/build/monitor/graph/feature-bases.js.map +1 -0
  113. package/build/monitor/graph/generateMermaidGraph.d.ts +4 -0
  114. package/build/monitor/graph/generateMermaidGraph.d.ts.map +1 -0
  115. package/build/monitor/graph/generateMermaidGraph.js +144 -0
  116. package/build/monitor/graph/generateMermaidGraph.js.map +1 -0
  117. package/build/monitor/graph/graphUtils.d.ts +3 -0
  118. package/build/monitor/graph/graphUtils.d.ts.map +1 -0
  119. package/build/monitor/graph/graphUtils.js +16 -0
  120. package/build/monitor/graph/graphUtils.js.map +1 -0
  121. package/build/monitor/graph/mermaidGraphLinks.d.ts +3 -0
  122. package/build/monitor/graph/mermaidGraphLinks.d.ts.map +1 -0
  123. package/build/monitor/graph/mermaidGraphLinks.js +31 -0
  124. package/build/monitor/graph/mermaidGraphLinks.js.map +1 -0
  125. package/build/monitor/htmlArtifactDisplay.d.ts +2 -0
  126. package/build/monitor/htmlArtifactDisplay.d.ts.map +1 -0
  127. package/build/monitor/htmlArtifactDisplay.js +2 -0
  128. package/build/monitor/htmlArtifactDisplay.js.map +1 -0
  129. package/build/monitor/imageArtifactDisplay.d.ts +2 -0
  130. package/build/monitor/imageArtifactDisplay.d.ts.map +1 -0
  131. package/build/monitor/imageArtifactDisplay.js +2 -0
  132. package/build/monitor/imageArtifactDisplay.js.map +1 -0
  133. package/build/monitor/jsonArtifactDisplay.d.ts +2 -0
  134. package/build/monitor/jsonArtifactDisplay.d.ts.map +1 -0
  135. package/build/monitor/jsonArtifactDisplay.js +2 -0
  136. package/build/monitor/jsonArtifactDisplay.js.map +1 -0
  137. package/build/monitor/jsonArtifactHTTPTrace.d.ts +2 -0
  138. package/build/monitor/jsonArtifactHTTPTrace.d.ts.map +1 -0
  139. package/build/monitor/jsonArtifactHTTPTrace.js +2 -0
  140. package/build/monitor/jsonArtifactHTTPTrace.js.map +1 -0
  141. package/build/monitor/messages.d.ts +9 -21
  142. package/build/monitor/messages.d.ts.map +1 -1
  143. package/build/monitor/messages.js +83 -216
  144. package/build/monitor/messages.js.map +1 -1
  145. package/build/monitor/monitor.d.ts +9 -4
  146. package/build/monitor/monitor.d.ts.map +1 -1
  147. package/build/monitor/monitor.js +8 -18
  148. package/build/monitor/monitor.js.map +1 -1
  149. package/build/monitor/resolvedFeaturesArtifactDisplay.d.ts +2 -0
  150. package/build/monitor/resolvedFeaturesArtifactDisplay.d.ts.map +1 -0
  151. package/build/monitor/resolvedFeaturesArtifactDisplay.js +2 -0
  152. package/build/monitor/resolvedFeaturesArtifactDisplay.js.map +1 -0
  153. package/build/monitor/sequenceDiagramGenerator.d.ts +32 -0
  154. package/build/monitor/sequenceDiagramGenerator.d.ts.map +1 -0
  155. package/build/monitor/sequenceDiagramGenerator.js +299 -0
  156. package/build/monitor/sequenceDiagramGenerator.js.map +1 -0
  157. package/build/monitor/speechArtifactDisplay.d.ts +2 -0
  158. package/build/monitor/speechArtifactDisplay.d.ts.map +1 -0
  159. package/build/monitor/speechArtifactDisplay.js +2 -0
  160. package/build/monitor/speechArtifactDisplay.js.map +1 -0
  161. package/build/monitor/test-utils.d.ts +9 -0
  162. package/build/monitor/test-utils.d.ts.map +1 -0
  163. package/build/monitor/test-utils.js +70 -0
  164. package/build/monitor/test-utils.js.map +1 -0
  165. package/build/monitor/videoArtifactDisplay.d.ts +2 -0
  166. package/build/monitor/videoArtifactDisplay.d.ts.map +1 -0
  167. package/build/monitor/videoArtifactDisplay.js +2 -0
  168. package/build/monitor/videoArtifactDisplay.js.map +1 -0
  169. package/build/monitor/videoStartArtifactDisplay.d.ts +2 -0
  170. package/build/monitor/videoStartArtifactDisplay.d.ts.map +1 -0
  171. package/build/monitor/videoStartArtifactDisplay.js +2 -0
  172. package/build/monitor/videoStartArtifactDisplay.js.map +1 -0
  173. package/build/web-playwright.d.ts +78 -77
  174. package/build/web-playwright.d.ts.map +1 -1
  175. package/build/web-playwright.js +12 -571
  176. package/build/web-playwright.js.map +1 -1
  177. package/package.json +9 -5
  178. package/build/monitor/monitorHandler.d.ts +0 -16
  179. package/build/monitor/monitorHandler.d.ts.map +0 -1
  180. package/build/monitor/monitorHandler.js +0 -108
  181. package/build/monitor/monitorHandler.js.map +0 -1
  182. package/build/monitor/vite.config.d.ts +0 -4
  183. package/build/monitor/vite.config.d.ts.map +0 -1
  184. package/build/monitor/vite.config.js +0 -91
  185. package/build/monitor/vite.config.js.map +0 -1
  186. package/web/monitor.html +0 -3059
@@ -8,6 +8,25 @@ import { sleep } from '@haibun/core/build/lib/util/index.js';
8
8
  import { actualURI } from '@haibun/core/build/lib/util/actualURI.js';
9
9
  const monitorLocation = join(getPackageLocation(import.meta), '..', '..', 'web', 'monitor.html');
10
10
  const capturedMessages = [];
11
+ class ButtonPrompter {
12
+ monitorHandler;
13
+ currentPromptResolve;
14
+ constructor(monitorHandler) {
15
+ this.monitorHandler = monitorHandler;
16
+ }
17
+ async prompt(prompt) {
18
+ return new Promise((resolve, reject) => {
19
+ this.currentPromptResolve = resolve;
20
+ this.monitorHandler.inMonitor((message) => window.showPromptControls(message), prompt.message).catch(reject);
21
+ });
22
+ }
23
+ resolvePrompt(response) {
24
+ if (this.currentPromptResolve) {
25
+ this.currentPromptResolve(response);
26
+ this.currentPromptResolve = undefined;
27
+ }
28
+ }
29
+ }
11
30
  export class MonitorHandler {
12
31
  world;
13
32
  storage;
@@ -26,6 +45,17 @@ export class MonitorHandler {
26
45
  const browser = await chromium.launch({ headless: this.headless });
27
46
  const context = await browser.newContext();
28
47
  this.monitorPage = await context.newPage();
48
+ await this.monitorPage.exposeFunction('haibunResolvePrompt', (response) => {
49
+ if (this.buttonPrompter) {
50
+ this.buttonPrompter.resolvePrompt(response);
51
+ void this.inMonitor(() => {
52
+ window.hidePromptControls();
53
+ });
54
+ }
55
+ else {
56
+ this.world.logger.error('ButtonPrompter not initialized when haibunResolvePrompt was called.');
57
+ }
58
+ });
29
59
  await this.waitForMonitorPage();
30
60
  await this.monitorPage.goto(pathToFileURL(monitorLocation).toString(), { waitUntil: 'networkidle' });
31
61
  await this.inMonitor((monitorLoc) => {
@@ -35,67 +65,51 @@ export class MonitorHandler {
35
65
  }, resolve(this.monitorLoc));
36
66
  this.subscriber = {
37
67
  out: (level, message, messageContext) => {
38
- capturedMessages.push({ level, message, messageContext });
39
- if (!this.monitorPage || this.monitorPage.isClosed()) {
40
- console.error("Monitor page closed, cannot send logs.");
41
- return;
42
- }
43
- try {
44
- // this is async but we don't need to wait for it
45
- void this.inMonitor((entry) => {
46
- // This code runs in the browser context (monitor.html)
47
- if (window.receiveLogData) {
48
- // Parse the context string back into an object inside the browser.
49
- const contextObject = entry.messageContextString ? JSON.parse(entry.messageContextString) : undefined;
50
- window.receiveLogData({
51
- level: entry.level,
52
- message: entry.message,
53
- messageContext: contextObject,
54
- timestamp: entry.timestamp
55
- });
56
- }
57
- else {
58
- throw Error('window.receiveLogData not defined in monitor page');
59
- }
60
- }, {
61
- // Data being sent from Node.js to the browser
62
- level,
63
- message,
64
- messageContextString: messageContext ? JSON.stringify(messageContext) : undefined,
65
- timestamp: Date.now()
66
- });
67
- }
68
- catch (e) {
69
- // Specific check for the serialization error
70
- if (e instanceof Error && e.message.includes('Unexpected value')) {
71
- console.error('Error sending log to monitor via evaluate: Serialization failed. Check the structure of messageContext.', e.message);
72
- console.error('Problematic messageContext object before stringify:', messageContext);
73
- }
74
- else if (e instanceof Error && !e.message.includes('Target page, context or browser has been closed')) {
75
- console.error('Error sending log to monitor via evaluate:', e.message);
76
- }
77
- throw (e);
78
- }
79
- },
68
+ const logEntry = {
69
+ level,
70
+ message,
71
+ messageContext,
72
+ timestamp: Date.now()
73
+ };
74
+ capturedMessages.push(logEntry);
75
+ void this.inMonitor((entry) => {
76
+ window.receiveLogData(JSON.parse(entry));
77
+ }, JSON.stringify(logEntry));
78
+ }
80
79
  };
80
+ this.buttonPrompter = new ButtonPrompter(this);
81
+ this.world.prompter.subscribe(this.buttonPrompter);
81
82
  }
83
+ buttonPrompter;
82
84
  async writeMonitor() {
83
85
  if (!this.monitorPage || this.monitorPage.isClosed()) {
84
86
  this.world.logger.error('Monitor page is closed, cannot write monitor file.');
85
87
  return;
86
88
  }
87
- await sleep(500); // Allow final rendering
88
- const content = await this.monitorPage.content();
89
+ await sleep(500);
90
+ await this.inMonitor(() => {
91
+ const promptControls = document.getElementById('haibun-prompt-controls-container');
92
+ if (promptControls && promptControls.parentNode) {
93
+ promptControls.parentNode.removeChild(promptControls);
94
+ }
95
+ });
96
+ const content = (await this.monitorPage.content()) + `
97
+ <script>
98
+ window.haibunStaticPage = true;
99
+ window.haibunCapturedMessages = ${JSON.stringify(capturedMessages, null, 2)};
100
+ document.getElementById('haibun-log-display-area').innerHTML = '';
101
+ </script>
102
+ `;
89
103
  await this.inMonitor(() => {
90
104
  const base = document.querySelector('base');
91
105
  if (base) {
92
106
  base.parentNode?.removeChild(base);
93
107
  }
94
108
  });
95
- const outHtml = join(this.monitorLoc, 'monitor.html');
96
- const monitorPath = actualURI(outHtml);
109
+ const outHtmlFile = join(this.monitorLoc, 'monitor.html');
110
+ const monitorPath = actualURI(outHtmlFile);
97
111
  this.world.logger.info(`Writing monitor HTML to ${monitorPath}`);
98
- await this.storage.writeFile(outHtml, content, EMediaTypes.html);
112
+ await this.storage.writeFile(outHtmlFile, content, EMediaTypes.html);
99
113
  const outMessages = join(this.monitorLoc, 'monitor.json');
100
114
  await this.storage.writeFile(outMessages, JSON.stringify(capturedMessages, null, 2), EMediaTypes.html);
101
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorHandler.js","sourceRoot":"","sources":["../../src/monitor/MonitorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorHandler.js","sourceRoot":"","sources":["../../src/monitor/MonitorHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artifactDisplayBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifactDisplayBase.d.ts","sourceRoot":"","sources":["../../src/monitor/artifactDisplayBase.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artifactDisplayBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifactDisplayBase.js","sourceRoot":"","sources":["../../src/monitor/artifactDisplayBase.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { TArtifactHTML } from "@haibun/core/build/lib/interfaces/logger.js";
2
+ import { ArtifactDisplay } from "./artifactDisplayBase.js";
3
+ export declare class HtmlArtifactDisplay extends ArtifactDisplay {
4
+ protected artifact: TArtifactHTML;
5
+ readonly placementTarget = "details";
6
+ constructor(artifact: TArtifactHTML);
7
+ render(container: HTMLElement): void;
8
+ }
9
+ //# sourceMappingURL=HtmlArtifactDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlArtifactDisplay.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/HtmlArtifactDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,qBAAa,mBAAoB,SAAQ,eAAe;IAE3C,SAAS,CAAC,QAAQ,EAAE,aAAa;IAD7C,QAAQ,CAAC,eAAe,aAAa;gBACf,QAAQ,EAAE,aAAa;IAGtC,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CAoB3C"}
@@ -0,0 +1,31 @@
1
+ import { ArtifactDisplay } from "./artifactDisplayBase.js";
2
+ export class HtmlArtifactDisplay extends ArtifactDisplay {
3
+ artifact;
4
+ placementTarget = 'details';
5
+ constructor(artifact) {
6
+ super(artifact);
7
+ this.artifact = artifact;
8
+ }
9
+ render(container) {
10
+ container.innerHTML = ''; // Clear placeholder
11
+ const iframe = document.createElement('iframe');
12
+ iframe.style.border = 'none';
13
+ iframe.style.width = '100%';
14
+ iframe.style.height = '80vh';
15
+ // TArtifactHTML is a union, check for the 'html' property for direct content
16
+ if ('html' in this.artifact && typeof this.artifact.html === 'string') {
17
+ iframe.srcdoc = this.artifact.html;
18
+ }
19
+ else if ('path' in this.artifact && typeof this.artifact.path === 'string') {
20
+ // If it has a path, this display class isn't equipped to load it.
21
+ // Log a warning and show an error in the iframe.
22
+ console.warn(`HtmlArtifactDisplay received artifact with path: ${this.artifact.path}. This display expects direct HTML content.`);
23
+ iframe.srcdoc = '<p class="haibun-artifact-error">Error: Artifact is a path, but direct HTML content was expected.</p>';
24
+ }
25
+ else {
26
+ iframe.srcdoc = '<p class="haibun-artifact-error">Error: HTML content not available or in an unexpected format.</p>';
27
+ }
28
+ container.appendChild(iframe);
29
+ }
30
+ }
31
+ //# sourceMappingURL=HtmlArtifactDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlArtifactDisplay.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/HtmlArtifactDisplay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IAEjC;IADb,eAAe,GAAG,SAAS,CAAC;IACrC,YAAsB,QAAuB;QAC5C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADK,aAAQ,GAAR,QAAQ,CAAe;IAE7C,CAAC;IACM,MAAM,CAAC,SAAsB;QACnC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,oBAAoB;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAE7B,6EAA6E;QAC7E,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9E,kEAAkE;YAClE,iDAAiD;YACjD,OAAO,CAAC,IAAI,CAAC,oDAAoD,IAAI,CAAC,QAAQ,CAAC,IAAI,6CAA6C,CAAC,CAAC;YACzH,MAAM,CAAC,MAAM,GAAG,uGAAuG,CAAC;QAClI,CAAC;aAAM,CAAC;YACE,MAAM,CAAC,MAAM,GAAG,oGAAoG,CAAC;QACzH,CAAC;QACP,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ import { TArtifactImage } from '@haibun/core/build/lib/interfaces/logger.js';
2
+ import { ArtifactDisplay } from './artifactDisplayBase.js';
3
+ export declare class ImageArtifactDisplay extends ArtifactDisplay {
4
+ protected artifact: TArtifactImage;
5
+ readonly placementTarget = "details";
6
+ constructor(artifact: TArtifactImage);
7
+ render(container: HTMLElement): void;
8
+ }
9
+ //# sourceMappingURL=ImageArtifactDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageArtifactDisplay.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/ImageArtifactDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,eAAe;IAEzC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAD9C,QAAQ,CAAC,eAAe,aAAa;gBACf,QAAQ,EAAE,cAAc;IAIvC,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CAM9C"}
@@ -0,0 +1,17 @@
1
+ import { ArtifactDisplay } from './artifactDisplayBase.js';
2
+ export class ImageArtifactDisplay extends ArtifactDisplay {
3
+ artifact;
4
+ placementTarget = 'details'; // This artifact is always placed in details
5
+ constructor(artifact) {
6
+ super(artifact); // type is 'image' by default from TArtifactImage
7
+ this.artifact = artifact;
8
+ // Element creation is deferred to render method
9
+ }
10
+ render(container) {
11
+ const imgElement = document.createElement('img');
12
+ imgElement.alt = 'Screen capture artifact'; // Default alt text
13
+ imgElement.src = this.artifact.path;
14
+ container.replaceChildren(imgElement); // Clear placeholder and add image
15
+ }
16
+ }
17
+ //# sourceMappingURL=ImageArtifactDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageArtifactDisplay.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/ImageArtifactDisplay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAE/B;IADb,eAAe,GAAG,SAAS,CAAC,CAAC,4CAA4C;IAClF,YAAsB,QAAwB;QAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,iDAAiD;QADhD,aAAQ,GAAR,QAAQ,CAAgB;QAE1C,gDAAgD;IACpD,CAAC;IACM,MAAM,CAAC,SAAsB;QAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC,mBAAmB;QAC/D,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC;IAC7E,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { TArtifactJSON } from "@haibun/core/build/lib/interfaces/logger.js";
2
+ import { ArtifactDisplay } from "./artifactDisplayBase.js";
3
+ export declare class JsonArtifactDisplay extends ArtifactDisplay {
4
+ protected artifact: TArtifactJSON;
5
+ readonly placementTarget = "details";
6
+ constructor(artifact: TArtifactJSON);
7
+ render(container: HTMLElement): void;
8
+ }
9
+ //# sourceMappingURL=JsonArtifactDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonArtifactDisplay.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/JsonArtifactDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBAAa,mBAAoB,SAAQ,eAAe;IAExC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAD7C,QAAQ,CAAC,eAAe,aAAa;gBACf,QAAQ,EAAE,aAAa;IAItC,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CAM9C"}
@@ -0,0 +1,18 @@
1
+ import { ArtifactDisplay } from "./artifactDisplayBase.js";
2
+ import { disclosureJson } from "../disclosureJson.js";
3
+ export class JsonArtifactDisplay extends ArtifactDisplay {
4
+ artifact;
5
+ placementTarget = 'details'; // This artifact is always placed in details
6
+ constructor(artifact) {
7
+ super(artifact); // type is 'json' by default from TArtifactJSON
8
+ this.artifact = artifact;
9
+ // Element creation is deferred to render method
10
+ }
11
+ render(container) {
12
+ const preElement = document.createElement('pre');
13
+ preElement.classList.add('haibun-message-details-json');
14
+ preElement.appendChild(disclosureJson(this.artifact.json || {}));
15
+ container.replaceChildren(preElement); // Clear placeholder and add json content
16
+ }
17
+ }
18
+ //# sourceMappingURL=JsonArtifactDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonArtifactDisplay.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/JsonArtifactDisplay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IAE9B;IADb,eAAe,GAAG,SAAS,CAAC,CAAC,4CAA4C;IAClF,YAAsB,QAAuB;QACzC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,+CAA+C;QAD9C,aAAQ,GAAR,QAAQ,CAAe;QAEzC,gDAAgD;IACpD,CAAC;IACM,MAAM,CAAC,SAAsB;QAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACxD,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,yCAAyC;IACpF,CAAC;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { TArtifactHTTPTrace } from '@haibun/core/build/lib/interfaces/logger.js';
2
+ import { ArtifactDisplay } from './artifactDisplayBase.js';
3
+ import { SequenceDiagramGenerator } from './SequenceDiagramGenerator.js';
4
+ export declare class JsonArtifactHTTPTrace extends ArtifactDisplay {
5
+ protected artifact: TArtifactHTTPTrace;
6
+ readonly placementTarget: 'details' | 'haibun-focus';
7
+ diagramGenerator: SequenceDiagramGenerator;
8
+ id: string;
9
+ constructor(artifact: TArtifactHTTPTrace);
10
+ deriveLabel(): string;
11
+ render(container: HTMLElement): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=JsonArtifactHTTPTrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonArtifactHTTPTrace.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/JsonArtifactHTTPTrace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,qBAAa,qBAAsB,SAAQ,eAAe;IAK7C,SAAS,CAAC,QAAQ,EAAE,kBAAkB;IAJlD,QAAQ,CAAC,eAAe,EAAE,SAAS,GAAG,cAAc,CAAC;IACrD,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;gBAEW,QAAQ,EAAE,kBAAkB;IAK3C,WAAW,IAAI,MAAM;IAIf,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA2B1D"}
@@ -0,0 +1,44 @@
1
+ import { ArtifactDisplay } from './artifactDisplayBase.js';
2
+ import { disclosureJson } from '../disclosureJson.js';
3
+ import { SequenceDiagramGenerator } from './SequenceDiagramGenerator.js';
4
+ export class JsonArtifactHTTPTrace extends ArtifactDisplay {
5
+ artifact;
6
+ placementTarget;
7
+ diagramGenerator;
8
+ id;
9
+ constructor(artifact) {
10
+ super(artifact);
11
+ this.artifact = artifact;
12
+ this.placementTarget = document.querySelector('#sequence-diagram') ? 'haibun-focus' : 'details';
13
+ }
14
+ deriveLabel() {
15
+ return '⇄ Trace';
16
+ }
17
+ async render(container) {
18
+ container.innerHTML = '';
19
+ const preElement = document.createElement('pre');
20
+ preElement.classList.add('haibun-message-details-json');
21
+ preElement.appendChild(disclosureJson(this.artifact.trace));
22
+ container.appendChild(preElement);
23
+ if (!this.diagramGenerator) {
24
+ this.id = Math.random().toString(36).substring(2, 15);
25
+ this.diagramGenerator = new SequenceDiagramGenerator(this.id, container);
26
+ }
27
+ if (this.artifact.httpEvent !== 'route') {
28
+ const seqDiagElement = document.getElementById('sequence-diagram');
29
+ if (seqDiagElement && seqDiagElement.offsetParent !== null) {
30
+ try {
31
+ await this.diagramGenerator.update();
32
+ }
33
+ catch (error) {
34
+ console.error("Error updating sequence diagram:", error);
35
+ const errorP = document.createElement('p');
36
+ errorP.className = 'haibun-artifact-error';
37
+ errorP.textContent = `Error updating sequence diagram: ${error.message}`;
38
+ container.appendChild(errorP);
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=JsonArtifactHTTPTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonArtifactHTTPTrace.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/JsonArtifactHTTPTrace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAKnC;IAJb,eAAe,CAA6B;IACrD,gBAAgB,CAA2B;IAC3C,EAAE,CAAS;IAEX,YAAsB,QAA4B;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADK,aAAQ,GAAR,QAAQ,CAAoB;QAEjD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,CAAC;IAEM,WAAW;QACjB,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAsB;QACzC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACxD,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACnE,IAAI,cAAc,IAAI,cAAc,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACtC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC3C,MAAM,CAAC,SAAS,GAAG,uBAAuB,CAAC;oBAC3C,MAAM,CAAC,WAAW,GAAG,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC;oBACpF,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,22 @@
1
+ import { TArtifactHTTPTrace, THTTPTraceContent } from '@haibun/core/build/lib/interfaces/logger.js';
2
+ export declare class SequenceDiagramGenerator {
3
+ private needsUpdate;
4
+ private diagramLines;
5
+ private pageNames;
6
+ private pageCounter;
7
+ private participantAdded;
8
+ private addParticipant;
9
+ processEvent(trace: THTTPTraceContent, httpEvent: TArtifactHTTPTrace['httpEvent'], filters?: {
10
+ request: {
11
+ method: string[];
12
+ accept: string[];
13
+ };
14
+ response: {
15
+ type: string[];
16
+ };
17
+ }): void;
18
+ getDiagram(): string;
19
+ update(): Promise<void>;
20
+ }
21
+ export declare function skipEvent(filters: any, httpEvent: any, serverName: any, { requestingPage, requestingURL, method, status, statusText, headers }: THTTPTraceContent): boolean;
22
+ //# sourceMappingURL=MermaidDiagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/MermaidDiagram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AA0BpG,qBAAa,wBAAwB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAA+B;IAGvD,OAAO,CAAC,cAAc;IAOf,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,OAAO;;;;;;;;KAAc,GAAG,IAAI;IAwF/G,UAAU,IAAI,MAAM;IAGd,MAAM;CAsCnB;AACD,wBAAgB,SAAS,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,UAAU,KAAA,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,iBAAiB,WAkClJ"}
@@ -0,0 +1,199 @@
1
+ import mermaid from 'mermaid';
2
+ import { shortenURI } from '@haibun/core/build/lib/util/index.js';
3
+ // Helper function for sanitization
4
+ const sanitizeMermaidContent = (message) => {
5
+ let sanitized = message.replace(/"/g, "'"); // Replace double quotes
6
+ // IMPORTANT: Escape semicolon FIRST to avoid breaking other entities
7
+ sanitized = sanitized.replace(/;/g, '#59;');
8
+ sanitized = sanitized.replace(/\(/g, '#40;');
9
+ sanitized = sanitized.replace(/\)/g, '#41;');
10
+ sanitized = sanitized.replace(/,/g, '#44;');
11
+ return sanitized;
12
+ };
13
+ const jsonFilters = {
14
+ request: {
15
+ method: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],
16
+ accept: ['application/json'],
17
+ },
18
+ response: {
19
+ type: ['application/json'],
20
+ },
21
+ };
22
+ export class SequenceDiagramGenerator {
23
+ needsUpdate = false;
24
+ diagramLines = ['sequenceDiagram']; // Initialize with diagram type
25
+ pageNames = {};
26
+ pageCounter = 1;
27
+ participantAdded = {}; // Track added participants
28
+ // Add participant declaration if not already added
29
+ addParticipant(alias, name) {
30
+ if (!this.participantAdded[alias]) {
31
+ this.diagramLines.splice(1, 0, `participant ${alias} as ${name}`); // Insert after 'sequenceDiagram'
32
+ this.participantAdded[alias] = true;
33
+ }
34
+ }
35
+ processEvent(trace, httpEvent, filters = jsonFilters) {
36
+ this.needsUpdate = true; // Set flag immediately
37
+ const requestingPage = trace.requestingPage;
38
+ const requestingURL = trace.requestingURL;
39
+ const method = trace.method;
40
+ const status = trace.status;
41
+ const statusText = trace.statusText;
42
+ const headers = trace.headers;
43
+ // Use URL hostname as the server participant
44
+ let serverAlias = 'UnknownAlias'; // Default if URL is missing
45
+ let serverName = 'Unknown';
46
+ if (requestingURL) {
47
+ try {
48
+ const url = new URL(requestingURL);
49
+ serverName = url.hostname;
50
+ // Handle empty hostname (e.g., for about:blank)
51
+ if (serverName) {
52
+ serverAlias = serverName.replace(/[.-]/g, '');
53
+ if (!serverAlias) {
54
+ serverAlias = 'HostAlias'; // Fallback alias if replacement results in empty string
55
+ }
56
+ }
57
+ }
58
+ catch (e) {
59
+ serverAlias = 'InvalidURLAlias';
60
+ }
61
+ }
62
+ this.addParticipant(serverAlias, serverName);
63
+ if (skipEvent(filters, httpEvent, serverName, trace)) {
64
+ return;
65
+ }
66
+ if (requestingPage && requestingURL) {
67
+ let pageAlias = this.pageNames[requestingPage];
68
+ if (!pageAlias) {
69
+ let pageName = `Browser Page ${this.pageCounter}`;
70
+ let baseAlias = '';
71
+ try {
72
+ // Try to get hostname from the current URL for a better name
73
+ const url = new URL(requestingURL);
74
+ const hostname = url.hostname;
75
+ if (hostname && requestingURL !== 'about:blank') {
76
+ baseAlias = hostname.replace(/[.-]/g, '');
77
+ if (!baseAlias)
78
+ baseAlias = 'Host'; // Fallback if hostname becomes empty
79
+ pageName = `${hostname} ${this.pageCounter}`;
80
+ }
81
+ else {
82
+ // Fallback for about:blank or empty hostname
83
+ baseAlias = 'Page';
84
+ }
85
+ }
86
+ catch (e) {
87
+ // Fallback for invalid URL
88
+ baseAlias = 'Page';
89
+ }
90
+ // Ensure unique alias by appending counter
91
+ pageAlias = `${baseAlias}${this.pageCounter}`;
92
+ this.pageNames[requestingPage] = pageAlias;
93
+ this.addParticipant(pageAlias, pageName);
94
+ this.pageCounter++;
95
+ }
96
+ if (method) {
97
+ const message = sanitizeMermaidContent(`${method} ${shortenURI(requestingURL)}`);
98
+ this.diagramLines.push(`${pageAlias}->>${serverAlias}: ${message}`);
99
+ if (headers && headers.referer) {
100
+ const note = shortenURI(sanitizeMermaidContent(`Referer: ${headers.referer}`));
101
+ this.diagramLines.push(`Note right of ${pageAlias}: ${note}`);
102
+ }
103
+ if (headers && headers["accept"]) {
104
+ const note = sanitizeMermaidContent(`Accept: ${headers["accept"]}`);
105
+ this.diagramLines.push(`Note right of ${pageAlias}: ${note}`);
106
+ }
107
+ if (headers && headers["content-type"]) {
108
+ const note = sanitizeMermaidContent(`Content-type: ${headers['content-type']}`);
109
+ this.diagramLines.push(`Note right of ${pageAlias}: ${note}`);
110
+ }
111
+ }
112
+ if (status) {
113
+ // Sanitize response message
114
+ const message = sanitizeMermaidContent(`${status} ${statusText || ''}`);
115
+ this.diagramLines.push(`${serverAlias}-->>${pageAlias}: ${message}`);
116
+ }
117
+ }
118
+ // this.needsUpdate = true; // Moved to the beginning
119
+ }
120
+ getDiagram() {
121
+ return this.diagramLines.join("\n");
122
+ }
123
+ async update() {
124
+ // Only update the DOM and render if necessary
125
+ if (!this.needsUpdate) {
126
+ return;
127
+ }
128
+ const mermaidContainer = document.getElementById('sequence-diagram');
129
+ if (mermaidContainer) {
130
+ let diagramDefinition = ''; // Declare outside try
131
+ try {
132
+ diagramDefinition = this.getDiagram(); // Assign inside try
133
+ mermaid.initialize({ maxTextSize: 900000 });
134
+ // Ensure container is empty before rendering
135
+ mermaidContainer.innerHTML = '';
136
+ // Insert the diagram definition for Mermaid to process
137
+ const insert = `<pre class="mermaid">${diagramDefinition}</pre>`;
138
+ mermaidContainer.insertAdjacentHTML('beforeend', insert);
139
+ await mermaid.run({ nodes: [mermaidContainer.querySelector('.mermaid')] });
140
+ console.log("Mermaid diagram rendered.");
141
+ this.needsUpdate = false; // Reset flag only after successful render
142
+ }
143
+ catch (e) {
144
+ console.error("Failed Mermaid diagram definition:\n", diagramDefinition); // Log failing definition
145
+ console.error("Error rendering Mermaid diagram:", e);
146
+ const detailedError = (typeof e === 'object' && e !== null && 'str' in e) ? e.str : null;
147
+ const errorMessage = detailedError || (e instanceof Error ? e.message : String(e));
148
+ mermaidContainer.innerHTML = `<pre>Error rendering Mermaid diagram:\n\n${errorMessage}\n\n--- Diagram Definition ---\n${diagramDefinition}</pre>`;
149
+ // Optionally reset needsUpdate here too, or leave it true to retry later? Resetting for now.
150
+ this.needsUpdate = false;
151
+ }
152
+ }
153
+ else {
154
+ console.warn("Sequence diagram container not found.");
155
+ // Reset flag even if container not found to avoid repeated attempts
156
+ this.needsUpdate = false;
157
+ }
158
+ }
159
+ }
160
+ export function skipEvent(filters, httpEvent, serverName, { requestingPage, requestingURL, method, status, statusText, headers }) {
161
+ if (!serverName) {
162
+ // console.info('No server name found, skipping result.');
163
+ return true;
164
+ }
165
+ if (requestingURL === 'about:blank') {
166
+ // console.info('Requesting URL is about:blank, skipping result.');
167
+ return true;
168
+ }
169
+ if (httpEvent === 'request') {
170
+ if (headers && headers.accept) {
171
+ const acceptHeader = headers.accept;
172
+ if (!filters.request.accept.some(filterValue => acceptHeader.includes(filterValue))) {
173
+ // console.info('qx', acceptHeader, filters.request.accept);
174
+ return true;
175
+ }
176
+ else {
177
+ // console.info('qY', acceptHeader, filters.request.accept);
178
+ }
179
+ }
180
+ }
181
+ else if (httpEvent === 'response') {
182
+ if (headers && headers['content-type']) {
183
+ const contentTypeHeader = headers['content-type'];
184
+ if (!filters.response.type.some(filterValue => contentTypeHeader.includes(filterValue))) {
185
+ // console.info('px', contentTypeHeader);
186
+ return true;
187
+ }
188
+ else {
189
+ // console.info('pY', contentTypeHeader);
190
+ }
191
+ }
192
+ }
193
+ else {
194
+ console.warn(`Unknown HTTP event type: ${httpEvent}`);
195
+ return true;
196
+ }
197
+ return false;
198
+ }
199
+ //# sourceMappingURL=MermaidDiagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidDiagram.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/MermaidDiagram.ts"],"names":[],"mappings":"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"}