@superblocksteam/vite-plugin-file-sync 2.0.72-next.8 → 2.0.73-next.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 (151) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +4 -1
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -1
  5. package/dist/ai-service/agent/subagents/testing/prompt-builder.js +99 -4
  6. package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/testing/types.d.ts +20 -0
  8. package/dist/ai-service/agent/subagents/testing/types.d.ts.map +1 -1
  9. package/dist/ai-service/agent/tools/apis/api-source.d.ts +1 -1
  10. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/api-source.js +37 -9
  12. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -1
  13. package/dist/ai-service/agent/tools/build-reload-file.d.ts +5 -2
  14. package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools/build-reload-file.js +4 -3
  16. package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
  17. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  18. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  19. package/dist/ai-service/agent/tools/index.js +1 -0
  20. package/dist/ai-service/agent/tools/index.js.map +1 -1
  21. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  22. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/integrations/internal.js +8 -1
  24. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  25. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools.js +37 -4
  27. package/dist/ai-service/agent/tools.js.map +1 -1
  28. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +0 -1
  29. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +1 -6
  31. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  32. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools2/tools/end-test-run.js +2 -0
  34. package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -1
  35. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  37. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +58 -195
  38. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  39. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +15 -0
  40. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts.map +1 -0
  41. package/dist/ai-service/agent/tools2/tools/list-attachments.js +47 -0
  42. package/dist/ai-service/agent/tools2/tools/list-attachments.js.map +1 -0
  43. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools2/tools/start-test-run.js +92 -10
  45. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
  46. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +2 -2
  47. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +21 -2
  49. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -1
  50. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  51. package/dist/ai-service/agent/utils.js +46 -2
  52. package/dist/ai-service/agent/utils.js.map +1 -1
  53. package/dist/ai-service/attachments/index.d.ts +2 -0
  54. package/dist/ai-service/attachments/index.d.ts.map +1 -0
  55. package/dist/ai-service/attachments/index.js +2 -0
  56. package/dist/ai-service/attachments/index.js.map +1 -0
  57. package/dist/ai-service/attachments/store.d.ts +65 -0
  58. package/dist/ai-service/attachments/store.d.ts.map +1 -0
  59. package/dist/ai-service/attachments/store.js +158 -0
  60. package/dist/ai-service/attachments/store.js.map +1 -0
  61. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  62. package/dist/ai-service/chat/chat-session-store.js +11 -0
  63. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  64. package/dist/ai-service/context-download.d.ts +24 -0
  65. package/dist/ai-service/context-download.d.ts.map +1 -0
  66. package/dist/ai-service/context-download.js +127 -0
  67. package/dist/ai-service/context-download.js.map +1 -0
  68. package/dist/ai-service/context-upload.d.ts +17 -0
  69. package/dist/ai-service/context-upload.d.ts.map +1 -0
  70. package/dist/ai-service/context-upload.js +100 -0
  71. package/dist/ai-service/context-upload.js.map +1 -0
  72. package/dist/ai-service/index.d.ts +27 -3
  73. package/dist/ai-service/index.d.ts.map +1 -1
  74. package/dist/ai-service/index.js +252 -12
  75. package/dist/ai-service/index.js.map +1 -1
  76. package/dist/ai-service/llm/context/context.d.ts +4 -0
  77. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  78. package/dist/ai-service/llm/context/context.js +10 -0
  79. package/dist/ai-service/llm/context/context.js.map +1 -1
  80. package/dist/ai-service/llm/context/manager.d.ts +5 -0
  81. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  82. package/dist/ai-service/llm/context/manager.js +8 -0
  83. package/dist/ai-service/llm/context/manager.js.map +1 -1
  84. package/dist/ai-service/llm/context/serialization.d.ts +3 -0
  85. package/dist/ai-service/llm/context/serialization.d.ts.map +1 -1
  86. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
  87. package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -4
  88. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
  89. package/dist/ai-service/llm/stream/config.d.ts +2 -0
  90. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  91. package/dist/ai-service/llm/stream/config.js +1 -0
  92. package/dist/ai-service/llm/stream/config.js.map +1 -1
  93. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  94. package/dist/ai-service/llm/stream/orchestrator.js +1 -1
  95. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  96. package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -0
  97. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  98. package/dist/ai-service/llm/stream/retry-engine.js +20 -1
  99. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  100. package/dist/ai-service/llm/stream/session.d.ts +2 -0
  101. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  102. package/dist/ai-service/llm/stream/session.js +6 -2
  103. package/dist/ai-service/llm/stream/session.js.map +1 -1
  104. package/dist/ai-service/llmobs/otel-exporter.d.ts +58 -0
  105. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -0
  106. package/dist/ai-service/llmobs/otel-exporter.js +182 -0
  107. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -0
  108. package/dist/ai-service/llmobs/tracer.d.ts +9 -0
  109. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  110. package/dist/ai-service/llmobs/tracer.js +46 -2
  111. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  112. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts +17 -0
  113. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
  114. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +329 -7
  115. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
  116. package/dist/ai-service/mcp/playwright-server.d.ts +29 -0
  117. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  118. package/dist/ai-service/mcp/playwright-server.js +53 -0
  119. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  120. package/dist/ai-service/state-machine/clark-fsm.d.ts +3 -1
  121. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  122. package/dist/ai-service/state-machine/clark-fsm.js +1 -0
  123. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  124. package/dist/ai-service/state-machine/fsm.d.ts.map +1 -1
  125. package/dist/ai-service/state-machine/fsm.js +1 -0
  126. package/dist/ai-service/state-machine/fsm.js.map +1 -1
  127. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  128. package/dist/ai-service/state-machine/handlers/agent-planning.js +42 -1
  129. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  130. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  131. package/dist/ai-service/state-machine/handlers/awaiting-user.js +9 -0
  132. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  133. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  134. package/dist/ai-service/state-machine/handlers/llm-generating.js +43 -16
  135. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  136. package/dist/ai-service/state-machine/helpers/peer.d.ts +1 -1
  137. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  138. package/dist/ai-service/state-machine/helpers/peer.js +21 -4
  139. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  140. package/dist/ai-service/util/scoped-token-utils.d.ts +15 -0
  141. package/dist/ai-service/util/scoped-token-utils.d.ts.map +1 -0
  142. package/dist/ai-service/util/scoped-token-utils.js +131 -0
  143. package/dist/ai-service/util/scoped-token-utils.js.map +1 -0
  144. package/dist/file-sync-vite-plugin.js +3 -3
  145. package/dist/file-sync-vite-plugin.js.map +1 -1
  146. package/dist/server-rpc/index.js +1 -1
  147. package/dist/server-rpc/index.js.map +1 -1
  148. package/dist/socket-manager.d.ts.map +1 -1
  149. package/dist/socket-manager.js +61 -4
  150. package/dist/socket-manager.js.map +1 -1
  151. package/package.json +6 -6
@@ -1,8 +1,15 @@
1
1
  import type { Logger } from "../../util/logger.js";
2
+ import type { InteractiveElement } from "../agent/subagents/testing/types.js";
3
+ import type { FileArtifact } from "../types.js";
2
4
  import type { BootstrapData, InitData } from "@superblocksteam/library-shared/types";
5
+ export type { InteractiveElement } from "../agent/subagents/testing/types.js";
3
6
  export interface EmbeddedPlaywrightMcpServer {
4
7
  url: string;
5
8
  close: () => Promise<void>;
9
+ /** Save the current action log and reset for a new session */
10
+ flushLog: () => Promise<void>;
11
+ /** Capture interactive elements from the current page for DOM context */
12
+ captureInteractiveElements: () => Promise<InteractiveElement[]>;
6
13
  }
7
14
  export interface EmbeddedPlaywrightMcpServerOptions {
8
15
  /**
@@ -63,6 +70,16 @@ export interface EmbeddedPlaywrightMcpServerOptions {
63
70
  * Logger to use for logging messages.
64
71
  */
65
72
  logger: Logger;
73
+ /**
74
+ * Optional function to save log artifacts.
75
+ * When provided, Playwright action logs will be saved as .log files.
76
+ */
77
+ saveArtifact?: (artifact: FileArtifact, stepId: string, runTimestamp: string) => Promise<void>;
78
+ /**
79
+ * Optional run timestamp for log file organization.
80
+ * Defaults to current ISO timestamp.
81
+ */
82
+ runTimestamp?: string;
66
83
  }
67
84
  export declare function startEmbeddedPlaywrightMcpServer(options: EmbeddedPlaywrightMcpServerOptions): Promise<EmbeddedPlaywrightMcpServer>;
68
85
  //# sourceMappingURL=embedded-playwright-mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-playwright-mcp-server.d.ts","sourceRoot":"","sources":["../../../src/ai-service/mcp/embedded-playwright-mcp-server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,uCAAuC,CAAC;AA+B/C,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AA4BD,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,GAAG,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/C,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,cAAc,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,2BAA2B,CAAC,CA+gBtC"}
1
+ {"version":3,"file":"embedded-playwright-mcp-server.d.ts","sourceRoot":"","sources":["../../../src/ai-service/mcp/embedded-playwright-mcp-server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,uCAAuC,CAAC;AAgP/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,yEAAyE;IACzE,0BAA0B,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACjE;AA6BD,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,GAAG,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/C,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,cAAc,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,2BAA2B,CAAC,CA+lBtC"}
@@ -2,6 +2,162 @@ import { once } from "node:events";
2
2
  import fs from "node:fs";
3
3
  import http from "node:http";
4
4
  import { chromium, firefox, webkit, } from "playwright";
5
+ /**
6
+ * Playwright action logger that captures browser actions and saves them as log artifacts.
7
+ */
8
+ class PlaywrightActionLogger {
9
+ logContent = "";
10
+ sessionId;
11
+ startTime;
12
+ actionCount = 0;
13
+ saveArtifact;
14
+ runTimestamp;
15
+ logger;
16
+ constructor(options) {
17
+ this.sessionId = options.sessionId;
18
+ this.startTime = Date.now();
19
+ this.saveArtifact = options.saveArtifact;
20
+ this.runTimestamp = options.runTimestamp || new Date().toISOString();
21
+ this.logger = options.logger;
22
+ this.logContent += this.formatSection("PLAYWRIGHT SESSION START") + "\n";
23
+ this.logContent += `Session ID: ${this.sessionId}\n`;
24
+ this.logContent += `Timestamp: ${new Date().toISOString()}\n\n`;
25
+ }
26
+ formatSection(title) {
27
+ const prefix = `------ ${title} `;
28
+ const remaining = Math.max(0, 72 - prefix.length);
29
+ return prefix + "-".repeat(remaining);
30
+ }
31
+ truncateString(s, maxBytes) {
32
+ if (s.length <= maxBytes)
33
+ return s;
34
+ return (s.slice(0, maxBytes) + `\n... [truncated ${s.length - maxBytes} bytes]`);
35
+ }
36
+ /**
37
+ * Log the start of a Playwright action.
38
+ */
39
+ logActionStart(action, params) {
40
+ this.actionCount++;
41
+ const timestamp = new Date().toISOString();
42
+ this.logContent += `ACTION #${this.actionCount}: ${action}\n`;
43
+ this.logContent += ` Timestamp: ${timestamp}\n`;
44
+ // Log relevant parameters (exclude screenshot data)
45
+ const logParams = {};
46
+ for (const [key, value] of Object.entries(params)) {
47
+ if (key === "screenshot" || key === "data")
48
+ continue;
49
+ logParams[key] = value;
50
+ }
51
+ if (Object.keys(logParams).length > 0) {
52
+ this.logContent += ` Params:\n`;
53
+ for (const [key, value] of Object.entries(logParams)) {
54
+ const valueStr = typeof value === "string"
55
+ ? this.truncateString(value, 200)
56
+ : JSON.stringify(value);
57
+ this.logContent += ` ${key}: ${valueStr}\n`;
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Log the result of a Playwright action.
63
+ */
64
+ logActionResult(result) {
65
+ const success = result.success !== false;
66
+ this.logContent += ` Result: ${success ? "SUCCESS" : "FAILED"}\n`;
67
+ // Log error if present
68
+ if (result.error) {
69
+ this.logContent += ` Error: ${result.error}\n`;
70
+ }
71
+ // Log runtime errors if present
72
+ if (result.runtimeErrors?.length > 0) {
73
+ this.logContent += ` Runtime Errors:\n`;
74
+ for (const err of result.runtimeErrors) {
75
+ this.logContent += ` - ${err.header}\n`;
76
+ if (err.stack) {
77
+ const truncatedStack = this.truncateString(err.stack, 500);
78
+ this.logContent += ` Stack: ${truncatedStack}\n`;
79
+ }
80
+ }
81
+ }
82
+ // Log specific result fields (excluding large data like screenshots)
83
+ const fieldsToLog = ["url", "text", "hasErrors", "errorCount", "count"];
84
+ for (const field of fieldsToLog) {
85
+ if (field in result && result[field] !== undefined) {
86
+ this.logContent += ` ${field}: ${JSON.stringify(result[field])}\n`;
87
+ }
88
+ }
89
+ this.logContent += "\n";
90
+ }
91
+ /**
92
+ * Log console messages from the page.
93
+ */
94
+ logConsoleLogs(logs) {
95
+ if (logs.length === 0)
96
+ return;
97
+ this.logContent += ` Console Logs (${logs.length}):\n`;
98
+ const maxLogs = 20;
99
+ const logsToShow = logs.slice(-maxLogs);
100
+ for (const log of logsToShow) {
101
+ const text = this.truncateString(log.text, 200);
102
+ this.logContent += ` [${log.type}] ${text}\n`;
103
+ }
104
+ if (logs.length > maxLogs) {
105
+ this.logContent += ` ... and ${logs.length - maxLogs} more logs\n`;
106
+ }
107
+ }
108
+ /**
109
+ * Save the log to an artifact file.
110
+ */
111
+ async save() {
112
+ if (!this.saveArtifact) {
113
+ this.logger.debug("[PlaywrightLogger] No saveArtifact function provided, skipping log save");
114
+ return;
115
+ }
116
+ const duration = Date.now() - this.startTime;
117
+ this.logContent += this.formatSection("PLAYWRIGHT SESSION END") + "\n";
118
+ this.logContent += `End Timestamp: ${new Date().toISOString()}\n`;
119
+ this.logContent += `Duration: ${duration}ms\n`;
120
+ this.logContent += `Total Actions: ${this.actionCount}\n`;
121
+ try {
122
+ const artifact = {
123
+ type: "file",
124
+ filePath: `playwright-session-${this.sessionId}.log`,
125
+ content: this.logContent,
126
+ };
127
+ const stepId = `playwright-session-${this.sessionId}`;
128
+ await this.saveArtifact(artifact, stepId, this.runTimestamp);
129
+ this.logger.debug(`[PlaywrightLogger] Saved log artifact: ${artifact.filePath}`);
130
+ }
131
+ catch (error) {
132
+ this.logger.error(`[PlaywrightLogger] Failed to save log: ${String(error)}`);
133
+ }
134
+ }
135
+ /**
136
+ * Save the current log and reset for a new session.
137
+ * Used to save logs after each test run without closing the server.
138
+ */
139
+ async saveAndReset() {
140
+ // Only save if there are actions logged
141
+ if (this.actionCount === 0) {
142
+ this.logger.debug("[PlaywrightLogger] No actions logged, skipping save and reset");
143
+ return;
144
+ }
145
+ await this.save();
146
+ // Reset for next session
147
+ const newSessionId = String(Date.now());
148
+ this.sessionId = newSessionId;
149
+ this.startTime = Date.now();
150
+ this.actionCount = 0;
151
+ this.logContent = "";
152
+ this.logContent += this.formatSection("PLAYWRIGHT SESSION START") + "\n";
153
+ this.logContent += `Session ID: ${this.sessionId}\n`;
154
+ this.logContent += `Timestamp: ${new Date().toISOString()}\n\n`;
155
+ this.logger.debug(`[PlaywrightLogger] Reset for new session: ${newSessionId}`);
156
+ }
157
+ getLogContent() {
158
+ return this.logContent;
159
+ }
160
+ }
5
161
  /** Default viewport dimensions for consistent screenshots */
6
162
  const DEFAULT_VIEWPORT = { width: 1280, height: 800 };
7
163
  const PLAYWRIGHT_ACTIONS = [
@@ -17,10 +173,19 @@ const PLAYWRIGHT_ACTIONS = [
17
173
  "getConsoleLogs",
18
174
  "scroll",
19
175
  "scrollIntoView",
176
+ "checkRuntimeErrors",
20
177
  ];
21
178
  let capturedConsoleLogs = [];
22
179
  export async function startEmbeddedPlaywrightMcpServer(options) {
23
180
  const logger = options.logger;
181
+ // Create action logger for capturing Playwright actions
182
+ const sessionId = String(Date.now());
183
+ const actionLogger = new PlaywrightActionLogger({
184
+ sessionId,
185
+ saveArtifact: options.saveArtifact,
186
+ runTimestamp: options.runTimestamp,
187
+ logger,
188
+ });
24
189
  let browser;
25
190
  let context = null;
26
191
  let shouldCloseBrowser = true;
@@ -426,7 +591,7 @@ export async function startEmbeddedPlaywrightMcpServer(options) {
426
591
  }));
427
592
  return;
428
593
  }
429
- const response = await handleJsonRpcRequest(request, activePage);
594
+ const response = await handleJsonRpcRequest(request, activePage, actionLogger);
430
595
  res.writeHead(200, { "Content-Type": "application/json" });
431
596
  res.end(JSON.stringify(response));
432
597
  }
@@ -450,6 +615,8 @@ export async function startEmbeddedPlaywrightMcpServer(options) {
450
615
  return {
451
616
  url,
452
617
  close: async () => {
618
+ // Save the action log before closing
619
+ await actionLogger.save();
453
620
  await Promise.allSettled([
454
621
  new Promise((resolve, reject) => {
455
622
  server.close((error) => {
@@ -468,6 +635,62 @@ export async function startEmbeddedPlaywrightMcpServer(options) {
468
635
  : Promise.resolve(),
469
636
  ]);
470
637
  },
638
+ flushLog: async () => {
639
+ await actionLogger.saveAndReset();
640
+ },
641
+ captureInteractiveElements: async () => {
642
+ try {
643
+ // Wait for page to be ready
644
+ await page.waitForLoadState("domcontentloaded");
645
+ const elements = await page.evaluate(() => {
646
+ const selector = 'button, a, input, select, textarea, [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="switch"], [role="tab"], [role="menuitem"], [onclick], [data-testid]';
647
+ const nodeList = document.querySelectorAll(selector);
648
+ return Array.from(nodeList)
649
+ .map((el) => {
650
+ const text = el.textContent?.trim().slice(0, 100);
651
+ const id = el.id || undefined;
652
+ const className = el.className || undefined;
653
+ const testId = el.getAttribute("data-testid") || undefined;
654
+ const placeholder = el.getAttribute("placeholder") || undefined;
655
+ const href = el.getAttribute("href") || undefined;
656
+ const type = el.getAttribute("type") || undefined;
657
+ const role = el.getAttribute("role") || undefined;
658
+ const ariaLabel = el.getAttribute("aria-label") || undefined;
659
+ const name = el.getAttribute("name") || undefined;
660
+ const disabled = el.hasAttribute("disabled") ||
661
+ el.getAttribute("aria-disabled") === "true";
662
+ return {
663
+ tag: el.tagName.toLowerCase(),
664
+ text: text || undefined,
665
+ id,
666
+ className: typeof className === "string" ? className : undefined,
667
+ testId,
668
+ placeholder,
669
+ href,
670
+ type,
671
+ role,
672
+ ariaLabel,
673
+ name,
674
+ disabled: disabled || undefined,
675
+ };
676
+ })
677
+ .filter((el) => {
678
+ // Filter out elements with no useful selector info
679
+ return (el.text ||
680
+ el.id ||
681
+ el.testId ||
682
+ el.placeholder ||
683
+ el.ariaLabel ||
684
+ el.name);
685
+ });
686
+ });
687
+ return elements;
688
+ }
689
+ catch (error) {
690
+ logger.warn(`Failed to capture interactive elements: ${String(error)}`);
691
+ return [];
692
+ }
693
+ },
471
694
  };
472
695
  }
473
696
  async function launchBrowser() {
@@ -492,7 +715,7 @@ async function readRequestBody(req) {
492
715
  }
493
716
  return Buffer.concat(chunks).toString("utf-8");
494
717
  }
495
- async function handleJsonRpcRequest(request, page) {
718
+ async function handleJsonRpcRequest(request, page, actionLogger) {
496
719
  const { method, id } = request;
497
720
  try {
498
721
  if (method === "tools/list") {
@@ -518,6 +741,16 @@ ACTIONS:
518
741
  - getConsoleLogs: Get browser console logs. Params: { clear?: boolean }
519
742
  - scroll: Scroll the page. Params: { x?: number, y?: number, deltaX?: number, deltaY?: number }
520
743
  - scrollIntoView: Scroll element into view. Params: { selector: string }
744
+ - checkRuntimeErrors: Explicitly check for component crashes. No params.
745
+
746
+ RUNTIME ERROR DETECTION:
747
+ Actions (navigate, click, fill, evaluate) automatically detect component crashes.
748
+ When a component crashes, the action returns:
749
+ - success: false
750
+ - runtimeErrors: Array of { header: string, stack?: string }
751
+ - error: Summary message
752
+
753
+ If you see runtimeErrors in a response, the test should FAIL. Include the error details in your summary.
521
754
 
522
755
  SELECTOR EXAMPLES:
523
756
  - By testid: [data-testid="login-form"]
@@ -540,7 +773,8 @@ TIPS:
540
773
  1. Use specific selectors: prefer [name="x"] or [placeholder="x"] over generic .class
541
774
  2. If click/fill fails, the element may not be visible - try waitForSelector first
542
775
  3. For dynamic content, use waitForSelector before interacting
543
- 4. Navigate, click, and fill will automatically take a screenshot of the page after the action is performed`,
776
+ 4. Navigate, click, and fill will automatically take a screenshot of the page after the action is performed
777
+ 5. If success is false due to runtimeErrors, FAIL the test and report the error details`,
544
778
  inputSchema: {
545
779
  type: "object",
546
780
  properties: {
@@ -614,7 +848,11 @@ TIPS:
614
848
  if (!action || !PLAYWRIGHT_ACTIONS.includes(action)) {
615
849
  throw new Error(`Unsupported Playwright action: ${String(action)}`);
616
850
  }
851
+ // Log the action start
852
+ actionLogger.logActionStart(action, params.arguments ?? {});
617
853
  const result = await executePlaywrightAction(action, page, params.arguments ?? {});
854
+ // Log the action result
855
+ actionLogger.logActionResult(result);
618
856
  // Include testCaseId in the result if provided
619
857
  const testCaseId = params.arguments?.testCaseId;
620
858
  if (testCaseId) {
@@ -648,6 +886,48 @@ TIPS:
648
886
  };
649
887
  }
650
888
  }
889
+ /**
890
+ * Checks for runtime errors displayed by ErrorBoundary components.
891
+ * These are detected by looking for elements with data-testid="runtime-error-details".
892
+ *
893
+ * @param page - The Playwright page to check
894
+ * @returns Object with hasErrors flag and array of error details
895
+ */
896
+ async function checkForRuntimeErrors(page) {
897
+ try {
898
+ const errorElements = await page
899
+ .locator('[data-testid="runtime-error-details"]')
900
+ .all();
901
+ if (errorElements.length === 0) {
902
+ return { hasErrors: false, errors: [] };
903
+ }
904
+ const errors = [];
905
+ for (const element of errorElements) {
906
+ try {
907
+ // Get the error header (h3 contains "Something went wrong." or custom header)
908
+ const header = (await element.locator("h3").textContent()) || "Component error";
909
+ // Try to get the stack trace from the pre > code element inside details
910
+ let stack;
911
+ try {
912
+ const codeElement = element.locator("pre code");
913
+ const codeText = await codeElement.textContent({ timeout: 1000 });
914
+ stack = codeText || undefined;
915
+ }
916
+ catch {
917
+ // Stack not available or details not expanded
918
+ }
919
+ errors.push({ header, stack });
920
+ }
921
+ catch {
922
+ errors.push({ header: "Unknown component error" });
923
+ }
924
+ }
925
+ return { hasErrors: true, errors };
926
+ }
927
+ catch {
928
+ return { hasErrors: false, errors: [] };
929
+ }
930
+ }
651
931
  /**
652
932
  * Captures a screenshot in PNG format.
653
933
  *
@@ -693,8 +973,10 @@ async function executePlaywrightAction(action, page, params) {
693
973
  });
694
974
  // Auto-capture screenshot after navigation
695
975
  const screenshot = await captureScreenshot(page);
976
+ // Check for runtime errors (component crashes)
977
+ const runtimeErrors = await checkForRuntimeErrors(page);
696
978
  return {
697
- success: true,
979
+ success: !runtimeErrors.hasErrors,
698
980
  action: "navigate",
699
981
  description,
700
982
  screenshot: screenshot.data,
@@ -702,6 +984,10 @@ async function executePlaywrightAction(action, page, params) {
702
984
  context: {
703
985
  url,
704
986
  },
987
+ ...(runtimeErrors.hasErrors && {
988
+ runtimeErrors: runtimeErrors.errors,
989
+ error: `Component crashed with ${runtimeErrors.errors.length} runtime error(s): ${runtimeErrors.errors.map((e) => e.header).join(", ")}`,
990
+ }),
705
991
  };
706
992
  }
707
993
  catch (error) {
@@ -738,8 +1024,10 @@ async function executePlaywrightAction(action, page, params) {
738
1024
  .click({ timeout: params.timeout ?? 10000 });
739
1025
  // Auto-capture screenshot after action
740
1026
  const screenshot = await captureScreenshot(page);
1027
+ // Check for runtime errors (component crashes)
1028
+ const runtimeErrors = await checkForRuntimeErrors(page);
741
1029
  return {
742
- success: true,
1030
+ success: !runtimeErrors.hasErrors,
743
1031
  action: "click",
744
1032
  description,
745
1033
  screenshot: screenshot.data,
@@ -747,6 +1035,10 @@ async function executePlaywrightAction(action, page, params) {
747
1035
  context: {
748
1036
  selector,
749
1037
  },
1038
+ ...(runtimeErrors.hasErrors && {
1039
+ runtimeErrors: runtimeErrors.errors,
1040
+ error: `Component crashed with ${runtimeErrors.errors.length} runtime error(s): ${runtimeErrors.errors.map((e) => e.header).join(", ")}`,
1041
+ }),
750
1042
  };
751
1043
  }
752
1044
  catch (error) {
@@ -783,8 +1075,10 @@ async function executePlaywrightAction(action, page, params) {
783
1075
  .fill(value, { timeout: params.timeout ?? 10000 });
784
1076
  // Auto-capture screenshot after fill
785
1077
  const screenshot = await captureScreenshot(page);
1078
+ // Check for runtime errors (component crashes)
1079
+ const runtimeErrors = await checkForRuntimeErrors(page);
786
1080
  return {
787
- success: true,
1081
+ success: !runtimeErrors.hasErrors,
788
1082
  action: "fill",
789
1083
  description,
790
1084
  screenshot: screenshot.data,
@@ -793,6 +1087,10 @@ async function executePlaywrightAction(action, page, params) {
793
1087
  selector,
794
1088
  value,
795
1089
  },
1090
+ ...(runtimeErrors.hasErrors && {
1091
+ runtimeErrors: runtimeErrors.errors,
1092
+ error: `Component crashed with ${runtimeErrors.errors.length} runtime error(s): ${runtimeErrors.errors.map((e) => e.header).join(", ")}`,
1093
+ }),
796
1094
  };
797
1095
  }
798
1096
  catch (error) {
@@ -901,8 +1199,10 @@ async function executePlaywrightAction(action, page, params) {
901
1199
  }
902
1200
  // Auto-capture screenshot after evaluation
903
1201
  const screenshot = await captureScreenshot(page);
1202
+ // Check for runtime errors (component crashes)
1203
+ const runtimeErrors = await checkForRuntimeErrors(page);
904
1204
  return {
905
- success: true,
1205
+ success: !runtimeErrors.hasErrors,
906
1206
  action: "evaluate",
907
1207
  description,
908
1208
  result,
@@ -911,6 +1211,10 @@ async function executePlaywrightAction(action, page, params) {
911
1211
  context: {
912
1212
  script: script.substring(0, 100) + (script.length > 100 ? "..." : ""),
913
1213
  },
1214
+ ...(runtimeErrors.hasErrors && {
1215
+ runtimeErrors: runtimeErrors.errors,
1216
+ error: `Component crashed with ${runtimeErrors.errors.length} runtime error(s): ${runtimeErrors.errors.map((e) => e.header).join(", ")}`,
1217
+ }),
914
1218
  };
915
1219
  }
916
1220
  catch (error) {
@@ -1070,6 +1374,24 @@ async function executePlaywrightAction(action, page, params) {
1070
1374
  };
1071
1375
  }
1072
1376
  }
1377
+ case "checkRuntimeErrors": {
1378
+ const description = params.description || "Check for component runtime errors";
1379
+ const screenshot = await captureScreenshot(page);
1380
+ const runtimeErrors = await checkForRuntimeErrors(page);
1381
+ return {
1382
+ success: !runtimeErrors.hasErrors,
1383
+ action: "checkRuntimeErrors",
1384
+ description,
1385
+ screenshot: screenshot.data,
1386
+ format: screenshot.format,
1387
+ hasErrors: runtimeErrors.hasErrors,
1388
+ errorCount: runtimeErrors.errors.length,
1389
+ ...(runtimeErrors.hasErrors && {
1390
+ runtimeErrors: runtimeErrors.errors,
1391
+ error: `Found ${runtimeErrors.errors.length} component crash(es): ${runtimeErrors.errors.map((e) => e.header).join(", ")}`,
1392
+ }),
1393
+ };
1394
+ }
1073
1395
  default:
1074
1396
  throw new Error(`Unhandled Playwright action: ${action}`);
1075
1397
  }
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-playwright-mcp-server.js","sourceRoot":"","sources":["../../../src/ai-service/mcp/embedded-playwright-mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedded-playwright-mcp-server.js","sourceRoot":"","sources":["../../../src/ai-service/mcp/embedded-playwright-mcp-server.ts"],"names":[],"mappings":"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"}