@haibun/web-playwright 1.73.0 → 1.74.1

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 (131) hide show
  1. package/build/cycles.d.ts.map +1 -1
  2. package/build/cycles.js +14 -0
  3. package/build/cycles.js.map +1 -1
  4. package/build/domains.d.ts +4 -0
  5. package/build/domains.d.ts.map +1 -0
  6. package/build/domains.js +13 -0
  7. package/build/domains.js.map +1 -0
  8. package/build/interactionSteps.d.ts +2 -187
  9. package/build/interactionSteps.d.ts.map +1 -1
  10. package/build/interactionSteps.js +101 -126
  11. package/build/interactionSteps.js.map +1 -1
  12. package/build/monitor/MonitorHandler.d.ts +2 -1
  13. package/build/monitor/MonitorHandler.d.ts.map +1 -1
  14. package/build/monitor/MonitorHandler.js +20 -15
  15. package/build/monitor/MonitorHandler.js.map +1 -1
  16. package/build/monitor/controls.d.ts.map +1 -1
  17. package/build/monitor/controls.js +6 -0
  18. package/build/monitor/controls.js.map +1 -1
  19. package/build/monitor/graph/generateMermaidGraph.d.ts.map +1 -1
  20. package/build/monitor/graph/generateMermaidGraph.js +29 -54
  21. package/build/monitor/graph/generateMermaidGraph.js.map +1 -1
  22. package/build/rest-playwright.d.ts +58 -18
  23. package/build/rest-playwright.d.ts.map +1 -1
  24. package/build/rest-playwright.js +40 -57
  25. package/build/rest-playwright.js.map +1 -1
  26. package/build/twin-page.d.ts +24 -0
  27. package/build/twin-page.d.ts.map +1 -0
  28. package/build/twin-page.js +158 -0
  29. package/build/twin-page.js.map +1 -0
  30. package/build/web-playwright.d.ts +75 -205
  31. package/build/web-playwright.d.ts.map +1 -1
  32. package/build/web-playwright.js +27 -14
  33. package/build/web-playwright.js.map +1 -1
  34. package/package.json +4 -3
  35. package/web/monitor.html +191 -190
  36. package/build/monitor/LogEntry.d.ts +0 -4
  37. package/build/monitor/LogEntry.d.ts.map +0 -1
  38. package/build/monitor/LogEntry.js +0 -4
  39. package/build/monitor/LogEntry.js.map +0 -1
  40. package/build/monitor/artifactDisplayBase.d.ts +0 -2
  41. package/build/monitor/artifactDisplayBase.d.ts.map +0 -1
  42. package/build/monitor/artifactDisplayBase.js +0 -2
  43. package/build/monitor/artifactDisplayBase.js.map +0 -1
  44. package/build/monitor/artifactDisplays/MermaidDiagram.d.ts +0 -22
  45. package/build/monitor/artifactDisplays/MermaidDiagram.d.ts.map +0 -1
  46. package/build/monitor/artifactDisplays/MermaidDiagram.js +0 -199
  47. package/build/monitor/artifactDisplays/MermaidDiagram.js.map +0 -1
  48. package/build/monitor/artifactDisplays/htmlArtifactDisplay.d.ts +0 -9
  49. package/build/monitor/artifactDisplays/htmlArtifactDisplay.d.ts.map +0 -1
  50. package/build/monitor/artifactDisplays/htmlArtifactDisplay.js +0 -31
  51. package/build/monitor/artifactDisplays/htmlArtifactDisplay.js.map +0 -1
  52. package/build/monitor/artifactDisplays/imageArtifactDisplay.d.ts +0 -9
  53. package/build/monitor/artifactDisplays/imageArtifactDisplay.d.ts.map +0 -1
  54. package/build/monitor/artifactDisplays/imageArtifactDisplay.js +0 -17
  55. package/build/monitor/artifactDisplays/imageArtifactDisplay.js.map +0 -1
  56. package/build/monitor/artifactDisplays/jsonArtifactDisplay.d.ts +0 -9
  57. package/build/monitor/artifactDisplays/jsonArtifactDisplay.d.ts.map +0 -1
  58. package/build/monitor/artifactDisplays/jsonArtifactDisplay.js +0 -18
  59. package/build/monitor/artifactDisplays/jsonArtifactDisplay.js.map +0 -1
  60. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.d.ts +0 -14
  61. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.d.ts.map +0 -1
  62. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.js +0 -72
  63. package/build/monitor/artifactDisplays/jsonArtifactHTTPTrace.js.map +0 -1
  64. package/build/monitor/artifactDisplays/mermaidDiagram.d.ts +0 -22
  65. package/build/monitor/artifactDisplays/mermaidDiagram.d.ts.map +0 -1
  66. package/build/monitor/artifactDisplays/mermaidDiagram.js +0 -199
  67. package/build/monitor/artifactDisplays/mermaidDiagram.js.map +0 -1
  68. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.d.ts +0 -9
  69. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.d.ts.map +0 -1
  70. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.js +0 -36
  71. package/build/monitor/artifactDisplays/resolvedFeaturesArtifactDisplay.js.map +0 -1
  72. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.d.ts +0 -32
  73. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.d.ts.map +0 -1
  74. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.js +0 -299
  75. package/build/monitor/artifactDisplays/sequenceDiagramGenerator.js.map +0 -1
  76. package/build/monitor/artifactDisplays/speechArtifactDisplay.d.ts +0 -9
  77. package/build/monitor/artifactDisplays/speechArtifactDisplay.d.ts.map +0 -1
  78. package/build/monitor/artifactDisplays/speechArtifactDisplay.js +0 -38
  79. package/build/monitor/artifactDisplays/speechArtifactDisplay.js.map +0 -1
  80. package/build/monitor/artifactDisplays/videoArtifactDisplay.d.ts +0 -9
  81. package/build/monitor/artifactDisplays/videoArtifactDisplay.d.ts.map +0 -1
  82. package/build/monitor/artifactDisplays/videoArtifactDisplay.js +0 -22
  83. package/build/monitor/artifactDisplays/videoArtifactDisplay.js.map +0 -1
  84. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.d.ts +0 -9
  85. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.d.ts.map +0 -1
  86. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.js +0 -30
  87. package/build/monitor/artifactDisplays/videoStartArtifactDisplay.js.map +0 -1
  88. package/build/monitor/htmlArtifactDisplay.d.ts +0 -2
  89. package/build/monitor/htmlArtifactDisplay.d.ts.map +0 -1
  90. package/build/monitor/htmlArtifactDisplay.js +0 -2
  91. package/build/monitor/htmlArtifactDisplay.js.map +0 -1
  92. package/build/monitor/imageArtifactDisplay.d.ts +0 -2
  93. package/build/monitor/imageArtifactDisplay.d.ts.map +0 -1
  94. package/build/monitor/imageArtifactDisplay.js +0 -2
  95. package/build/monitor/imageArtifactDisplay.js.map +0 -1
  96. package/build/monitor/jsonArtifactDisplay.d.ts +0 -2
  97. package/build/monitor/jsonArtifactDisplay.d.ts.map +0 -1
  98. package/build/monitor/jsonArtifactDisplay.js +0 -2
  99. package/build/monitor/jsonArtifactDisplay.js.map +0 -1
  100. package/build/monitor/jsonArtifactHTTPTrace.d.ts +0 -2
  101. package/build/monitor/jsonArtifactHTTPTrace.d.ts.map +0 -1
  102. package/build/monitor/jsonArtifactHTTPTrace.js +0 -2
  103. package/build/monitor/jsonArtifactHTTPTrace.js.map +0 -1
  104. package/build/monitor/mermaidDiagram.d.ts +0 -22
  105. package/build/monitor/mermaidDiagram.d.ts.map +0 -1
  106. package/build/monitor/mermaidDiagram.js +0 -199
  107. package/build/monitor/mermaidDiagram.js.map +0 -1
  108. package/build/monitor/resolvedFeaturesArtifactDisplay.d.ts +0 -2
  109. package/build/monitor/resolvedFeaturesArtifactDisplay.d.ts.map +0 -1
  110. package/build/monitor/resolvedFeaturesArtifactDisplay.js +0 -2
  111. package/build/monitor/resolvedFeaturesArtifactDisplay.js.map +0 -1
  112. package/build/monitor/sequenceDiagramGenerator.d.ts +0 -32
  113. package/build/monitor/sequenceDiagramGenerator.d.ts.map +0 -1
  114. package/build/monitor/sequenceDiagramGenerator.js +0 -299
  115. package/build/monitor/sequenceDiagramGenerator.js.map +0 -1
  116. package/build/monitor/speechArtifactDisplay.d.ts +0 -2
  117. package/build/monitor/speechArtifactDisplay.d.ts.map +0 -1
  118. package/build/monitor/speechArtifactDisplay.js +0 -2
  119. package/build/monitor/speechArtifactDisplay.js.map +0 -1
  120. package/build/monitor/videoArtifactDisplay.d.ts +0 -2
  121. package/build/monitor/videoArtifactDisplay.d.ts.map +0 -1
  122. package/build/monitor/videoArtifactDisplay.js +0 -2
  123. package/build/monitor/videoArtifactDisplay.js.map +0 -1
  124. package/build/monitor/videoStartArtifactDisplay.d.ts +0 -2
  125. package/build/monitor/videoStartArtifactDisplay.d.ts.map +0 -1
  126. package/build/monitor/videoStartArtifactDisplay.js +0 -2
  127. package/build/monitor/videoStartArtifactDisplay.js.map +0 -1
  128. package/build/test-constants.d.ts +0 -7
  129. package/build/test-constants.d.ts.map +0 -1
  130. package/build/test-constants.js +0 -11
  131. package/build/test-constants.js.map +0 -1
@@ -1,4 +0,0 @@
1
- import { LogComponent } from './messages.js';
2
- export declare class LogEntry extends LogComponent {
3
- }
4
- //# sourceMappingURL=LogEntry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogEntry.d.ts","sourceRoot":"","sources":["../../src/monitor/LogEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAA2D,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtG,qBAAa,QAAS,SAAQ,YAAY;CAEzC"}
@@ -1,4 +0,0 @@
1
- import { LogComponent } from './messages.js';
2
- export class LogEntry extends LogComponent {
3
- }
4
- //# sourceMappingURL=LogEntry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogEntry.js","sourceRoot":"","sources":["../../src/monitor/LogEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAA2D,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtG,MAAM,OAAO,QAAS,SAAQ,YAAY;CAEzC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=artifactDisplayBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifactDisplayBase.d.ts","sourceRoot":"","sources":["../../src/monitor/artifactDisplayBase.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=artifactDisplayBase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifactDisplayBase.js","sourceRoot":"","sources":["../../src/monitor/artifactDisplayBase.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,199 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"MermaidDiagram.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/MermaidDiagram.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,31 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,17 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,14 +0,0 @@
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-sequence-diagram';
7
- private static generatorInstance;
8
- private static sequenceDiagramParentElement;
9
- constructor(artifact: TArtifactHTTPTrace);
10
- get diagramGenerator(): SequenceDiagramGenerator | null;
11
- deriveLabel(): string;
12
- render(container: HTMLElement): Promise<void>;
13
- }
14
- //# sourceMappingURL=jsonArtifactHTTPTrace.d.ts.map
@@ -1 +0,0 @@
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;IAK1C,SAAS,CAAC,QAAQ,EAAE,kBAAkB;IAJlD,QAAQ,CAAC,eAAe,EAAE,SAAS,GAAG,yBAAyB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAyC;IACzE,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAA4B;gBAEjD,QAAQ,EAAE,kBAAkB;IAoBlD,IAAW,gBAAgB,IAAI,wBAAwB,GAAG,IAAI,CAE7D;IAEM,WAAW,IAAI,MAAM;IAIf,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAqC7D"}
@@ -1,72 +0,0 @@
1
- import { ArtifactDisplay } from './artifactDisplayBase.js';
2
- import { disclosureJson } from '../disclosureJson.js';
3
- import { SequenceDiagramGenerator } from './sequenceDiagramGenerator.js'; // Import the actual type
4
- export class JsonArtifactHTTPTrace extends ArtifactDisplay {
5
- artifact;
6
- placementTarget;
7
- static generatorInstance = null;
8
- static sequenceDiagramParentElement = null;
9
- constructor(artifact) {
10
- super(artifact); // type is 'json/http/trace' by default
11
- this.artifact = artifact;
12
- this.placementTarget = document.querySelector('#sequence-diagram') ? 'haibun-sequence-diagram' : 'details';
13
- if (!JsonArtifactHTTPTrace.sequenceDiagramParentElement) {
14
- JsonArtifactHTTPTrace.sequenceDiagramParentElement = document.getElementById('sequence-diagram');
15
- }
16
- if (this.placementTarget === 'haibun-sequence-diagram' && JsonArtifactHTTPTrace.sequenceDiagramParentElement && !JsonArtifactHTTPTrace.generatorInstance) {
17
- try {
18
- // Use a fixed ID for the generator, as there's one sequence diagram display area
19
- JsonArtifactHTTPTrace.generatorInstance = new SequenceDiagramGenerator('main-sequence', JsonArtifactHTTPTrace.sequenceDiagramParentElement);
20
- }
21
- catch (error) {
22
- console.error("Failed to initialize SequenceDiagramGenerator:", error);
23
- // Potentially fall back to 'details' if generator fails to init, or handle error appropriately
24
- // For now, we'll let it proceed, and render will show an error if generator is null.
25
- }
26
- }
27
- }
28
- get diagramGenerator() {
29
- return JsonArtifactHTTPTrace.generatorInstance;
30
- }
31
- deriveLabel() {
32
- return '⇄ Trace';
33
- }
34
- async render(container) {
35
- // Clear placeholder
36
- container.innerHTML = '';
37
- // Always append the JSON details for the current event to the container
38
- const preElement = document.createElement('pre');
39
- preElement.classList.add('haibun-message-details-json'); // Keep this class for styling JSON
40
- preElement.appendChild(disclosureJson(this.artifact.trace));
41
- container.appendChild(preElement);
42
- // Update sequence diagram if it's the target and visible
43
- // The sequence diagram itself is a separate element in the DOM, not inside this container.
44
- if (this.placementTarget === 'haibun-sequence-diagram' && this.diagramGenerator) {
45
- if (this.artifact.httpEvent !== 'route') {
46
- const seqDiagElement = document.getElementById('sequence-diagram');
47
- // Check if the sequence diagram element is actually visible in the layout
48
- if (seqDiagElement && seqDiagElement.offsetParent !== null) {
49
- try {
50
- await this.diagramGenerator.update();
51
- }
52
- catch (error) {
53
- console.error("Error updating sequence diagram:", error);
54
- // Optionally display an error within the trace container as well
55
- const errorP = document.createElement('p');
56
- errorP.className = 'haibun-artifact-error';
57
- errorP.textContent = `Error updating sequence diagram: ${error.message}`;
58
- container.appendChild(errorP);
59
- }
60
- }
61
- }
62
- }
63
- else if (!this.diagramGenerator) {
64
- console.error("SequenceDiagramGenerator instance not available for JsonArtifactHTTPTrace");
65
- const errorP = document.createElement('p');
66
- errorP.className = 'haibun-artifact-error';
67
- errorP.textContent = 'Sequence diagram generator not available.';
68
- container.appendChild(errorP);
69
- }
70
- }
71
- }
72
- //# sourceMappingURL=jsonArtifactHTTPTrace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonArtifactHTTPTrace.js","sourceRoot":"","sources":["../../../src/monitor/artifactDisplays/jsonArtifactHTTPTrace.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
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
@@ -1 +0,0 @@
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"}