mcp-accessibility-scanner 3.3.2 → 3.4.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 (63) hide show
  1. package/README.md +74 -5
  2. package/config.d.ts +30 -0
  3. package/lib/browserServerBackend.js +6 -0
  4. package/lib/browserServerBackend.js.map +1 -1
  5. package/lib/browserSessions.js +3 -0
  6. package/lib/browserSessions.js.map +1 -1
  7. package/lib/config.js +56 -10
  8. package/lib/config.js.map +1 -1
  9. package/lib/context.js +382 -56
  10. package/lib/context.js.map +1 -1
  11. package/lib/extension/cdpRelay.js +28 -6
  12. package/lib/extension/cdpRelay.js.map +1 -1
  13. package/lib/extension/extensionContextFactory.js +11 -6
  14. package/lib/extension/extensionContextFactory.js.map +1 -1
  15. package/lib/mcp/http.js +115 -41
  16. package/lib/mcp/http.js.map +1 -1
  17. package/lib/mcp/server.js +16 -8
  18. package/lib/mcp/server.js.map +1 -1
  19. package/lib/mcp/tool.js +11 -9
  20. package/lib/mcp/tool.js.map +1 -1
  21. package/lib/program.js +6 -3
  22. package/lib/program.js.map +1 -1
  23. package/lib/response.js +14 -2
  24. package/lib/response.js.map +1 -1
  25. package/lib/sessionLog.js +66 -20
  26. package/lib/sessionLog.js.map +1 -1
  27. package/lib/tab.js +13 -7
  28. package/lib/tab.js.map +1 -1
  29. package/lib/tools/auditKeyboard.js +27 -25
  30. package/lib/tools/auditKeyboard.js.map +1 -1
  31. package/lib/tools/auditScreenReader.js +27 -18
  32. package/lib/tools/auditScreenReader.js.map +1 -1
  33. package/lib/tools/auditSite.js +88 -56
  34. package/lib/tools/auditSite.js.map +1 -1
  35. package/lib/tools/axe.js +32 -7
  36. package/lib/tools/axe.js.map +1 -1
  37. package/lib/tools/common.js +39 -1
  38. package/lib/tools/common.js.map +1 -1
  39. package/lib/tools/files.js +55 -1
  40. package/lib/tools/files.js.map +1 -1
  41. package/lib/tools/pdf.js +4 -2
  42. package/lib/tools/pdf.js.map +1 -1
  43. package/lib/tools/recorder.js +52 -0
  44. package/lib/tools/recorder.js.map +1 -0
  45. package/lib/tools/report.js +13 -0
  46. package/lib/tools/report.js.map +1 -0
  47. package/lib/tools/scanPageMatrix.js +20 -33
  48. package/lib/tools/scanPageMatrix.js.map +1 -1
  49. package/lib/tools/screenshot.js +6 -3
  50. package/lib/tools/screenshot.js.map +1 -1
  51. package/lib/tools/snapshot.js +5 -2
  52. package/lib/tools/snapshot.js.map +1 -1
  53. package/lib/tools.js +2 -0
  54. package/lib/tools.js.map +1 -1
  55. package/lib/vscode/browserContextFactory.js +11 -4
  56. package/lib/vscode/browserContextFactory.js.map +1 -1
  57. package/lib/vscode/host.js +25 -2
  58. package/lib/vscode/host.js.map +1 -1
  59. package/lib/vscode/main.js +15 -0
  60. package/lib/vscode/main.js.map +1 -1
  61. package/lib/vscode/validation.js +78 -0
  62. package/lib/vscode/validation.js.map +1 -0
  63. package/package.json +6 -5
@@ -13,8 +13,61 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import path from 'node:path';
17
+ import fs from 'node:fs';
18
+ import coreBundle from 'playwright-core/lib/coreBundle';
16
19
  import { z } from 'zod';
17
20
  import { defineTabTool } from './tool.js';
21
+ export async function prepareUploadFiles(config, paths) {
22
+ const allowedDirs = config.browser.allowedUploadDirs;
23
+ if (allowedDirs === undefined || !paths.length)
24
+ return paths;
25
+ const rejected = () => new Error('Upload path(s) outside the allowed upload directories.');
26
+ if (!allowedDirs.length)
27
+ throw rejected();
28
+ if (process.platform !== 'darwin' && process.platform !== 'linux')
29
+ throw new Error('Restricted file uploads and drops require macOS or Linux with /proc/self/fd.');
30
+ const payloads = [];
31
+ let totalBytes = 0;
32
+ for (const target of paths) {
33
+ const canonical = await fs.promises.realpath(target);
34
+ if (!allowedDirs.some(root => {
35
+ const relative = path.relative(root, canonical);
36
+ return relative === '' || (relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative));
37
+ }))
38
+ throw rejected();
39
+ const before = await fs.promises.stat(canonical);
40
+ if (!before.isFile())
41
+ throw new Error('Restricted uploads require regular files, not directories or devices.');
42
+ // Darwin's O_NOFOLLOW_ANY rejects symlinks in every path component during
43
+ // open; Node does not expose the flag from sys/fcntl.h.
44
+ const noFollow = process.platform === 'darwin' ? 0x20000000 : fs.constants.O_NOFOLLOW;
45
+ const handle = await fs.promises.open(canonical, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK | noFollow);
46
+ try {
47
+ const opened = await handle.stat();
48
+ if (!opened.isFile())
49
+ throw new Error('Restricted uploads require regular files, not directories or devices.');
50
+ // Linux resolves this link from the open descriptor, not the mutable
51
+ // pathname. Do not replace it with another stat/realpath of canonical.
52
+ if (opened.dev !== before.dev || opened.ino !== before.ino ||
53
+ (process.platform === 'linux' && await fs.promises.readlink(`/proc/self/fd/${handle.fd}`) !== canonical))
54
+ throw new Error('Upload file changed during validation. Retry with a stable file.');
55
+ // Read the checked descriptor; setFiles must never reopen an attacker-replaceable path.
56
+ const chunks = [];
57
+ for await (const chunk of handle.createReadStream({ autoClose: false })) {
58
+ totalBytes += chunk.length;
59
+ if (totalBytes > 50 * 1024 * 1024)
60
+ throw new Error('Restricted uploads exceed the 50 MiB total limit.');
61
+ chunks.push(chunk);
62
+ }
63
+ payloads.push({ name: path.basename(target), mimeType: coreBundle.iso.getMimeTypeForPath(target) ?? 'application/octet-stream', buffer: Buffer.concat(chunks) });
64
+ }
65
+ finally {
66
+ await handle.close();
67
+ }
68
+ }
69
+ return payloads;
70
+ }
18
71
  const uploadFile = defineTabTool({
19
72
  capability: 'core',
20
73
  schema: {
@@ -31,10 +84,11 @@ const uploadFile = defineTabTool({
31
84
  const modalState = tab.modalStates().find(state => state.type === 'fileChooser');
32
85
  if (!modalState)
33
86
  throw new Error('No file chooser visible');
87
+ const files = await prepareUploadFiles(tab.context.config, params.paths);
34
88
  response.addCode(`await fileChooser.setFiles(${JSON.stringify(params.paths)})`);
35
89
  tab.clearModalState(modalState);
36
90
  await tab.waitForCompletion(async () => {
37
- await modalState.fileChooser.setFiles(params.paths);
91
+ await modalState.fileChooser.setFiles(files);
38
92
  });
39
93
  },
40
94
  clearsModalState: 'fileChooser',
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC;IAC/B,UAAU,EAAE,MAAM;IAElB,MAAM,EAAE;QACN,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oFAAoF,CAAC;SAC1H,CAAC;QACF,IAAI,EAAE,aAAa;KACpB;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QACtC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7C,QAAQ,CAAC,OAAO,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhF,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gBAAgB,EAAE,aAAa;CAChC,CAAC,CAAC;AAEH,eAAe;IACb,UAAU;CACX,CAAC"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/tools/files.ts"],"names":[],"mappings":"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"}
package/lib/tools/pdf.js CHANGED
@@ -18,7 +18,7 @@ import { defineTabTool } from './tool.js';
18
18
  import * as javascript from '../utils/codegen.js';
19
19
  import { safeIsoTimestampForFileName } from '../utils/fileUtils.js';
20
20
  const pdfSchema = z.object({
21
- filename: z.string().optional().describe('File name to save the pdf to. Defaults to `page-{timestamp}-{token}.pdf` if not specified (the random token keeps concurrent sessions from overwriting each other).'),
21
+ filename: z.string().optional().describe('File name to save the pdf to. Existing files are never overwritten. Defaults to `page-{timestamp}-{token}.pdf` if not specified.'),
22
22
  });
23
23
  const pdf = defineTabTool({
24
24
  capability: 'pdf',
@@ -32,7 +32,9 @@ const pdf = defineTabTool({
32
32
  handle: async (tab, params, response) => {
33
33
  // Random token besides the timestamp: see browser_take_screenshot — two
34
34
  // sessions saving a PDF in the same millisecond must not collide.
35
- const fileName = await tab.context.outputFile(params.filename ?? `page-${safeIsoTimestampForFileName()}.pdf`);
35
+ const fileName = await tab.context.outputFile(params.filename ?? `page-${safeIsoTimestampForFileName()}.pdf`, params.filename !== undefined);
36
+ if (params.filename !== undefined)
37
+ response.deleteFileOnError(fileName);
36
38
  response.addCode(`await page.pdf(${javascript.formatObject({ path: fileName })});`);
37
39
  response.addResult(`Saved page as ${fileName}`);
38
40
  await tab.page.pdf({ path: fileName });
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/tools/pdf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qKAAqK,CAAC;CAChN,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,aAAa,CAAC;IACxB,UAAU,EAAE,KAAK;IAEjB,MAAM,EAAE;QACN,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;KACjB;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QACtC,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAC9G,QAAQ,CAAC,OAAO,CAAC,kBAAkB,UAAU,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QACpF,QAAQ,CAAC,SAAS,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,eAAe;IACb,GAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/tools/pdf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kIAAkI,CAAC;CAC7K,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,aAAa,CAAC;IACxB,UAAU,EAAE,KAAK;IAEjB,MAAM,EAAE;QACN,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;KACjB;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QACtC,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,2BAA2B,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAC7I,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC/B,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,UAAU,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QACpF,QAAQ,CAAC,SAAS,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,eAAe;IACb,GAAG;CACJ,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { z } from 'zod';
17
+ import { defineTool } from './tool.js';
18
+ const startRecording = defineTool({
19
+ capability: 'devtools',
20
+ schema: {
21
+ name: 'browser_start_recording',
22
+ title: 'Start recording user actions',
23
+ description: 'Start recording actions that the user performs in the browser as Playwright code. Call browser_stop_recording when the user is done.',
24
+ inputSchema: z.object({}),
25
+ type: 'stateChanging',
26
+ },
27
+ handle: async (context, _params, response) => {
28
+ await context.startRecordingOnCurrentTab();
29
+ response.addResult('Recording started. Call browser_stop_recording to retrieve the recorded actions.');
30
+ },
31
+ });
32
+ const stopRecording = defineTool({
33
+ capability: 'devtools',
34
+ schema: {
35
+ name: 'browser_stop_recording',
36
+ title: 'Stop recording user actions',
37
+ description: 'Stop the recording started with browser_start_recording and return the recorded actions as Playwright code.',
38
+ inputSchema: z.object({}),
39
+ type: 'destructive',
40
+ },
41
+ handle: async (context, _params, response) => {
42
+ const actions = await context.stopRecording();
43
+ if (!actions)
44
+ throw new Error('No recording in progress, use browser_start_recording to start one.');
45
+ response.addResult(actions.length
46
+ ? `Recording stopped. Recorded actions:\n\n~~~js\n${actions.join('\n')}\n~~~`
47
+ : 'Recording stopped. No actions were recorded.');
48
+ response.setIncludeSnapshot();
49
+ },
50
+ });
51
+ export default [startRecording, stopRecording];
52
+ //# sourceMappingURL=recorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/tools/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,cAAc,GAAG,UAAU,CAAC;IAChC,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,sIAAsI;QACnJ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,eAAe;KACtB;IACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC3C,MAAM,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,kFAAkF,CAAC,CAAC;IACzG,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,UAAU,CAAC;IAC/B,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,6GAA6G;QAC1H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,aAAa;KACpB;IACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YAC/B,CAAC,CAAC,kDAAkD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAC7E,CAAC,CAAC,8CAA8C,CAAC,CAAC;QACpD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import fs from 'node:fs';
2
+ export async function writeJsonReport(response, path, report, resource) {
3
+ await fs.promises.writeFile(path, JSON.stringify(report, null, 2), 'utf-8');
4
+ const link = response.addFileResourceLink(path, { ...resource, mimeType: 'application/json' });
5
+ return {
6
+ path,
7
+ uri: link.uri,
8
+ name: link.name,
9
+ title: link.title ?? null,
10
+ mimeType: link.mimeType ?? null,
11
+ };
12
+ }
13
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAWzB,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAkB,EAClB,IAAY,EACZ,MAAe,EACf,QAA8D;IAE9D,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/F,OAAO;QACL,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;KAChC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
- import fs from 'node:fs';
2
1
  import { z } from 'zod';
3
2
  import { defineTabTool } from './tool.js';
4
- import { safeIsoTimestampForFileName, sanitizeForFilePath } from '../utils/fileUtils.js';
5
- import { assertRuleOptionsValid, axeRuleSchemaShape, axeScopeSchemaShape, axeTagValues, defaultAxeTags, prepareAxeResults, runAxeScan, summarizeAxeViolations, } from './axe.js';
3
+ import { writeJsonReport } from './report.js';
4
+ import { safeIsoTimestampForFileName } from '../utils/fileUtils.js';
5
+ import { assertRuleOptionsValid, axeRuleSchemaShape, axeScanOptions, axeScanSchemaShape, axeScopeSchemaShape, prepareAxeResults, runAxeScan, summarizeAxeViolations, unscannedFrameLines, } from './axe.js';
6
6
  const variantSchema = z.object({
7
7
  name: z.string().min(1).describe('Variant name.'),
8
8
  viewport: z.object({
@@ -44,12 +44,10 @@ const defaultVariants = [
44
44
  ];
45
45
  const scanPageMatrixSchema = z.object({
46
46
  variants: z.array(variantSchema).min(1).optional().describe('Variant list to run. Defaults to baseline/mobile/desktop/forced-colors/reduced-motion/zoom-200.'),
47
- violationsTag: z.array(z.enum(axeTagValues)).min(1).default([...defaultAxeTags]).describe('Axe tags to include in scans.'),
48
47
  includeIncomplete: z.boolean().default(true).describe('Also collect Axe "incomplete" results per variant — checks Axe could not decide automatically.'),
49
- maxNodesPerViolation: z.number().int().min(1).max(50).default(10).describe('Maximum nodes kept per violation in the report.'),
50
48
  waitAfterApplyMs: z.number().int().min(0).max(5000).default(250).describe('Wait after applying each variant before scanning.'),
51
49
  reloadBetweenVariants: z.boolean().default(false).describe('Reload page between variants.'),
52
- reportFile: z.string().optional().describe('Output JSON report file name.'),
50
+ ...axeScanSchemaShape,
53
51
  ...axeScopeSchemaShape,
54
52
  ...axeRuleSchemaShape,
55
53
  });
@@ -126,6 +124,10 @@ const scanPageMatrix = defineTabTool({
126
124
  // reloadBetweenVariants has already thrown away form and application state
127
125
  // by the time the per-scan check would reject the argument.
128
126
  assertRuleOptionsValid({ rules: params.withRules, disableRules: params.disableRules });
127
+ const reportFileName = params.reportFile ?? `scan-matrix-${safeIsoTimestampForFileName()}.json`;
128
+ const reportPath = await tab.context.outputFile(reportFileName, params.reportFile !== undefined);
129
+ if (params.reportFile !== undefined)
130
+ response.deleteFileOnError(reportPath);
129
131
  const variants = params.variants ?? defaultVariants;
130
132
  const originalViewport = tab.page.viewportSize() ?? await tab.page.evaluate(() => ({
131
133
  width: window.innerWidth,
@@ -156,13 +158,7 @@ const scanPageMatrix = defineTabTool({
156
158
  document.documentElement.style.zoom = zoom;
157
159
  }, variant.zoomPercent !== undefined ? `${variant.zoomPercent}%` : originalZoom);
158
160
  await tab.waitForTimeout(params.waitAfterApplyMs);
159
- const axeResult = await runAxeScan(tab.page, {
160
- tags: params.violationsTag,
161
- rules: params.withRules,
162
- disableRules: params.disableRules,
163
- include: params.includeSelectors,
164
- exclude: params.excludeSelectors,
165
- });
161
+ const axeResult = await runAxeScan(tab.page, axeScanOptions(params));
166
162
  const violations = prepareAxeResults(axeResult.violations, params.maxNodesPerViolation);
167
163
  const nodeCountByRuleId = countNodesByRule(violations.deduped);
168
164
  variantResults.push({
@@ -231,25 +227,15 @@ const scanPageMatrix = defineTabTool({
231
227
  },
232
228
  variants: variantResults,
233
229
  };
234
- const reportFileName = sanitizeForFilePath(params.reportFile ?? `scan-matrix-${safeIsoTimestampForFileName()}.json`);
235
- const reportPath = await tab.context.outputFile(reportFileName);
236
- await fs.promises.writeFile(reportPath, JSON.stringify(report, null, 2), 'utf-8');
237
- const reportResourceLink = response.addFileResourceLink(reportPath, {
230
+ const reportResource = await writeJsonReport(response, reportPath, report, {
238
231
  name: 'scan-page-matrix-report',
239
232
  title: 'Scan page matrix JSON report',
240
233
  description: 'JSON report containing per-variant Axe results and baseline deltas.',
241
- mimeType: 'application/json',
242
234
  });
243
235
  response.setStructuredContent({
244
236
  kind: 'scan_page_matrix',
245
237
  version: 'v2',
246
- report: {
247
- path: reportPath,
248
- uri: reportResourceLink.uri,
249
- name: reportResourceLink.name,
250
- title: reportResourceLink.title ?? null,
251
- mimeType: reportResourceLink.mimeType ?? null,
252
- },
238
+ report: reportResource,
253
239
  page: {
254
240
  url: tab.page.url(),
255
241
  },
@@ -271,17 +257,18 @@ const scanPageMatrix = defineTabTool({
271
257
  newViolationIds: result.diffFromBaseline?.newViolationIds ?? null,
272
258
  resolvedViolationIds: result.diffFromBaseline?.resolvedViolationIds ?? null,
273
259
  changedRuleIds: result.diffFromBaseline ? Object.keys(result.diffFromBaseline.changedCounts) : null,
274
- reportUri: reportResourceLink.uri,
260
+ reportUri: reportResource.uri,
275
261
  })),
276
262
  });
277
263
  const variantsWithUnscannedFrames = variantResults.filter(result => result.unscannedFrames.length);
278
264
  const lines = [
279
- ...(variantsWithUnscannedFrames.length ? [
280
- `WARNING: Axe could not be installed in frames on ${variantsWithUnscannedFrames.length} variant(s); their contents were not scanned and contribute no findings below.`,
281
- ...variantsWithUnscannedFrames.map(result => `- ${result.name}: ${result.unscannedFrames.join(', ')}`),
282
- 'Baseline deltas are reported as "n/a" wherever the two scans did not cover the same documents.',
283
- '',
284
- ] : []),
265
+ ...unscannedFrameLines(variantsWithUnscannedFrames.map(result => `${result.name}: ${result.unscannedFrames.join(', ')}`), {
266
+ unit: 'variant(s)',
267
+ trailingLines: [
268
+ 'Baseline deltas are reported as "n/a" wherever the two scans did not cover the same documents.',
269
+ '',
270
+ ],
271
+ }),
285
272
  'Variant | Violations | Nodes | Incomplete | Top new vs baseline',
286
273
  '--- | --- | --- | --- | ---',
287
274
  ...variantResults.map(result => {
@@ -299,7 +286,7 @@ const scanPageMatrix = defineTabTool({
299
286
  return `${result.name} | ${result.summary.totalRules} | ${result.summary.totalNodes} | ${incomplete} | ${topNew}`;
300
287
  }),
301
288
  '',
302
- `JSON report: ${reportPath}`,
289
+ `JSON report: ${reportResource.path}`,
303
290
  ];
304
291
  response.addCode('// Applied viewport/media/zoom variants and compared Axe deltas against baseline.');
305
292
  response.addResult(lines.join('\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"scanPageMatrix.js","sourceRoot":"","sources":["../../src/tools/scanPageMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanPageMatrix.js","sourceRoot":"","sources":["../../src/tools/scanPageMatrix.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import { generateLocator } from './utils.js';
21
21
  const screenshotSchema = z.object({
22
22
  type: z.enum(['png', 'jpeg', 'webp']).default('png').describe('Image format for the screenshot. Default is png.'),
23
23
  scale: z.enum(['css', 'device']).default('css').describe(`Image resolution scale. 'css' produces a screenshot sized in CSS pixels (smaller, consistent across devices). 'device' produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.`),
24
- filename: z.string().optional().describe('File name to save the screenshot to. Defaults to `page-{timestamp}-{token}.{png|jpeg|webp}` if not specified (the random token keeps concurrent sessions from overwriting each other).'),
24
+ filename: z.string().optional().describe('File name to save the screenshot to. Existing files are never overwritten. Defaults to `page-{timestamp}-{token}.{png|jpeg|webp}` if not specified.'),
25
25
  element: z.string().optional().describe('Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too.'),
26
26
  ref: z.string().optional().describe('Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too.'),
27
27
  fullPage: z.boolean().optional().describe('When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.'),
@@ -49,8 +49,11 @@ const screenshot = defineTabTool({
49
49
  const fileType = params.type || 'png';
50
50
  // The default name carries a random token besides the timestamp: sessions
51
51
  // share one output directory, and two same-millisecond screenshots would
52
- // otherwise overwrite each other. User-specified filenames stay untouched.
53
- const fileName = await tab.context.outputFile(params.filename ?? `page-${safeIsoTimestampForFileName()}.${fileType}`);
52
+ // otherwise overwrite each other. User-specified filenames are reserved
53
+ // exclusively so an existing artifact is never replaced.
54
+ const fileName = await tab.context.outputFile(params.filename ?? `page-${safeIsoTimestampForFileName()}.${fileType}`, params.filename !== undefined);
55
+ if (params.filename !== undefined)
56
+ response.deleteFileOnError(fileName);
54
57
  const options = {
55
58
  type: fileType,
56
59
  quality: fileType === 'png' ? undefined : 90,
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { z } from 'zod';
19
19
  import { defineTabTool, defineTool } from './tool.js';
20
20
  import * as javascript from '../utils/codegen.js';
21
21
  import { generateLocator } from './utils.js';
22
+ import { prepareUploadFiles } from './files.js';
22
23
  import { axeRuleSchemaShape, axeScopeSchemaShape, axeTagValues, dedupeAxeNodes, defaultAxeTags, prepareAxeResults, runAxeScan, unscannedFrameLines } from './axe.js';
23
24
  import { truncateDataUrls } from '../utils/dataUrl.js';
24
25
  import { safeIsoTimestampForFileName } from '../utils/fileUtils.js';
@@ -49,6 +50,7 @@ const scanPageSchema = z.object({
49
50
  });
50
51
  const snapshotSchema = z.object({
51
52
  compress: z.boolean().optional().describe('Collapse repeated non-interactive ARIA nodes in large snapshots when a repeated structural pattern appears more than 100 times. Keeps the first 10 examples of each collapsed pattern. Use browser_evaluate() to retrieve the full list if needed.'),
53
+ boxes: z.boolean().optional().describe('Include each element\'s bounding box as [box=x,y,width,height]. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect). Overrides snapshot.boxes for this call.'),
52
54
  });
53
55
  const findSchema = z.object({
54
56
  text: z.string().optional().describe('Plain text to search for in the page snapshot (case-insensitive substring match). Provide either text or regex, not both.'),
@@ -300,7 +302,7 @@ const snapshot = defineTool({
300
302
  },
301
303
  handle: async (context, params, response) => {
302
304
  await context.ensureTab();
303
- response.setIncludeSnapshot(params.compress);
305
+ response.setIncludeSnapshot(params.compress, params.boxes);
304
306
  },
305
307
  });
306
308
  const find = defineTabTool({
@@ -502,13 +504,14 @@ const drop = defineTabTool({
502
504
  payload.files = params.paths;
503
505
  if (Object.keys(params.data ?? {}).length)
504
506
  payload.data = params.data;
507
+ const files = payload.files ? await prepareUploadFiles(tab.context.config, payload.files) : undefined;
505
508
  const locator = await tab.refLocator(params);
506
509
  response.addCode(`await page.${await generateLocator(locator)}.drop(${JSON.stringify(payload)});`);
507
510
  await tab.waitForCompletion(async () => {
508
511
  // `drop` rejects when the target's dragover listener never calls
509
512
  // preventDefault(), which is Playwright's way of saying the element does
510
513
  // not accept the payload.
511
- await locator.drop(payload);
514
+ await locator.drop(files ? { ...payload, files } : payload);
512
515
  });
513
516
  },
514
517
  });
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
package/lib/tools.js CHANGED
@@ -25,6 +25,7 @@ import mouse from './tools/mouse.js';
25
25
  import navigate from './tools/navigate.js';
26
26
  import network from './tools/network.js';
27
27
  import pdf from './tools/pdf.js';
28
+ import recorder from './tools/recorder.js';
28
29
  import session from './tools/session.js';
29
30
  import snapshot from './tools/snapshot.js';
30
31
  import tabs from './tools/tabs.js';
@@ -49,6 +50,7 @@ export const allTools = [
49
50
  ...network,
50
51
  ...mouse,
51
52
  ...pdf,
53
+ ...recorder,
52
54
  ...screenshot,
53
55
  ...session,
54
56
  ...snapshot,
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAK7D,sFAAsF;AACtF,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,GAAG,MAAM;IACT,GAAG,OAAO;IACV,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,KAAK;IACR,GAAG,IAAI;IACP,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,OAAO;IACV,GAAG,KAAK;IACR,GAAG,GAAG;IACN,GAAG,UAAU;IACb,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,MAAM;IACT,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,iBAAiB;CACrB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iHAAiH;IACjH,gHAAgH;IAChH,2GAA2G;IAC3G,kHAAkH;IAClH,6EAA6E;IAC7E,mHAAmH;IACnH,qFAAqF;IACrF,4GAA4G;IAC5G,+GAA+G;IAC/G,8GAA8G;IAC9G,uGAAuG;CACxG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAK7D,sFAAsF;AACtF,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,GAAG,MAAM;IACT,GAAG,OAAO;IACV,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,KAAK;IACR,GAAG,IAAI;IACP,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,OAAO;IACV,GAAG,KAAK;IACR,GAAG,GAAG;IACN,GAAG,QAAQ;IACX,GAAG,UAAU;IACb,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,MAAM;IACT,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,iBAAiB;CACrB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iHAAiH;IACjH,gHAAgH;IAChH,2GAA2G;IAC3G,kHAAkH;IAClH,6EAA6E;IAC7E,mHAAmH;IACnH,qFAAqF;IACrF,4GAA4G;IAC5G,+GAA+G;IAC/G,8GAA8G;IAC9G,uGAAuG;CACxG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -14,9 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { applyStorageStateToReusedContext, assertStorageStateDoesNotResetUserProfile } from '../browserContextFactory.js';
17
- // Shared with the host's browser_connect validation so the two never drift:
18
- // the host checks the combination before tearing down the working provider,
19
- // and the factory keeps the same check as the last line of defense.
17
+ import { validateBrowserConnectConnectionString } from './validation.js';
18
+ // Shared with the host's browser_connect validation (see validation.ts) so
19
+ // the two never drift: the host checks the combination before tearing down
20
+ // the working provider, and the factory keeps the same check as the last
21
+ // line of defense.
20
22
  export const vscodeProfileConflictRemedy = 'Drop --user-data-dir (the state is applied inside the extension\'s own browser profile), or drop the storage state and sign in in that profile instead.';
21
23
  export class VSCodeBrowserContextFactory {
22
24
  _config;
@@ -44,7 +46,9 @@ export class VSCodeBrowserContextFactory {
44
46
  // already refuses to do. Checked before connecting, so the contradiction
45
47
  // fails fast without ever reaching the browser.
46
48
  assertStorageStateDoesNotResetUserProfile(this._config, vscodeProfileConflictRemedy);
47
- let launchOptions = this._config.browser.launchOptions;
49
+ let launchOptions = { ...this._config.browser.launchOptions };
50
+ if (this._config.browser.chromiumSandboxDefaulted)
51
+ delete launchOptions.chromiumSandbox;
48
52
  if (this._config.browser.userDataDir) {
49
53
  launchOptions = {
50
54
  ...launchOptions,
@@ -52,6 +56,9 @@ export class VSCodeBrowserContextFactory {
52
56
  userDataDir: this._config.browser.userDataDir,
53
57
  };
54
58
  }
59
+ const connectionError = validateBrowserConnectConnectionString(this._connectionString);
60
+ if (connectionError)
61
+ throw new Error(connectionError);
55
62
  const connectionString = new URL(this._connectionString);
56
63
  connectionString.searchParams.set('launch-options', JSON.stringify(launchOptions));
57
64
  const browserType = this._playwright.chromium; // it could also be firefox or webkit, we just need some browser type to call `connect` on