chrome-devtools-mcp 0.22.0 → 0.24.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 (78) hide show
  1. package/README.md +4 -0
  2. package/build/src/DevToolsConnectionAdapter.js +1 -0
  3. package/build/src/DevtoolsUtils.js +1 -0
  4. package/build/src/HeapSnapshotManager.js +16 -0
  5. package/build/src/McpContext.js +54 -126
  6. package/build/src/McpPage.js +204 -0
  7. package/build/src/McpResponse.js +44 -6
  8. package/build/src/Mutex.js +1 -0
  9. package/build/src/PageCollector.js +1 -0
  10. package/build/src/SlimMcpResponse.js +1 -0
  11. package/build/src/TextSnapshot.js +236 -0
  12. package/build/src/WaitForHelper.js +6 -0
  13. package/build/src/bin/check-latest-version.js +1 -0
  14. package/build/src/bin/chrome-devtools-cli-options.js +206 -46
  15. package/build/src/bin/chrome-devtools-mcp-cli-options.js +13 -1
  16. package/build/src/bin/chrome-devtools-mcp-main.js +1 -0
  17. package/build/src/bin/chrome-devtools-mcp.js +1 -0
  18. package/build/src/bin/chrome-devtools.js +27 -27
  19. package/build/src/browser.js +1 -0
  20. package/build/src/daemon/client.js +14 -12
  21. package/build/src/daemon/daemon.js +7 -5
  22. package/build/src/daemon/types.js +1 -0
  23. package/build/src/daemon/utils.js +20 -14
  24. package/build/src/formatters/ConsoleFormatter.js +48 -1
  25. package/build/src/formatters/HeapSnapshotFormatter.js +18 -2
  26. package/build/src/formatters/IssueFormatter.js +1 -0
  27. package/build/src/formatters/NetworkFormatter.js +1 -0
  28. package/build/src/formatters/SnapshotFormatter.js +2 -1
  29. package/build/src/index.js +114 -51
  30. package/build/src/issue-descriptions.js +1 -0
  31. package/build/src/logger.js +1 -0
  32. package/build/src/polyfill.js +1 -0
  33. package/build/src/telemetry/ClearcutLogger.js +13 -1
  34. package/build/src/telemetry/WatchdogClient.js +1 -0
  35. package/build/src/telemetry/flagUtils.js +1 -0
  36. package/build/src/telemetry/metricUtils.js +1 -0
  37. package/build/src/telemetry/persistence.js +1 -0
  38. package/build/src/telemetry/toolMetricsUtils.js +2 -1
  39. package/build/src/telemetry/types.js +1 -0
  40. package/build/src/telemetry/watchdog/ClearcutSender.js +1 -0
  41. package/build/src/telemetry/watchdog/main.js +1 -0
  42. package/build/src/third_party/THIRD_PARTY_NOTICES +32 -5
  43. package/build/src/third_party/bundled-packages.json +3 -2
  44. package/build/src/third_party/devtools-formatter-worker.js +2451 -2933
  45. package/build/src/third_party/devtools-heap-snapshot-worker.js +32 -26
  46. package/build/src/third_party/index.js +1942 -1536
  47. package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +21717 -20261
  48. package/build/src/tools/ToolDefinition.js +1 -0
  49. package/build/src/tools/categories.js +6 -2
  50. package/build/src/tools/console.js +3 -0
  51. package/build/src/tools/emulation.js +2 -0
  52. package/build/src/tools/extensions.js +6 -0
  53. package/build/src/tools/inPage.js +5 -35
  54. package/build/src/tools/input.js +13 -2
  55. package/build/src/tools/lighthouse.js +17 -9
  56. package/build/src/tools/memory.js +34 -1
  57. package/build/src/tools/network.js +7 -2
  58. package/build/src/tools/pages.js +218 -146
  59. package/build/src/tools/performance.js +6 -0
  60. package/build/src/tools/screencast.js +25 -10
  61. package/build/src/tools/screenshot.js +3 -0
  62. package/build/src/tools/script.js +2 -0
  63. package/build/src/tools/slim/tools.js +4 -0
  64. package/build/src/tools/snapshot.js +5 -1
  65. package/build/src/tools/tools.js +1 -0
  66. package/build/src/tools/webmcp.js +3 -0
  67. package/build/src/trace-processing/parse.js +1 -0
  68. package/build/src/types.js +1 -0
  69. package/build/src/utils/check-for-updates.js +1 -0
  70. package/build/src/utils/files.js +5 -10
  71. package/build/src/utils/id.js +1 -0
  72. package/build/src/utils/keyboard.js +1 -0
  73. package/build/src/utils/pagination.js +1 -0
  74. package/build/src/utils/string.js +1 -0
  75. package/build/src/utils/types.js +1 -0
  76. package/build/src/version.js +2 -1
  77. package/package.json +10 -9
  78. package/build/src/bin/cliDefinitions.js +0 -621
@@ -4,3 +4,4 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export {};
7
+ //# sourceMappingURL=types.js.map
@@ -71,3 +71,4 @@ export async function checkForUpdates(message) {
71
71
  // Fail silently in case of any errors.
72
72
  }
73
73
  }
74
+ //# sourceMappingURL=check-for-updates.js.map
@@ -6,18 +6,13 @@
6
6
  import fs from 'node:fs/promises';
7
7
  import os from 'node:os';
8
8
  import path from 'node:path';
9
- export async function saveTemporaryFile(data, filename) {
10
- try {
11
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'chrome-devtools-mcp-'));
12
- const filepath = path.join(dir, filename);
13
- await fs.writeFile(filepath, data);
14
- return { filepath };
15
- }
16
- catch (err) {
17
- throw new Error('Could not save a file', { cause: err });
18
- }
9
+ export async function getTempFilePath(filename) {
10
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'chrome-devtools-mcp-'));
11
+ const filepath = path.join(dir, filename);
12
+ return filepath;
19
13
  }
20
14
  export function ensureExtension(filepath, extension) {
21
15
  const ext = path.extname(filepath);
22
16
  return filepath.slice(0, filepath.length - ext.length) + extension;
23
17
  }
18
+ //# sourceMappingURL=files.js.map
@@ -13,3 +13,4 @@ export function createIdGenerator() {
13
13
  };
14
14
  }
15
15
  export const stableIdSymbol = Symbol('stableIdSymbol');
16
+ //# sourceMappingURL=id.js.map
@@ -294,3 +294,4 @@ export function parseKey(keyInput) {
294
294
  }
295
295
  return [result.at(-1), ...result.slice(0, -1)];
296
296
  }
297
+ //# sourceMappingURL=keyboard.js.map
@@ -47,3 +47,4 @@ function resolvePageIndex(pageIdx, totalPages) {
47
47
  }
48
48
  return { currentPage: pageIdx, invalidPage: false };
49
49
  }
50
+ //# sourceMappingURL=pagination.js.map
@@ -34,3 +34,4 @@ export function toSnakeCase(text) {
34
34
  .replace(/^_|_$/g, ''); // 5
35
35
  return result;
36
36
  }
37
+ //# sourceMappingURL=string.js.map
@@ -4,3 +4,4 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export {};
7
+ //# sourceMappingURL=types.js.map
@@ -5,5 +5,6 @@
5
5
  */
6
6
  // If moved update release-please config
7
7
  // x-release-please-start-version
8
- export const VERSION = '0.22.0';
8
+ export const VERSION = '0.24.0';
9
9
  // x-release-please-end
10
+ //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chrome-devtools-mcp",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "MCP server for Chrome DevTools",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,10 +16,10 @@
16
16
  "typecheck": "tsc --noEmit",
17
17
  "format": "eslint --cache --fix . && prettier --write --cache .",
18
18
  "check-format": "eslint --cache . && prettier --check --cache .;",
19
- "gen": "npm run build && npm run docs:generate && npm run cli:generate && npm run update-tool-call-metrics && npm run update-flag-usage-metrics && npm run format",
19
+ "gen": "npm run build && npm run docs:generate && npm run cli:generate && npm run update-metrics && npm run format",
20
20
  "docs:generate": "node --experimental-strip-types scripts/generate-docs.ts",
21
- "start": "npm run build && node build/src/index.js",
22
- "start-debug": "DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/index.js",
21
+ "start": "npm run build && node build/src/bin/chrome-devtools-mcp.js",
22
+ "start-debug": "DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/bin/chrome-devtools-mcp.js",
23
23
  "test": "npm run build && node scripts/test.mjs",
24
24
  "test:no-build": "node scripts/test.mjs",
25
25
  "test:only": "npm run build && node scripts/test.mjs --test-only",
@@ -27,8 +27,7 @@
27
27
  "prepare": "node --experimental-strip-types scripts/prepare.ts",
28
28
  "verify-server-json-version": "node --experimental-strip-types scripts/verify-server-json-version.ts",
29
29
  "update-lighthouse": "node --experimental-strip-types scripts/update-lighthouse.ts",
30
- "update-tool-call-metrics": "node --experimental-strip-types scripts/update_tool_call_metrics.ts",
31
- "update-flag-usage-metrics": "node --experimental-strip-types scripts/update_flag_usage_metrics.ts",
30
+ "update-metrics": "node --experimental-strip-types scripts/update_metrics.ts",
32
31
  "verify-npm-package": "node scripts/verify-npm-package.mjs",
33
32
  "eval": "npm run build && node --experimental-strip-types scripts/eval_gemini.ts",
34
33
  "count-tokens": "node --experimental-strip-types scripts/count_tokens.ts"
@@ -36,7 +35,8 @@
36
35
  "files": [
37
36
  "build/src",
38
37
  "LICENSE",
39
- "!*.tsbuildinfo"
38
+ "!*.tsbuildinfo",
39
+ "!*.js.map"
40
40
  ],
41
41
  "repository": "ChromeDevTools/chrome-devtools-mcp",
42
42
  "author": "Google LLC",
@@ -62,14 +62,14 @@
62
62
  "@types/yargs": "^17.0.33",
63
63
  "@typescript-eslint/eslint-plugin": "^8.43.0",
64
64
  "@typescript-eslint/parser": "^8.43.0",
65
- "chrome-devtools-frontend": "1.0.1613625",
65
+ "chrome-devtools-frontend": "1.0.1618066",
66
66
  "core-js": "3.49.0",
67
67
  "debug": "4.4.3",
68
68
  "eslint": "^9.35.0",
69
69
  "eslint-import-resolver-typescript": "^4.4.4",
70
70
  "eslint-plugin-import": "^2.32.0",
71
71
  "globals": "^17.0.0",
72
- "lighthouse": "13.1.0",
72
+ "lighthouse": "13.2.0",
73
73
  "prettier": "^3.6.2",
74
74
  "puppeteer": "24.42.0",
75
75
  "rollup": "4.60.2",
@@ -80,6 +80,7 @@
80
80
  "tiktoken": "^1.0.22",
81
81
  "typescript": "^6.0.2",
82
82
  "typescript-eslint": "^8.43.0",
83
+ "urlpattern-polyfill": "^10.1.0",
83
84
  "yargs": "18.0.0"
84
85
  },
85
86
  "engines": {