@ai-support-agent/cli 0.1.30-beta.5 → 0.1.31-beta.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/agent-transport.d.ts.map +1 -1
- package/dist/agent-transport.js +6 -1
- package/dist/agent-transport.js.map +1 -1
- package/dist/browser/playwright-subprocess-executor.d.ts +43 -0
- package/dist/browser/playwright-subprocess-executor.d.ts.map +1 -0
- package/dist/browser/playwright-subprocess-executor.js +250 -0
- package/dist/browser/playwright-subprocess-executor.js.map +1 -0
- package/dist/commands/e2e-script-fix-executor.d.ts +40 -0
- package/dist/commands/e2e-script-fix-executor.d.ts.map +1 -0
- package/dist/commands/e2e-script-fix-executor.js +130 -0
- package/dist/commands/e2e-script-fix-executor.js.map +1 -0
- package/dist/commands/e2e-test-executor.d.ts.map +1 -1
- package/dist/commands/e2e-test-executor.js +71 -0
- package/dist/commands/e2e-test-executor.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +20 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/mcp/tools/browser/browser-session.d.ts +10 -7
- package/dist/mcp/tools/browser/browser-session.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-session.js.map +1 -1
- package/dist/terminal/terminal-websocket.d.ts +21 -2
- package/dist/terminal/terminal-websocket.d.ts.map +1 -1
- package/dist/terminal/terminal-websocket.js +46 -0
- package/dist/terminal/terminal-websocket.js.map +1 -1
- package/dist/types/command.d.ts +9 -1
- package/dist/types/command.d.ts.map +1 -1
- package/dist/types/command.js.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.d.ts +35 -5
- package/dist/vscode/vscode-tunnel-websocket.d.ts.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.js +43 -41
- package/dist/vscode/vscode-tunnel-websocket.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transport.d.ts","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAMvF,OAAO,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAA;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAI1E,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAA;IACrD,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACpC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACtC,UAAU,EAAE,OAAO,CAAA;IACnB,uBAAuB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAA;CAC9D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,oGAAoG;IACpG,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,aAAa,EAAE,cAAc,CAAC,CAAA;CAC7G;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,cAAc,EACnB,sBAAsB,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,iBAAiB,EAC9E,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,GAC7B,IAAI,CAuCN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,eAAe,GAChC,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,cAAc,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,eAAe,GAChC,IAAI,
|
|
1
|
+
{"version":3,"file":"agent-transport.d.ts","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-transport.js
CHANGED
|
@@ -99,8 +99,13 @@ function startTerminalWebSocket(deps, state, wsUrl, configSyncState) {
|
|
|
99
99
|
*/
|
|
100
100
|
function startVsCodeTunnel(deps, state, wsUrl, configSyncState) {
|
|
101
101
|
const baseUrl = wsUrl ?? deps.apiUrl;
|
|
102
|
+
// reposDir = VS Code の起動ディレクトリ(リポジトリ群のある場所)。
|
|
103
|
+
// workspaceDir = ブラウザのファイルチューザーがファイル相対パスを解決する基点。
|
|
104
|
+
// 両者は異なるディレクトリのため、別々に渡す(混同すると相対パスが不存在パスに
|
|
105
|
+
// 解決され、選択しても「何も起こらない」不具合になる)。
|
|
102
106
|
const reposDir = deps.projectDir ? (0, project_dir_1.getReposDir)(deps.projectDir) : undefined;
|
|
103
|
-
|
|
107
|
+
const workspaceDir = deps.projectDir ? (0, project_dir_1.getWorkspaceDir)(deps.projectDir) : undefined;
|
|
108
|
+
state.vsCodeWs = new vscode_1.VsCodeTunnelWebSocket(baseUrl, deps.token, deps.agentId, reposDir, workspaceDir, configSyncState ? () => configSyncState.projectConfig?.envVars : undefined);
|
|
104
109
|
state.vsCodeWs.connect().catch((error) => {
|
|
105
110
|
logger_1.logger.warn(`${deps.prefix} VS Code tunnel WebSocket connection failed: ${(0, utils_1.getErrorMessage)(error)}`);
|
|
106
111
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transport.js","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-transport.js","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlaywrightSubprocessExecutor — runs a Playwright test script in a child process.
|
|
3
|
+
*
|
|
4
|
+
* Unlike browser-script-executor which reuses the shared browser session,
|
|
5
|
+
* this executor spawns an isolated Playwright browser process so E2E tests
|
|
6
|
+
* do not interfere with the agent's interactive browser session.
|
|
7
|
+
*/
|
|
8
|
+
export interface PlaywrightSubprocessOptions {
|
|
9
|
+
script: string;
|
|
10
|
+
executionId: string;
|
|
11
|
+
baseUrl?: string;
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface PlaywrightSubprocessStepResult {
|
|
15
|
+
title: string;
|
|
16
|
+
status: 'passed' | 'failed' | 'skipped';
|
|
17
|
+
error?: string;
|
|
18
|
+
duration?: number;
|
|
19
|
+
screenshotPath?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PlaywrightSubprocessResult {
|
|
22
|
+
success: boolean;
|
|
23
|
+
totalTests: number;
|
|
24
|
+
passedTests: number;
|
|
25
|
+
failedTests: number;
|
|
26
|
+
steps: PlaywrightSubprocessStepResult[];
|
|
27
|
+
errorOutput?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse Playwright JSON reporter output into a structured result.
|
|
31
|
+
* Expected format: { suites: [{ specs: [{ tests: [{ results: [...] }] }] }] }
|
|
32
|
+
*/
|
|
33
|
+
declare function parsePlaywrightJsonOutput(jsonContent: string): PlaywrightSubprocessResult;
|
|
34
|
+
/**
|
|
35
|
+
* Run a Playwright test script in a child process.
|
|
36
|
+
*
|
|
37
|
+
* Writes the script to a temp file, executes it via the Playwright CLI,
|
|
38
|
+
* and parses the JSON reporter output. Temp files are always cleaned up.
|
|
39
|
+
*/
|
|
40
|
+
export declare function runPlaywrightSubprocess(options: PlaywrightSubprocessOptions): Promise<PlaywrightSubprocessResult>;
|
|
41
|
+
/** Exported for testing */
|
|
42
|
+
export { parsePlaywrightJsonOutput };
|
|
43
|
+
//# sourceMappingURL=playwright-subprocess-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-subprocess-executor.d.ts","sourceRoot":"","sources":["../../src/browser/playwright-subprocess-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,8BAA8B,EAAE,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAKD;;;GAGG;AACH,iBAAS,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAuFlF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAiDrC;AAwFD,2BAA2B;AAC3B,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PlaywrightSubprocessExecutor — runs a Playwright test script in a child process.
|
|
4
|
+
*
|
|
5
|
+
* Unlike browser-script-executor which reuses the shared browser session,
|
|
6
|
+
* this executor spawns an isolated Playwright browser process so E2E tests
|
|
7
|
+
* do not interfere with the agent's interactive browser session.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.runPlaywrightSubprocess = runPlaywrightSubprocess;
|
|
44
|
+
exports.parsePlaywrightJsonOutput = parsePlaywrightJsonOutput;
|
|
45
|
+
const child_process_1 = require("child_process");
|
|
46
|
+
const fs_1 = require("fs");
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const logger_1 = require("../logger");
|
|
49
|
+
/** Default timeout for subprocess execution (120 seconds) */
|
|
50
|
+
const DEFAULT_TIMEOUT_MS = 120_000;
|
|
51
|
+
/**
|
|
52
|
+
* Parse Playwright JSON reporter output into a structured result.
|
|
53
|
+
* Expected format: { suites: [{ specs: [{ tests: [{ results: [...] }] }] }] }
|
|
54
|
+
*/
|
|
55
|
+
function parsePlaywrightJsonOutput(jsonContent) {
|
|
56
|
+
let report;
|
|
57
|
+
try {
|
|
58
|
+
report = JSON.parse(jsonContent);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
totalTests: 0,
|
|
64
|
+
passedTests: 0,
|
|
65
|
+
failedTests: 0,
|
|
66
|
+
steps: [],
|
|
67
|
+
errorOutput: 'Failed to parse Playwright JSON output',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const steps = [];
|
|
71
|
+
let passedTests = 0;
|
|
72
|
+
let failedTests = 0;
|
|
73
|
+
const suites = report.suites;
|
|
74
|
+
if (Array.isArray(suites)) {
|
|
75
|
+
for (const suite of suites) {
|
|
76
|
+
const specs = suite.specs;
|
|
77
|
+
if (!Array.isArray(specs))
|
|
78
|
+
continue;
|
|
79
|
+
for (const spec of specs) {
|
|
80
|
+
const tests = spec.tests;
|
|
81
|
+
if (!Array.isArray(tests))
|
|
82
|
+
continue;
|
|
83
|
+
for (const test of tests) {
|
|
84
|
+
const testTitle = String(spec.title ?? test.title ?? 'unknown');
|
|
85
|
+
const results = test.results;
|
|
86
|
+
if (!Array.isArray(results) || results.length === 0)
|
|
87
|
+
continue;
|
|
88
|
+
// Use the last result (most recent retry)
|
|
89
|
+
const lastResult = results[results.length - 1];
|
|
90
|
+
const status = String(lastResult.status ?? 'failed');
|
|
91
|
+
const duration = typeof lastResult.duration === 'number' ? lastResult.duration : undefined;
|
|
92
|
+
let errorMessage;
|
|
93
|
+
const error = lastResult.error;
|
|
94
|
+
if (error) {
|
|
95
|
+
errorMessage = String(error.message ?? '');
|
|
96
|
+
}
|
|
97
|
+
// Extract screenshot path from attachments
|
|
98
|
+
let screenshotPath;
|
|
99
|
+
const attachments = lastResult.attachments;
|
|
100
|
+
if (Array.isArray(attachments)) {
|
|
101
|
+
const screenshotAttachment = attachments.find((a) => a.name === 'screenshot' && a.contentType === 'image/png');
|
|
102
|
+
if (screenshotAttachment && screenshotAttachment.path) {
|
|
103
|
+
screenshotPath = String(screenshotAttachment.path);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const stepStatus = status === 'passed' ? 'passed' : status === 'skipped' ? 'skipped' : 'failed';
|
|
107
|
+
steps.push({
|
|
108
|
+
title: testTitle,
|
|
109
|
+
status: stepStatus,
|
|
110
|
+
...(errorMessage && { error: errorMessage }),
|
|
111
|
+
...(duration !== undefined && { duration }),
|
|
112
|
+
...(screenshotPath && { screenshotPath }),
|
|
113
|
+
});
|
|
114
|
+
if (stepStatus === 'passed') {
|
|
115
|
+
passedTests++;
|
|
116
|
+
}
|
|
117
|
+
else if (stepStatus === 'failed') {
|
|
118
|
+
failedTests++;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const totalTests = passedTests + failedTests + steps.filter((s) => s.status === 'skipped').length;
|
|
125
|
+
return {
|
|
126
|
+
success: failedTests === 0 && totalTests > 0,
|
|
127
|
+
totalTests,
|
|
128
|
+
passedTests,
|
|
129
|
+
failedTests,
|
|
130
|
+
steps,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Run a Playwright test script in a child process.
|
|
135
|
+
*
|
|
136
|
+
* Writes the script to a temp file, executes it via the Playwright CLI,
|
|
137
|
+
* and parses the JSON reporter output. Temp files are always cleaned up.
|
|
138
|
+
*/
|
|
139
|
+
async function runPlaywrightSubprocess(options) {
|
|
140
|
+
const { script, executionId, baseUrl, timeoutMs = DEFAULT_TIMEOUT_MS } = options;
|
|
141
|
+
// Sanitize executionId to prevent path traversal
|
|
142
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(executionId)) {
|
|
143
|
+
throw new Error(`Invalid executionId: "${executionId}" — must be alphanumeric, hyphens, or underscores only`);
|
|
144
|
+
}
|
|
145
|
+
const tmpSpecFile = path.resolve('/tmp', `ai-support-e2e-${executionId}.spec.ts`);
|
|
146
|
+
const tmpResultFile = path.resolve('/tmp', `ai-support-e2e-${executionId}-result.json`);
|
|
147
|
+
// Verify paths are inside /tmp as a safety net
|
|
148
|
+
if (!tmpSpecFile.startsWith('/tmp/') || !tmpResultFile.startsWith('/tmp/')) {
|
|
149
|
+
throw new Error('Resolved tmp file path is outside /tmp directory');
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
// Write the test script to a temp file
|
|
153
|
+
await fs_1.promises.writeFile(tmpSpecFile, script, 'utf-8');
|
|
154
|
+
// Run Playwright subprocess
|
|
155
|
+
const errorOutput = await spawnPlaywright(tmpSpecFile, tmpResultFile, baseUrl, timeoutMs);
|
|
156
|
+
// Read and parse the JSON output
|
|
157
|
+
let jsonContent;
|
|
158
|
+
try {
|
|
159
|
+
jsonContent = await fs_1.promises.readFile(tmpResultFile, 'utf-8');
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
logger_1.logger.warn(`[playwright-subprocess] JSON output not found for execution ${executionId}`);
|
|
163
|
+
return {
|
|
164
|
+
success: false,
|
|
165
|
+
totalTests: 0,
|
|
166
|
+
passedTests: 0,
|
|
167
|
+
failedTests: 0,
|
|
168
|
+
steps: [],
|
|
169
|
+
errorOutput: errorOutput || 'Playwright did not produce JSON output',
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
const result = parsePlaywrightJsonOutput(jsonContent);
|
|
173
|
+
if (errorOutput && !result.success) {
|
|
174
|
+
return { ...result, errorOutput };
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
// Always clean up temp files
|
|
180
|
+
await cleanupFile(tmpSpecFile);
|
|
181
|
+
await cleanupFile(tmpResultFile);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Spawn the Playwright CLI process and wait for it to finish.
|
|
186
|
+
* Returns stderr output (empty string on success).
|
|
187
|
+
*/
|
|
188
|
+
function spawnPlaywright(specFile, resultFile, baseUrl, timeoutMs) {
|
|
189
|
+
return new Promise((resolve, reject) => {
|
|
190
|
+
// Find the config file relative to the spec file's project root
|
|
191
|
+
const configFile = path.join(__dirname, '..', '..', 'playwright.subprocess.config.ts');
|
|
192
|
+
const env = {
|
|
193
|
+
...process.env,
|
|
194
|
+
E2E_JSON_OUTPUT: resultFile,
|
|
195
|
+
};
|
|
196
|
+
if (baseUrl) {
|
|
197
|
+
env.E2E_BASE_URL = baseUrl;
|
|
198
|
+
}
|
|
199
|
+
const args = [
|
|
200
|
+
'test',
|
|
201
|
+
specFile,
|
|
202
|
+
'--config',
|
|
203
|
+
configFile,
|
|
204
|
+
];
|
|
205
|
+
const playwrightBin = path.join(__dirname, '..', '..', 'node_modules', '.bin', 'playwright');
|
|
206
|
+
logger_1.logger.info(`[playwright-subprocess] Spawning: ${playwrightBin} ${args.join(' ')}`);
|
|
207
|
+
const child = (0, child_process_1.spawn)(playwrightBin, args, {
|
|
208
|
+
env,
|
|
209
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
210
|
+
});
|
|
211
|
+
let stderrOutput = '';
|
|
212
|
+
child.stderr?.on('data', (chunk) => {
|
|
213
|
+
stderrOutput += chunk.toString();
|
|
214
|
+
});
|
|
215
|
+
child.stdout?.on('data', (chunk) => {
|
|
216
|
+
logger_1.logger.debug(`[playwright-subprocess] stdout: ${chunk.toString().trim()}`);
|
|
217
|
+
});
|
|
218
|
+
let timedOut = false;
|
|
219
|
+
const timer = setTimeout(() => {
|
|
220
|
+
timedOut = true;
|
|
221
|
+
logger_1.logger.warn(`[playwright-subprocess] Timeout after ${timeoutMs}ms, killing process`);
|
|
222
|
+
child.kill('SIGKILL');
|
|
223
|
+
}, timeoutMs);
|
|
224
|
+
child.on('close', (code) => {
|
|
225
|
+
clearTimeout(timer);
|
|
226
|
+
if (timedOut) {
|
|
227
|
+
reject(new Error(`Playwright subprocess timed out after ${timeoutMs}ms`));
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
// Playwright exits with non-zero on test failures, which is expected
|
|
231
|
+
// We resolve in all cases and let the JSON output determine success
|
|
232
|
+
logger_1.logger.info(`[playwright-subprocess] Process exited with code ${code}`);
|
|
233
|
+
resolve(code !== 0 ? stderrOutput : '');
|
|
234
|
+
});
|
|
235
|
+
child.on('error', (err) => {
|
|
236
|
+
clearTimeout(timer);
|
|
237
|
+
reject(err);
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
/** Remove a file, ignoring errors if it doesn't exist */
|
|
242
|
+
async function cleanupFile(filePath) {
|
|
243
|
+
try {
|
|
244
|
+
await fs_1.promises.unlink(filePath);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// File may not exist if Playwright failed early — ignore
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=playwright-subprocess-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-subprocess-executor.js","sourceRoot":"","sources":["../../src/browser/playwright-subprocess-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E2EScriptFixExecutor — uses an LLM to update a failing Playwright script.
|
|
3
|
+
*
|
|
4
|
+
* Receives the current script and a fix instruction from the E2E test editor chat,
|
|
5
|
+
* asks the LLM to produce a revised script, and saves it via the API.
|
|
6
|
+
*/
|
|
7
|
+
import type { ApiClient } from '../api-client';
|
|
8
|
+
import type { AgentChatMode, AgentServerConfig, CommandResult, ProjectConfigResponse } from '../types';
|
|
9
|
+
export interface E2eScriptFixPayload {
|
|
10
|
+
testCaseId?: unknown;
|
|
11
|
+
message?: unknown;
|
|
12
|
+
currentScript?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface ExecuteE2eScriptFixOptions {
|
|
15
|
+
payload: E2eScriptFixPayload;
|
|
16
|
+
client: ApiClient;
|
|
17
|
+
tenantCode?: string;
|
|
18
|
+
projectCode?: string;
|
|
19
|
+
agentId?: string;
|
|
20
|
+
commandId?: string;
|
|
21
|
+
serverConfig?: AgentServerConfig;
|
|
22
|
+
activeChatMode?: AgentChatMode;
|
|
23
|
+
projectDir?: string;
|
|
24
|
+
projectConfig?: ProjectConfigResponse;
|
|
25
|
+
mcpConfigPath?: string;
|
|
26
|
+
browserLocalPort?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extract a TypeScript/JavaScript code block from an LLM response string.
|
|
30
|
+
* Returns null if no code block is found.
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractScriptFromResponse(response: string): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Execute an E2E script fix command.
|
|
35
|
+
*
|
|
36
|
+
* Combines the current Playwright script with the user's fix instruction,
|
|
37
|
+
* sends it to the LLM, extracts the revised script, and saves it via the API.
|
|
38
|
+
*/
|
|
39
|
+
export declare function executeE2eScriptFix(options: ExecuteE2eScriptFixOptions): Promise<CommandResult>;
|
|
40
|
+
//# sourceMappingURL=e2e-script-fix-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-script-fix-executor.d.ts","sourceRoot":"","sources":["../../src/commands/e2e-script-fix-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAMtG,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAyBD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAezE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,aAAa,CAAC,CA+ExB"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* E2EScriptFixExecutor — uses an LLM to update a failing Playwright script.
|
|
4
|
+
*
|
|
5
|
+
* Receives the current script and a fix instruction from the E2E test editor chat,
|
|
6
|
+
* asks the LLM to produce a revised script, and saves it via the API.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.extractScriptFromResponse = extractScriptFromResponse;
|
|
10
|
+
exports.executeE2eScriptFix = executeE2eScriptFix;
|
|
11
|
+
const logger_1 = require("../logger");
|
|
12
|
+
const command_1 = require("../types/command");
|
|
13
|
+
const utils_1 = require("../utils");
|
|
14
|
+
const chat_executor_1 = require("./chat-executor");
|
|
15
|
+
/**
|
|
16
|
+
* Build a prompt that asks the LLM to revise a Playwright script based on the user's instruction.
|
|
17
|
+
*/
|
|
18
|
+
function buildScriptFixPrompt(currentScript, message) {
|
|
19
|
+
return [
|
|
20
|
+
'# Playwright スクリプト修正依頼',
|
|
21
|
+
'',
|
|
22
|
+
'以下の修正指示に従って、Playwright テストスクリプトを修正してください。',
|
|
23
|
+
'',
|
|
24
|
+
'## 修正指示',
|
|
25
|
+
message,
|
|
26
|
+
'',
|
|
27
|
+
'## 現在のスクリプト',
|
|
28
|
+
'```typescript',
|
|
29
|
+
currentScript,
|
|
30
|
+
'```',
|
|
31
|
+
'',
|
|
32
|
+
'## 出力形式',
|
|
33
|
+
'修正後のスクリプト全体を ```typescript...``` コードブロックで囲んで出力してください。',
|
|
34
|
+
'説明や他のテキストは不要です。コードブロックのみを出力してください。',
|
|
35
|
+
].join('\n');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Extract a TypeScript/JavaScript code block from an LLM response string.
|
|
39
|
+
* Returns null if no code block is found.
|
|
40
|
+
*/
|
|
41
|
+
function extractScriptFromResponse(response) {
|
|
42
|
+
// Try to extract from a fenced code block (typescript, javascript, playwright, or bare)
|
|
43
|
+
const codeBlockMatch = response.match(/```(?:typescript|javascript|playwright|ts|js)?\n([\s\S]*?)```/);
|
|
44
|
+
if (codeBlockMatch) {
|
|
45
|
+
return codeBlockMatch[1].trim();
|
|
46
|
+
}
|
|
47
|
+
// If the response itself looks like a script, return it
|
|
48
|
+
if (response.includes('await page.')) {
|
|
49
|
+
return response.trim();
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Execute an E2E script fix command.
|
|
55
|
+
*
|
|
56
|
+
* Combines the current Playwright script with the user's fix instruction,
|
|
57
|
+
* sends it to the LLM, extracts the revised script, and saves it via the API.
|
|
58
|
+
*/
|
|
59
|
+
async function executeE2eScriptFix(options) {
|
|
60
|
+
const { payload, client, tenantCode, agentId } = options;
|
|
61
|
+
const projectCode = options.projectCode ?? options.projectConfig?.project?.projectCode;
|
|
62
|
+
const testCaseId = (0, utils_1.parseString)(payload.testCaseId) ?? undefined;
|
|
63
|
+
const message = (0, utils_1.parseString)(payload.message);
|
|
64
|
+
const currentScript = (0, utils_1.parseString)(payload.currentScript);
|
|
65
|
+
if (!message) {
|
|
66
|
+
return (0, command_1.errorResult)('message is required for e2e_script_fix');
|
|
67
|
+
}
|
|
68
|
+
if (!currentScript) {
|
|
69
|
+
return (0, command_1.errorResult)('currentScript is required for e2e_script_fix');
|
|
70
|
+
}
|
|
71
|
+
if (!testCaseId) {
|
|
72
|
+
return (0, command_1.errorResult)('testCaseId is required for e2e_script_fix');
|
|
73
|
+
}
|
|
74
|
+
logger_1.logger.info(`[e2e_script_fix] Fixing script for testCase=${testCaseId}`);
|
|
75
|
+
const prompt = buildScriptFixPrompt(currentScript, message);
|
|
76
|
+
const commandId = options.commandId ?? `e2e-script-fix-${testCaseId}`;
|
|
77
|
+
let chatResult;
|
|
78
|
+
try {
|
|
79
|
+
chatResult = await (0, chat_executor_1.executeChatCommand)({
|
|
80
|
+
payload: { message: prompt },
|
|
81
|
+
commandId,
|
|
82
|
+
client,
|
|
83
|
+
serverConfig: options.serverConfig,
|
|
84
|
+
activeChatMode: options.activeChatMode,
|
|
85
|
+
agentId,
|
|
86
|
+
projectDir: options.projectDir,
|
|
87
|
+
projectConfig: options.projectConfig,
|
|
88
|
+
mcpConfigPath: options.mcpConfigPath,
|
|
89
|
+
tenantCode,
|
|
90
|
+
browserLocalPort: options.browserLocalPort,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
const errorMessage = (0, utils_1.toErrorMessage)(err);
|
|
95
|
+
logger_1.logger.error(`[e2e_script_fix] Chat execution failed: ${errorMessage}`);
|
|
96
|
+
return (0, command_1.errorResult)(`Script fix chat failed: ${errorMessage}`);
|
|
97
|
+
}
|
|
98
|
+
if (!chatResult.success) {
|
|
99
|
+
return (0, command_1.errorResult)(`Script fix chat returned failure: ${chatResult.error}`);
|
|
100
|
+
}
|
|
101
|
+
// Extract the updated script from the LLM response
|
|
102
|
+
const responseText = typeof chatResult.data === 'string' ? chatResult.data : null;
|
|
103
|
+
const updatedScript = responseText ? extractScriptFromResponse(responseText) : null;
|
|
104
|
+
if (!updatedScript) {
|
|
105
|
+
logger_1.logger.warn('[e2e_script_fix] Could not extract updated script from LLM response');
|
|
106
|
+
return (0, command_1.errorResult)('Could not extract updated script from LLM response');
|
|
107
|
+
}
|
|
108
|
+
// Save the updated script via the API
|
|
109
|
+
if (tenantCode && projectCode) {
|
|
110
|
+
try {
|
|
111
|
+
await client.updateE2eTestScript(tenantCode, projectCode, testCaseId, {
|
|
112
|
+
playwrightScript: updatedScript,
|
|
113
|
+
testCaseId,
|
|
114
|
+
});
|
|
115
|
+
logger_1.logger.info(`[e2e_script_fix] Updated script saved for testCase=${testCaseId}`);
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
logger_1.logger.warn(`[e2e_script_fix] Failed to save updated script: ${(0, utils_1.toErrorMessage)(err)}`);
|
|
119
|
+
// Return success with the script even if save failed — caller can retry
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
logger_1.logger.warn('[e2e_script_fix] tenantCode/projectCode not available, skipping script save');
|
|
124
|
+
}
|
|
125
|
+
return (0, command_1.successResult)({
|
|
126
|
+
testCaseId,
|
|
127
|
+
updatedScript,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=e2e-script-fix-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-script-fix-executor.js","sourceRoot":"","sources":["../../src/commands/e2e-script-fix-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-test-executor.d.ts","sourceRoot":"","sources":["../../src/commands/e2e-test-executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"e2e-test-executor.d.ts","sourceRoot":"","sources":["../../src/commands/e2e-test-executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAI9C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAMjB,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,CAAA;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAuExB"}
|