chrome-devtools-mcp-for-extension 0.5.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 (410) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +268 -0
  3. package/build/node_modules/chrome-devtools-frontend/LICENSE +27 -0
  4. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/App.js +4 -0
  5. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/AppProvider.js +17 -0
  6. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Base64.js +43 -0
  7. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +27 -0
  8. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Color.js +2029 -0
  9. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +330 -0
  10. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +221 -0
  11. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Console.js +86 -0
  12. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +14 -0
  13. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/EventTarget.js +14 -0
  14. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +64 -0
  15. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +4 -0
  16. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Lazy.js +29 -0
  17. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Linkifier.js +34 -0
  18. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +20 -0
  19. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +49 -0
  20. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +86 -0
  21. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +459 -0
  22. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +144 -0
  23. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/QueryParamHandler.js +4 -0
  24. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +69 -0
  25. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +506 -0
  26. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +13 -0
  27. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +159 -0
  28. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +24 -0
  29. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +79 -0
  30. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +164 -0
  31. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +1252 -0
  32. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +97 -0
  33. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +17 -0
  34. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +40 -0
  35. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +71 -0
  36. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +127 -0
  37. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Worker.js +44 -0
  38. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +44 -0
  39. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +415 -0
  40. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +186 -0
  41. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +510 -0
  42. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +66 -0
  43. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +59 -0
  44. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +232 -0
  45. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +957 -0
  46. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +12 -0
  47. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +60 -0
  48. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +199 -0
  49. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +4 -0
  50. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +4 -0
  51. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DOMUtilities.js +122 -0
  52. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +13 -0
  53. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +27 -0
  54. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +21 -0
  55. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +79 -0
  56. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +143 -0
  57. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +72 -0
  58. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +536 -0
  59. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +9 -0
  60. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +157 -0
  61. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +24 -0
  62. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +4 -0
  63. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +22 -0
  64. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +26 -0
  65. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +802 -0
  66. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/NodeURL.js +31 -0
  67. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +13 -0
  68. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +4 -0
  69. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +5 -0
  70. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +281 -0
  71. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +846 -0
  72. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +155 -0
  73. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +99 -0
  74. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +220 -0
  75. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +98 -0
  76. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +31 -0
  77. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +22 -0
  78. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +1284 -0
  79. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +100 -0
  80. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +1518 -0
  81. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +902 -0
  82. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +315 -0
  83. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +572 -0
  84. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +1336 -0
  85. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +53 -0
  86. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +361 -0
  87. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +22 -0
  88. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +275 -0
  89. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +166 -0
  90. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +24 -0
  91. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +29 -0
  92. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +232 -0
  93. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +47 -0
  94. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +242 -0
  95. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +629 -0
  96. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +14 -0
  97. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +241 -0
  98. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +198 -0
  99. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +163 -0
  100. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +597 -0
  101. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +1610 -0
  102. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +1231 -0
  103. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +527 -0
  104. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +350 -0
  105. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +125 -0
  106. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +4 -0
  107. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +199 -0
  108. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +130 -0
  109. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +73 -0
  110. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +83 -0
  111. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +208 -0
  112. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +41 -0
  113. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +95 -0
  114. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +34 -0
  115. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +1916 -0
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +1668 -0
  117. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +48 -0
  118. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +765 -0
  119. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +384 -0
  120. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +25 -0
  121. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +300 -0
  122. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +67 -0
  123. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +62 -0
  124. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +563 -0
  125. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +286 -0
  126. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +4 -0
  127. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +905 -0
  128. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +163 -0
  129. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +922 -0
  130. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +535 -0
  131. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +45 -0
  132. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +174 -0
  133. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +395 -0
  134. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +54 -0
  135. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +67 -0
  136. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +110 -0
  137. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +216 -0
  138. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +271 -0
  139. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +511 -0
  140. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +651 -0
  141. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +41 -0
  142. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +132 -0
  143. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +189 -0
  144. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +156 -0
  145. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +276 -0
  146. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +143 -0
  147. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +53 -0
  148. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +262 -0
  149. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +386 -0
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +52 -0
  151. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +66 -0
  152. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +1117 -0
  153. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +89 -0
  154. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +1513 -0
  155. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +339 -0
  156. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +1561 -0
  157. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +7514 -0
  158. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +4 -0
  159. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +262 -0
  160. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +979 -0
  161. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +613 -0
  162. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +139 -0
  163. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +372 -0
  164. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +132 -0
  165. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +105 -0
  166. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +243 -0
  167. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +407 -0
  168. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +130 -0
  169. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +992 -0
  170. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +574 -0
  171. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +112 -0
  172. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +186 -0
  173. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +60 -0
  174. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +107 -0
  175. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +244 -0
  176. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +473 -0
  177. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +399 -0
  178. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +87 -0
  179. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +181 -0
  180. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +268 -0
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +55 -0
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +20 -0
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +514 -0
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +90 -0
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +6 -0
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +283 -0
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +4 -0
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +775 -0
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +1706 -0
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +6 -0
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +131 -0
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +77 -0
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +6 -0
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +347 -0
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +4 -0
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +67 -0
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +494 -0
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +49 -0
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +73 -0
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +7 -0
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +4 -0
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +256 -0
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +120 -0
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +6 -0
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +626 -0
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +59 -0
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeTreeCache.js +32 -0
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +7 -0
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +4 -0
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +67 -0
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +97 -0
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +113 -0
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +5 -0
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +7 -0
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +32 -0
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +173 -0
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +30 -0
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +32 -0
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +79 -0
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +69 -0
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +35 -0
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +231 -0
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +355 -0
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +68 -0
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +14 -0
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +122 -0
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +81 -0
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +370 -0
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +166 -0
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +114 -0
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +555 -0
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +815 -0
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +44 -0
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +76 -0
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +162 -0
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +191 -0
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +118 -0
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +50 -0
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +592 -0
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +10 -0
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +109 -0
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +26 -0
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +187 -0
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +162 -0
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +21 -0
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +263 -0
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +148 -0
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +483 -0
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +35 -0
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +147 -0
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +180 -0
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +126 -0
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +85 -0
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +27 -0
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +103 -0
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +445 -0
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +21 -0
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +401 -0
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +33 -0
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +540 -0
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +42 -0
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +349 -0
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +346 -0
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +207 -0
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +97 -0
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +251 -0
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +71 -0
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +101 -0
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +317 -0
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +183 -0
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +134 -0
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +33 -0
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +7 -0
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +163 -0
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +1 -0
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +41 -0
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +102 -0
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +495 -0
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +74 -0
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +184 -0
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +806 -0
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +254 -0
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +10 -0
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +488 -0
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +208 -0
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +340 -0
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +180 -0
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +257 -0
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +89 -0
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +81 -0
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +160 -0
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +117 -0
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +262 -0
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +188 -0
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +182 -0
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +88 -0
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +21 -0
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +199 -0
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +544 -0
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +191 -0
  301. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +135 -0
  302. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +92 -0
  303. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +97 -0
  304. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +101 -0
  305. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +9 -0
  306. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +18 -0
  307. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +6 -0
  308. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +488 -0
  309. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +5 -0
  310. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +276 -0
  311. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +63 -0
  312. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +82 -0
  313. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +551 -0
  314. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +7 -0
  315. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +9 -0
  316. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +136 -0
  317. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +67 -0
  318. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +68 -0
  319. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +48 -0
  320. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +68 -0
  321. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +101 -0
  322. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +64 -0
  323. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +78 -0
  324. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +11 -0
  325. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +115 -0
  326. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +42 -0
  327. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +47 -0
  328. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +134 -0
  329. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +450 -0
  330. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +154 -0
  331. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +9 -0
  332. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +24 -0
  333. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +4 -0
  334. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +17 -0
  335. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +18 -0
  336. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +37 -0
  337. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +57 -0
  338. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +4 -0
  339. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +15 -0
  340. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +574 -0
  341. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +9 -0
  342. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +201 -0
  343. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +4 -0
  344. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +64 -0
  345. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +511 -0
  346. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +113 -0
  347. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +563 -0
  348. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +204 -0
  349. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +9 -0
  350. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +1 -0
  351. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +202 -0
  352. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +2 -0
  353. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +940 -0
  354. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +26 -0
  355. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +196 -0
  356. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +226 -0
  357. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +4 -0
  358. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +394 -0
  359. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +24 -0
  360. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +283 -0
  361. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +7 -0
  362. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +9 -0
  363. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +84 -0
  364. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +4 -0
  365. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +20 -0
  366. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +146 -0
  367. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +2 -0
  368. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +2 -0
  369. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +118 -0
  370. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +40 -0
  371. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +26 -0
  372. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +4 -0
  373. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +215 -0
  374. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +4 -0
  375. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +4 -0
  376. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +4 -0
  377. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +2 -0
  378. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +2 -0
  379. package/build/src/McpContext.js +283 -0
  380. package/build/src/McpResponse.js +223 -0
  381. package/build/src/Mutex.js +40 -0
  382. package/build/src/PageCollector.js +68 -0
  383. package/build/src/WaitForHelper.js +134 -0
  384. package/build/src/browser.js +493 -0
  385. package/build/src/cli.js +156 -0
  386. package/build/src/formatters/consoleFormatter.js +73 -0
  387. package/build/src/formatters/networkFormatter.js +34 -0
  388. package/build/src/formatters/snapshotFormatter.js +75 -0
  389. package/build/src/index.js +13 -0
  390. package/build/src/logger.js +27 -0
  391. package/build/src/main.js +139 -0
  392. package/build/src/system-profile.js +181 -0
  393. package/build/src/tools/ToolDefinition.js +9 -0
  394. package/build/src/tools/bookmarks.js +310 -0
  395. package/build/src/tools/categories.js +15 -0
  396. package/build/src/tools/console.js +19 -0
  397. package/build/src/tools/emulation.js +61 -0
  398. package/build/src/tools/extensions.js +184 -0
  399. package/build/src/tools/input.js +201 -0
  400. package/build/src/tools/network.js +77 -0
  401. package/build/src/tools/pages.js +188 -0
  402. package/build/src/tools/performance.js +145 -0
  403. package/build/src/tools/screenshot.js +65 -0
  404. package/build/src/tools/script.js +57 -0
  405. package/build/src/tools/snapshot.js +42 -0
  406. package/build/src/tools/webstore-auto-screenshot.js +159 -0
  407. package/build/src/tools/webstore-submission.js +332 -0
  408. package/build/src/trace-processing/parse.js +93 -0
  409. package/build/src/utils/pagination.js +49 -0
  410. package/package.json +79 -0
@@ -0,0 +1,181 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import fs from 'node:fs';
7
+ import os from 'node:os';
8
+ import path from 'node:path';
9
+ /**
10
+ * Get platform-specific Chrome user data directory paths
11
+ */
12
+ function getChromeUserDataPaths() {
13
+ const homeDir = os.homedir();
14
+ const platform = os.platform();
15
+ const platformPaths = {
16
+ darwin: {
17
+ stable: path.join(homeDir, 'Library', 'Application Support', 'Google', 'Chrome'),
18
+ canary: path.join(homeDir, 'Library', 'Application Support', 'Google', 'Chrome Canary'),
19
+ beta: path.join(homeDir, 'Library', 'Application Support', 'Google', 'Chrome Beta'),
20
+ dev: path.join(homeDir, 'Library', 'Application Support', 'Google', 'Chrome Dev'),
21
+ },
22
+ win32: {
23
+ stable: path.join(homeDir, 'AppData', 'Local', 'Google', 'Chrome', 'User Data'),
24
+ canary: path.join(homeDir, 'AppData', 'Local', 'Google', 'Chrome SxS', 'User Data'),
25
+ beta: path.join(homeDir, 'AppData', 'Local', 'Google', 'Chrome Beta', 'User Data'),
26
+ dev: path.join(homeDir, 'AppData', 'Local', 'Google', 'Chrome Dev', 'User Data'),
27
+ },
28
+ linux: {
29
+ stable: path.join(homeDir, '.config', 'google-chrome'),
30
+ canary: path.join(homeDir, '.config', 'google-chrome-unstable'),
31
+ beta: path.join(homeDir, '.config', 'google-chrome-beta'),
32
+ dev: path.join(homeDir, '.config', 'google-chrome-dev'),
33
+ },
34
+ };
35
+ return platformPaths[platform] || {};
36
+ }
37
+ /**
38
+ * Check if Chrome profile directory exists and is valid
39
+ */
40
+ function validateChromeProfile(profilePath) {
41
+ try {
42
+ if (!fs.existsSync(profilePath)) {
43
+ return false;
44
+ }
45
+ const stats = fs.statSync(profilePath);
46
+ if (!stats.isDirectory()) {
47
+ return false;
48
+ }
49
+ // Check for essential Chrome profile files
50
+ const essentialFiles = [
51
+ 'Default', // Default profile directory
52
+ 'Local State', // Chrome local state file
53
+ ];
54
+ for (const file of essentialFiles) {
55
+ const filePath = path.join(profilePath, file);
56
+ if (!fs.existsSync(filePath)) {
57
+ return false;
58
+ }
59
+ }
60
+ return true;
61
+ }
62
+ catch (error) {
63
+ return false;
64
+ }
65
+ }
66
+ /**
67
+ * Detect system Chrome profile for the specified channel
68
+ */
69
+ export function detectSystemChromeProfile(channel = 'stable') {
70
+ const platform = os.platform();
71
+ const chromePaths = getChromeUserDataPaths();
72
+ if (!chromePaths[channel]) {
73
+ return null;
74
+ }
75
+ const profilePath = chromePaths[channel];
76
+ const exists = validateChromeProfile(profilePath);
77
+ if (exists) {
78
+ return {
79
+ path: profilePath,
80
+ exists: true,
81
+ platform,
82
+ channel,
83
+ };
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * Detect any available system Chrome profile with fallback priority
89
+ */
90
+ export function detectAnySystemChromeProfile() {
91
+ const platform = os.platform();
92
+ const chromePaths = getChromeUserDataPaths();
93
+ // Priority order: stable > beta > dev > canary
94
+ const channelPriority = ['stable', 'beta', 'dev', 'canary'];
95
+ for (const channel of channelPriority) {
96
+ const profilePath = chromePaths[channel];
97
+ if (profilePath) {
98
+ const exists = validateChromeProfile(profilePath);
99
+ if (exists) {
100
+ return {
101
+ path: profilePath,
102
+ exists: true,
103
+ platform,
104
+ channel,
105
+ };
106
+ }
107
+ }
108
+ }
109
+ return null;
110
+ }
111
+ /**
112
+ * Get all available system Chrome profiles
113
+ */
114
+ export function getAllSystemChromeProfiles() {
115
+ const platform = os.platform();
116
+ const chromePaths = getChromeUserDataPaths();
117
+ const profiles = [];
118
+ for (const [channel, profilePath] of Object.entries(chromePaths)) {
119
+ if (profilePath) {
120
+ const exists = validateChromeProfile(profilePath);
121
+ profiles.push({
122
+ path: profilePath,
123
+ exists,
124
+ platform,
125
+ channel,
126
+ });
127
+ }
128
+ }
129
+ return profiles;
130
+ }
131
+ /**
132
+ * Get the default profile path within a Chrome user data directory
133
+ */
134
+ export function getDefaultProfilePath(userDataDir) {
135
+ return path.join(userDataDir, 'Default');
136
+ }
137
+ /**
138
+ * Check if we're running in a sandboxed environment where system profile detection might fail
139
+ */
140
+ export function isSandboxedEnvironment() {
141
+ const platform = os.platform();
142
+ // Check for common sandbox indicators
143
+ if (platform === 'darwin') {
144
+ // macOS Seatbelt indicators
145
+ const sandboxIndicators = [
146
+ process.env.APP_SANDBOX_CONTAINER_ID,
147
+ process.env.TMPDIR?.includes('TemporaryItems'),
148
+ ];
149
+ return sandboxIndicators.some(indicator => !!indicator);
150
+ }
151
+ if (platform === 'linux') {
152
+ // Linux container indicators
153
+ const containerIndicators = [
154
+ fs.existsSync('/.dockerenv'),
155
+ process.env.container,
156
+ process.env.KUBERNETES_SERVICE_HOST,
157
+ ];
158
+ return containerIndicators.some(indicator => !!indicator);
159
+ }
160
+ return false;
161
+ }
162
+ /**
163
+ * Log system profile detection information for debugging
164
+ */
165
+ export function logSystemProfileInfo() {
166
+ const platform = os.platform();
167
+ const profiles = getAllSystemChromeProfiles();
168
+ const sandboxed = isSandboxedEnvironment();
169
+ console.error(`System Chrome Profile Detection:`);
170
+ console.error(` Platform: ${platform}`);
171
+ console.error(` Sandboxed Environment: ${sandboxed}`);
172
+ console.error(` Available Profiles:`);
173
+ if (profiles.length === 0) {
174
+ console.error(` None detected`);
175
+ }
176
+ else {
177
+ profiles.forEach((profile, index) => {
178
+ console.error(` ${index + 1}. ${profile.channel}: ${profile.path} (${profile.exists ? 'exists' : 'not found'})`);
179
+ });
180
+ }
181
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export function defineTool(definition) {
7
+ return definition;
8
+ }
9
+ export const CLOSE_PAGE_ERROR = 'The last open page cannot be closed. It is fine to keep it open.';
@@ -0,0 +1,310 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { z } from 'zod';
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ import * as os from 'os';
10
+ import { ToolCategories } from './categories.js';
11
+ import { defineTool } from './ToolDefinition.js';
12
+ // Default hardcoded bookmarks - fallback when Chrome bookmarks cannot be loaded
13
+ function getDefaultBookmarks() {
14
+ return {
15
+ 'dashboard': 'https://chrome.google.com/webstore/devconsole',
16
+ 'new_item': 'https://chrome.google.com/webstore/devconsole/register',
17
+ 'analytics': 'https://chrome.google.com/webstore/devconsole/analytics',
18
+ 'payments': 'https://chrome.google.com/webstore/devconsole/payments',
19
+ 'support': 'https://support.google.com/chrome_webstore/contact/developer_support',
20
+ 'extensions': 'chrome://extensions/',
21
+ 'extensions_dev': 'chrome://extensions/?id=',
22
+ 'policy': 'https://developer.chrome.com/docs/webstore/program-policies/',
23
+ 'docs': 'https://developer.chrome.com/docs/extensions/',
24
+ 'localhost': 'http://localhost:3000',
25
+ 'localhost8080': 'http://localhost:8080',
26
+ 'suno': 'https://suno.com/create',
27
+ 'chatgpt': 'https://chatgpt.com'
28
+ };
29
+ }
30
+ /**
31
+ * Get Chrome bookmarks file path based on the operating system
32
+ */
33
+ function getChromeBookmarksPath() {
34
+ const platform = process.platform;
35
+ const homeDir = os.homedir();
36
+ switch (platform) {
37
+ case 'darwin': // macOS
38
+ return path.join(homeDir, 'Library', 'Application Support', 'Google', 'Chrome', 'Default', 'Bookmarks');
39
+ case 'win32': // Windows
40
+ return path.join(homeDir, 'AppData', 'Local', 'Google', 'Chrome', 'User Data', 'Default', 'Bookmarks');
41
+ case 'linux': // Linux
42
+ return path.join(homeDir, '.config', 'google-chrome', 'Default', 'Bookmarks');
43
+ default:
44
+ return path.join(homeDir, '.config', 'google-chrome', 'Default', 'Bookmarks');
45
+ }
46
+ }
47
+ /**
48
+ * Recursively extract bookmark URLs from Chrome bookmark structure
49
+ */
50
+ function extractBookmarkUrls(bookmark, prefix = '') {
51
+ const result = {};
52
+ const MAX_BOOKMARKS = 100; // Limit to 100 bookmarks to prevent response size issues
53
+ let bookmarkCount = 0;
54
+ // Helper function to recursively extract bookmarks with limit
55
+ function extract(node) {
56
+ if (bookmarkCount >= MAX_BOOKMARKS)
57
+ return;
58
+ if (node.type === 'url' && node.url && node.name) {
59
+ // Create a safe key from bookmark name
60
+ const key = node.name.toLowerCase()
61
+ .replace(/[^a-z0-9]/g, '_')
62
+ .replace(/_+/g, '_')
63
+ .replace(/^_|_$/g, '');
64
+ if (key && !result[key]) {
65
+ result[key] = node.url;
66
+ bookmarkCount++;
67
+ }
68
+ }
69
+ if (node.children && bookmarkCount < MAX_BOOKMARKS) {
70
+ for (const child of node.children) {
71
+ extract(child);
72
+ if (bookmarkCount >= MAX_BOOKMARKS)
73
+ break;
74
+ }
75
+ }
76
+ }
77
+ extract(bookmark);
78
+ return result;
79
+ }
80
+ /**
81
+ * Load Chrome bookmarks from the user's Chrome profile
82
+ */
83
+ function loadChromeBookmarks() {
84
+ try {
85
+ const bookmarksPath = getChromeBookmarksPath();
86
+ console.error(`📚 Attempting to load Chrome bookmarks from: ${bookmarksPath}`);
87
+ if (!fs.existsSync(bookmarksPath)) {
88
+ console.error(`⚠️ Chrome bookmarks file not found: ${bookmarksPath}`);
89
+ return {};
90
+ }
91
+ const bookmarksData = fs.readFileSync(bookmarksPath, 'utf8');
92
+ const bookmarksJson = JSON.parse(bookmarksData);
93
+ const allBookmarks = {};
94
+ // Extract bookmarks from all roots
95
+ Object.assign(allBookmarks, extractBookmarkUrls(bookmarksJson.roots.bookmark_bar));
96
+ Object.assign(allBookmarks, extractBookmarkUrls(bookmarksJson.roots.other));
97
+ Object.assign(allBookmarks, extractBookmarkUrls(bookmarksJson.roots.synced));
98
+ const bookmarkCount = Object.keys(allBookmarks).length;
99
+ console.error(`✅ Successfully loaded ${bookmarkCount} Chrome bookmarks${bookmarkCount >= 100 ? ' (limited to 100)' : ''}`);
100
+ return allBookmarks;
101
+ }
102
+ catch (error) {
103
+ console.error('❌ Failed to load Chrome bookmarks:');
104
+ console.error(' Path:', getChromeBookmarksPath());
105
+ console.error(' Error:', error instanceof Error ? error.message : String(error));
106
+ if (error instanceof Error && error.stack) {
107
+ console.error(' Stack:', error.stack);
108
+ }
109
+ return {};
110
+ }
111
+ }
112
+ /**
113
+ * Get all bookmarks: merged Chrome bookmarks with default fallback
114
+ */
115
+ function getBookmarks() {
116
+ const defaultBookmarks = getDefaultBookmarks();
117
+ const chromeBookmarks = loadChromeBookmarks();
118
+ // Merge bookmarks: Chrome bookmarks take precedence, but defaults are always included
119
+ return {
120
+ ...defaultBookmarks,
121
+ ...chromeBookmarks
122
+ };
123
+ }
124
+ export const listBookmarks = defineTool({
125
+ name: 'list_bookmarks',
126
+ description: `List all available bookmarks including both Chrome bookmarks from the user's profile and default development bookmarks. Automatically loads bookmarks from Chrome's bookmark file and merges them with predefined development URLs.`,
127
+ annotations: {
128
+ category: ToolCategories.NAVIGATION_AUTOMATION,
129
+ readOnlyHint: true,
130
+ },
131
+ schema: {},
132
+ handler: async (_request, response, _context) => {
133
+ const defaultBookmarks = getDefaultBookmarks();
134
+ const chromeBookmarks = loadChromeBookmarks();
135
+ const allBookmarks = getBookmarks();
136
+ const bookmarkNames = Object.keys(allBookmarks);
137
+ if (bookmarkNames.length === 0) {
138
+ response.appendResponseLine('No bookmarks configured.');
139
+ response.appendResponseLine('');
140
+ response.appendResponseLine('💡 **Tip:** Chrome bookmarks could not be loaded. Check if Chrome is installed and has bookmarks.');
141
+ return;
142
+ }
143
+ response.appendResponseLine('📚 **Available Bookmarks:**');
144
+ response.appendResponseLine('');
145
+ // Show loading status
146
+ const chromeBookmarkCount = Object.keys(chromeBookmarks).length;
147
+ const defaultBookmarkCount = Object.keys(defaultBookmarks).length;
148
+ if (chromeBookmarkCount > 0) {
149
+ response.appendResponseLine(`✅ Loaded ${chromeBookmarkCount} bookmarks from Chrome profile${chromeBookmarkCount >= 100 ? ' (limited to 100)' : ''}`);
150
+ response.appendResponseLine(`📋 ${defaultBookmarkCount} default development bookmarks included`);
151
+ }
152
+ else {
153
+ response.appendResponseLine(`⚠️ Could not load Chrome bookmarks, using ${defaultBookmarkCount} default bookmarks`);
154
+ }
155
+ response.appendResponseLine('');
156
+ bookmarkNames.forEach(name => {
157
+ const url = allBookmarks[name];
158
+ const source = chromeBookmarks[name] ? '🌐' : '🔧';
159
+ response.appendResponseLine(`${source} **${name}**: ${url}`);
160
+ });
161
+ response.appendResponseLine('');
162
+ response.appendResponseLine('**Legend:** 🌐 = Chrome bookmark, 🔧 = Default bookmark');
163
+ response.appendResponseLine('');
164
+ response.appendResponseLine(`Use \`navigate_bookmark name="<bookmark_name>"\` to navigate to any of these URLs.`);
165
+ },
166
+ });
167
+ export const navigateBookmark = defineTool({
168
+ name: 'navigate_bookmark',
169
+ description: `Navigate to a bookmark URL from Chrome bookmarks or default development bookmarks. Automatically includes bookmarks from the user's Chrome profile merged with predefined development resources.`,
170
+ annotations: {
171
+ category: ToolCategories.NAVIGATION_AUTOMATION,
172
+ readOnlyHint: false,
173
+ },
174
+ schema: {
175
+ name: z
176
+ .string()
177
+ .describe('The name of the bookmark to navigate to. Use list_bookmarks to see available options.'),
178
+ },
179
+ handler: async (request, response, context) => {
180
+ const { name } = request.params;
181
+ const bookmarks = getBookmarks();
182
+ if (!bookmarks[name]) {
183
+ response.appendResponseLine(`❌ Bookmark "${name}" not found.`);
184
+ response.appendResponseLine('');
185
+ const availableBookmarks = Object.keys(bookmarks);
186
+ if (availableBookmarks.length > 0) {
187
+ response.appendResponseLine('Available bookmarks:');
188
+ availableBookmarks.forEach(bookmarkName => {
189
+ response.appendResponseLine(`• ${bookmarkName}`);
190
+ });
191
+ }
192
+ else {
193
+ response.appendResponseLine('No bookmarks are currently configured.');
194
+ }
195
+ return;
196
+ }
197
+ const url = bookmarks[name];
198
+ const page = context.getSelectedPage();
199
+ await context.waitForEventsAfterAction(async () => {
200
+ await page.goto(url, { waitUntil: 'networkidle0' });
201
+ response.appendResponseLine(`✅ Navigated to bookmark "${name}": ${url}`);
202
+ });
203
+ },
204
+ });
205
+ export const openExtensionById = defineTool({
206
+ name: 'open_extension_by_id',
207
+ description: `Open a specific Chrome extension page by its ID. Useful for quickly accessing extension details, options, or management pages.`,
208
+ annotations: {
209
+ category: ToolCategories.EXTENSION_DEVELOPMENT,
210
+ readOnlyHint: false,
211
+ },
212
+ schema: {
213
+ extensionId: z
214
+ .string()
215
+ .describe('The Chrome extension ID (e.g., "abcdefghijklmnopqrstuvwxyz")'),
216
+ page: z
217
+ .enum(['details', 'options'])
218
+ .default('details')
219
+ .describe('The extension page to open'),
220
+ },
221
+ handler: async (request, response, context) => {
222
+ const { extensionId, page: extensionPage } = request.params;
223
+ const pageContext = context.getSelectedPage();
224
+ let url;
225
+ if (extensionPage === 'details') {
226
+ url = `chrome://extensions/?id=${extensionId}`;
227
+ }
228
+ else {
229
+ url = `chrome-extension://${extensionId}/options.html`;
230
+ }
231
+ await context.waitForEventsAfterAction(async () => {
232
+ try {
233
+ await pageContext.goto(url, { waitUntil: 'networkidle0' });
234
+ response.appendResponseLine(`✅ Opened ${extensionPage} page for extension: ${extensionId}`);
235
+ }
236
+ catch (error) {
237
+ response.appendResponseLine(`❌ Failed to open extension page: ${error instanceof Error ? error.message : String(error)}`);
238
+ response.appendResponseLine('');
239
+ response.appendResponseLine('💡 **Possible reasons:**');
240
+ response.appendResponseLine('• Extension ID is invalid or extension is not installed');
241
+ response.appendResponseLine('• Extension does not have an options page (for options page requests)');
242
+ response.appendResponseLine('• Extension is disabled');
243
+ }
244
+ });
245
+ },
246
+ });
247
+ export const openWebstoreDashboard = defineTool({
248
+ name: 'open_webstore_dashboard',
249
+ description: `Open the Chrome Web Store developer dashboard. Provides quick access to extension management, analytics, and publishing tools.`,
250
+ annotations: {
251
+ category: ToolCategories.EXTENSION_DEVELOPMENT,
252
+ readOnlyHint: false,
253
+ },
254
+ schema: {},
255
+ handler: async (_request, response, context) => {
256
+ const page = context.getSelectedPage();
257
+ const dashboardUrl = 'https://chrome.google.com/webstore/devconsole';
258
+ await context.waitForEventsAfterAction(async () => {
259
+ await page.goto(dashboardUrl, { waitUntil: 'networkidle0' });
260
+ response.appendResponseLine('✅ Opened Chrome Web Store Developer Dashboard');
261
+ response.appendResponseLine('');
262
+ response.appendResponseLine('🚀 **Quick Actions Available:**');
263
+ response.appendResponseLine('• View and manage your published extensions');
264
+ response.appendResponseLine('• Check analytics and user feedback');
265
+ response.appendResponseLine('• Upload new versions or create new items');
266
+ response.appendResponseLine('• Review policy compliance and store listing details');
267
+ });
268
+ },
269
+ });
270
+ export const openExtensionDocs = defineTool({
271
+ name: 'open_extension_docs',
272
+ description: `Open the Chrome Extensions documentation. Provides access to the official development guides, API references, and best practices.`,
273
+ annotations: {
274
+ category: ToolCategories.EXTENSION_DEVELOPMENT,
275
+ readOnlyHint: false,
276
+ },
277
+ schema: {
278
+ section: z
279
+ .enum([
280
+ 'overview',
281
+ 'getting-started',
282
+ 'api',
283
+ 'manifest',
284
+ 'examples',
285
+ 'best-practices',
286
+ ])
287
+ .optional()
288
+ .describe('Specific documentation section to open'),
289
+ },
290
+ handler: async (request, response, context) => {
291
+ const { section } = request.params;
292
+ const page = context.getSelectedPage();
293
+ let url = 'https://developer.chrome.com/docs/extensions/';
294
+ if (section) {
295
+ const sectionUrls = {
296
+ overview: 'https://developer.chrome.com/docs/extensions/',
297
+ 'getting-started': 'https://developer.chrome.com/docs/extensions/get-started/',
298
+ api: 'https://developer.chrome.com/docs/extensions/reference/',
299
+ manifest: 'https://developer.chrome.com/docs/extensions/reference/manifest',
300
+ examples: 'https://github.com/GoogleChrome/chrome-extensions-samples',
301
+ 'best-practices': 'https://developer.chrome.com/docs/extensions/develop/migrate',
302
+ };
303
+ url = sectionUrls[section] || url;
304
+ }
305
+ await context.waitForEventsAfterAction(async () => {
306
+ await page.goto(url, { waitUntil: 'networkidle0' });
307
+ response.appendResponseLine(`✅ Opened Chrome Extensions ${section ? `${section} ` : ''}documentation`);
308
+ });
309
+ },
310
+ });
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export var ToolCategories;
7
+ (function (ToolCategories) {
8
+ ToolCategories["INPUT_AUTOMATION"] = "Input automation";
9
+ ToolCategories["NAVIGATION_AUTOMATION"] = "Navigation automation";
10
+ ToolCategories["EMULATION"] = "Emulation";
11
+ ToolCategories["PERFORMANCE"] = "Performance";
12
+ ToolCategories["NETWORK"] = "Network";
13
+ ToolCategories["DEBUGGING"] = "Debugging";
14
+ ToolCategories["EXTENSION_DEVELOPMENT"] = "Extension development";
15
+ })(ToolCategories || (ToolCategories = {}));
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ToolCategories } from './categories.js';
7
+ import { defineTool } from './ToolDefinition.js';
8
+ export const consoleTool = defineTool({
9
+ name: 'list_console_messages',
10
+ description: 'List all console messages for the currently selected page',
11
+ annotations: {
12
+ category: ToolCategories.DEBUGGING,
13
+ readOnlyHint: true,
14
+ },
15
+ schema: {},
16
+ handler: async (_request, response) => {
17
+ response.setIncludeConsoleData(true);
18
+ },
19
+ });
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { PredefinedNetworkConditions } from 'puppeteer-core';
7
+ import z from 'zod';
8
+ import { ToolCategories } from './categories.js';
9
+ import { defineTool } from './ToolDefinition.js';
10
+ const throttlingOptions = [
11
+ 'No emulation',
12
+ ...Object.keys(PredefinedNetworkConditions),
13
+ ];
14
+ export const emulateNetwork = defineTool({
15
+ name: 'emulate_network',
16
+ description: `Emulates network conditions such as throttling on the selected page.`,
17
+ annotations: {
18
+ category: ToolCategories.EMULATION,
19
+ readOnlyHint: false,
20
+ },
21
+ schema: {
22
+ throttlingOption: z
23
+ .enum(throttlingOptions)
24
+ .describe(`The network throttling option to emulate. Available throttling options are: ${throttlingOptions.join(', ')}. Set to "No emulation" to disable.`),
25
+ },
26
+ handler: async (request, _response, context) => {
27
+ const page = context.getSelectedPage();
28
+ const conditions = request.params.throttlingOption;
29
+ if (conditions === 'No emulation') {
30
+ await page.emulateNetworkConditions(null);
31
+ context.setNetworkConditions(null);
32
+ return;
33
+ }
34
+ if (conditions in PredefinedNetworkConditions) {
35
+ const networkCondition = PredefinedNetworkConditions[conditions];
36
+ await page.emulateNetworkConditions(networkCondition);
37
+ context.setNetworkConditions(conditions);
38
+ }
39
+ },
40
+ });
41
+ export const emulateCpu = defineTool({
42
+ name: 'emulate_cpu',
43
+ description: `Emulates CPU throttling by slowing down the selected page's execution.`,
44
+ annotations: {
45
+ category: ToolCategories.EMULATION,
46
+ readOnlyHint: false,
47
+ },
48
+ schema: {
49
+ throttlingRate: z
50
+ .number()
51
+ .min(1)
52
+ .max(20)
53
+ .describe('The CPU throttling rate representing the slowdown factor 1-20x. Set the rate to 1 to disable throttling'),
54
+ },
55
+ handler: async (request, _response, context) => {
56
+ const page = context.getSelectedPage();
57
+ const { throttlingRate } = request.params;
58
+ await page.emulateCPUThrottling(throttlingRate);
59
+ context.setCpuThrottlingRate(throttlingRate);
60
+ },
61
+ });