@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.
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +4 -1
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js +99 -4
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -1
- package/dist/ai-service/agent/subagents/testing/types.d.ts +20 -0
- package/dist/ai-service/agent/subagents/testing/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-source.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-source.js +37 -9
- package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.d.ts +5 -2
- package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.js +4 -3
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +8 -1
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +37 -4
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +0 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +1 -6
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.js +2 -0
- package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +58 -195
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +15 -0
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/list-attachments.js +47 -0
- package/dist/ai-service/agent/tools2/tools/list-attachments.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +92 -10
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +21 -2
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +46 -2
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/attachments/index.d.ts +2 -0
- package/dist/ai-service/attachments/index.d.ts.map +1 -0
- package/dist/ai-service/attachments/index.js +2 -0
- package/dist/ai-service/attachments/index.js.map +1 -0
- package/dist/ai-service/attachments/store.d.ts +65 -0
- package/dist/ai-service/attachments/store.d.ts.map +1 -0
- package/dist/ai-service/attachments/store.js +158 -0
- package/dist/ai-service/attachments/store.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +11 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/context-download.d.ts +24 -0
- package/dist/ai-service/context-download.d.ts.map +1 -0
- package/dist/ai-service/context-download.js +127 -0
- package/dist/ai-service/context-download.js.map +1 -0
- package/dist/ai-service/context-upload.d.ts +17 -0
- package/dist/ai-service/context-upload.d.ts.map +1 -0
- package/dist/ai-service/context-upload.js +100 -0
- package/dist/ai-service/context-upload.js.map +1 -0
- package/dist/ai-service/index.d.ts +27 -3
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +252 -12
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/context/context.d.ts +4 -0
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +10 -0
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/manager.d.ts +5 -0
- package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context/manager.js +8 -0
- package/dist/ai-service/llm/context/manager.js.map +1 -1
- package/dist/ai-service/llm/context/serialization.d.ts +3 -0
- package/dist/ai-service/llm/context/serialization.d.ts.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -4
- package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +2 -0
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +1 -0
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -0
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +20 -1
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llm/stream/session.d.ts +2 -0
- package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/session.js +6 -2
- package/dist/ai-service/llm/stream/session.js.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.d.ts +58 -0
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -0
- package/dist/ai-service/llmobs/otel-exporter.js +182 -0
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -0
- package/dist/ai-service/llmobs/tracer.d.ts +9 -0
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +46 -2
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts +17 -0
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +329 -7
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
- package/dist/ai-service/mcp/playwright-server.d.ts +29 -0
- package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/playwright-server.js +53 -0
- package/dist/ai-service/mcp/playwright-server.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +3 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +1 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/fsm.js +1 -0
- package/dist/ai-service/state-machine/fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +42 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +9 -0
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +43 -16
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +21 -4
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/util/scoped-token-utils.d.ts +15 -0
- package/dist/ai-service/util/scoped-token-utils.d.ts.map +1 -0
- package/dist/ai-service/util/scoped-token-utils.js +131 -0
- package/dist/ai-service/util/scoped-token-utils.js.map +1 -0
- package/dist/file-sync-vite-plugin.js +3 -3
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/server-rpc/index.js +1 -1
- package/dist/server-rpc/index.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +61 -4
- package/dist/socket-manager.js.map +1 -1
- 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;
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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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"}
|