chrome-ai-bridge 1.0.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 (443) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +252 -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 +2033 -0
  9. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +332 -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 +79 -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 +66 -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/MapWithDefault.js +22 -0
  18. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +49 -0
  19. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +86 -0
  20. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +449 -0
  21. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +144 -0
  22. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +69 -0
  23. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +495 -0
  24. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +15 -0
  25. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +164 -0
  26. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +24 -0
  27. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +78 -0
  28. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +164 -0
  29. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +1263 -0
  30. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +97 -0
  31. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +14 -0
  32. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +40 -0
  33. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +71 -0
  34. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +127 -0
  35. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +41 -0
  36. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +434 -0
  37. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +66 -0
  38. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +202 -0
  39. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +92 -0
  40. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +69 -0
  41. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +430 -0
  42. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +61 -0
  43. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +220 -0
  44. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +968 -0
  45. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +13 -0
  46. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +60 -0
  47. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +199 -0
  48. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +4 -0
  49. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +4 -0
  50. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +13 -0
  51. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +27 -0
  52. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/HostRuntime.js +19 -0
  53. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +21 -0
  54. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +79 -0
  55. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +143 -0
  56. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +72 -0
  57. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +538 -0
  58. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +9 -0
  59. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +157 -0
  60. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +24 -0
  61. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +4 -0
  62. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +22 -0
  63. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +4 -0
  64. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/api.js +5 -0
  65. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/HostRuntime.js +63 -0
  66. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +5 -0
  67. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +72 -0
  68. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/node.js +5 -0
  69. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +26 -0
  70. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +17 -0
  71. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js +12 -0
  72. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +138 -0
  73. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +539 -0
  74. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +8 -0
  75. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +54 -0
  76. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +4 -0
  77. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +6 -0
  78. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +281 -0
  79. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +845 -0
  80. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +155 -0
  81. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +99 -0
  82. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +217 -0
  83. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +98 -0
  84. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +31 -0
  85. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +22 -0
  86. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +1318 -0
  87. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +100 -0
  88. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +1532 -0
  89. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +908 -0
  90. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +312 -0
  91. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +574 -0
  92. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +1346 -0
  93. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +53 -0
  94. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +403 -0
  95. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +22 -0
  96. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +21 -0
  97. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +275 -0
  98. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +166 -0
  99. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +24 -0
  100. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +29 -0
  101. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +236 -0
  102. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +47 -0
  103. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +205 -0
  104. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +629 -0
  105. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +14 -0
  106. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +241 -0
  107. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +198 -0
  108. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +163 -0
  109. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +597 -0
  110. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +1635 -0
  111. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +1216 -0
  112. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +527 -0
  113. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +364 -0
  114. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +127 -0
  115. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +4 -0
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +199 -0
  117. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +130 -0
  118. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +75 -0
  119. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +80 -0
  120. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +208 -0
  121. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +41 -0
  122. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +95 -0
  123. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +34 -0
  124. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +2223 -0
  125. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +1654 -0
  126. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +48 -0
  127. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +765 -0
  128. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +384 -0
  129. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +25 -0
  130. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +310 -0
  131. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +67 -0
  132. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +62 -0
  133. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +608 -0
  134. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +413 -0
  135. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +4 -0
  136. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +908 -0
  137. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +163 -0
  138. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +923 -0
  139. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +535 -0
  140. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +45 -0
  141. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScopeTreeCache.js +36 -0
  142. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +176 -0
  143. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +420 -0
  144. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +54 -0
  145. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +67 -0
  146. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +113 -0
  147. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +216 -0
  148. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +271 -0
  149. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +511 -0
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +691 -0
  151. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +57 -0
  152. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +132 -0
  153. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +201 -0
  154. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +156 -0
  155. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +508 -0
  156. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +143 -0
  157. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +53 -0
  158. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +257 -0
  159. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +395 -0
  160. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +55 -0
  161. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +66 -0
  162. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +1166 -0
  163. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +91 -0
  164. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +2640 -0
  165. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +384 -0
  166. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +1532 -0
  167. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +7602 -0
  168. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +4 -0
  169. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +289 -0
  170. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +995 -0
  171. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +664 -0
  172. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +139 -0
  173. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +377 -0
  174. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +131 -0
  175. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +149 -0
  176. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +245 -0
  177. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +486 -0
  178. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +130 -0
  179. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +992 -0
  180. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +592 -0
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +112 -0
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +186 -0
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +60 -0
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +107 -0
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +244 -0
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +564 -0
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +437 -0
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +87 -0
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +182 -0
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +268 -0
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +55 -0
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +20 -0
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +516 -0
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +89 -0
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +6 -0
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +285 -0
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +4 -0
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +775 -0
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +1706 -0
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +6 -0
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +145 -0
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +77 -0
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +6 -0
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +347 -0
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +4 -0
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +67 -0
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +494 -0
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +49 -0
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +73 -0
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +7 -0
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +4 -0
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +256 -0
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +122 -0
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +6 -0
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/FunctionCodeResolver.js +192 -0
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +622 -0
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +59 -0
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +7 -0
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +4 -0
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +67 -0
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +97 -0
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +121 -0
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +5 -0
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +7 -0
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +32 -0
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +173 -0
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +30 -0
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +32 -0
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +79 -0
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +69 -0
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +35 -0
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +231 -0
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +355 -0
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +68 -0
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +14 -0
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +122 -0
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +81 -0
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +371 -0
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +169 -0
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +114 -0
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +555 -0
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +815 -0
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +44 -0
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +76 -0
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +162 -0
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +191 -0
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +118 -0
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +50 -0
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +599 -0
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +10 -0
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +109 -0
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +26 -0
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +187 -0
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +162 -0
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +21 -0
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +263 -0
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +148 -0
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +485 -0
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +35 -0
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +147 -0
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +180 -0
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +126 -0
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +85 -0
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +27 -0
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +103 -0
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +449 -0
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +21 -0
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +404 -0
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +33 -0
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +566 -0
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +42 -0
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +349 -0
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +346 -0
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +260 -0
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +97 -0
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +276 -0
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +71 -0
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +101 -0
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +317 -0
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +183 -0
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +134 -0
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +33 -0
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +7 -0
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +163 -0
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +1 -0
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +41 -0
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +102 -0
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +495 -0
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +74 -0
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +186 -0
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +820 -0
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +254 -0
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +10 -0
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +489 -0
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +209 -0
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +340 -0
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +181 -0
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +258 -0
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +90 -0
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +82 -0
  301. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +161 -0
  302. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +129 -0
  303. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +263 -0
  304. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +199 -0
  305. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +183 -0
  306. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +90 -0
  307. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +21 -0
  308. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +200 -0
  309. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +545 -0
  310. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +192 -0
  311. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +136 -0
  312. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +92 -0
  313. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +98 -0
  314. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +102 -0
  315. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +9 -0
  316. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +18 -0
  317. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +6 -0
  318. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +488 -0
  319. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +5 -0
  320. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +276 -0
  321. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +63 -0
  322. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +82 -0
  323. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +551 -0
  324. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +7 -0
  325. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +9 -0
  326. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +136 -0
  327. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +67 -0
  328. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +68 -0
  329. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +48 -0
  330. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +68 -0
  331. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +101 -0
  332. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +64 -0
  333. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +78 -0
  334. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +11 -0
  335. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +115 -0
  336. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +42 -0
  337. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +47 -0
  338. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +134 -0
  339. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +450 -0
  340. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +154 -0
  341. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +9 -0
  342. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +24 -0
  343. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +4 -0
  344. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +17 -0
  345. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +18 -0
  346. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +37 -0
  347. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +57 -0
  348. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +4 -0
  349. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +15 -0
  350. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +580 -0
  351. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +9 -0
  352. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +224 -0
  353. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +4 -0
  354. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +64 -0
  355. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +504 -0
  356. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +113 -0
  357. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +601 -0
  358. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +201 -0
  359. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +34 -0
  360. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +9 -0
  361. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +1 -0
  362. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +202 -0
  363. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +2 -0
  364. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +940 -0
  365. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +26 -0
  366. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +196 -0
  367. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +226 -0
  368. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +4 -0
  369. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +394 -0
  370. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +24 -0
  371. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +283 -0
  372. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +7 -0
  373. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +9 -0
  374. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +84 -0
  375. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +4 -0
  376. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +20 -0
  377. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +146 -0
  378. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +2 -0
  379. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +2 -0
  380. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +118 -0
  381. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +40 -0
  382. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +26 -0
  383. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +4 -0
  384. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +215 -0
  385. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +4 -0
  386. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +4 -0
  387. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +4 -0
  388. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +2 -0
  389. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +2 -0
  390. package/build/src/McpContext.js +400 -0
  391. package/build/src/McpResponse.js +237 -0
  392. package/build/src/Mutex.js +40 -0
  393. package/build/src/PageCollector.js +68 -0
  394. package/build/src/WaitForHelper.js +134 -0
  395. package/build/src/browser-connection-manager.js +373 -0
  396. package/build/src/browser.js +719 -0
  397. package/build/src/cli.js +120 -0
  398. package/build/src/client-detector.js +93 -0
  399. package/build/src/config.js +38 -0
  400. package/build/src/formatters/consoleFormatter.js +73 -0
  401. package/build/src/formatters/extensionsPageFormatter.js +184 -0
  402. package/build/src/formatters/networkFormatter.js +34 -0
  403. package/build/src/formatters/snapshotFormatter.js +80 -0
  404. package/build/src/graceful.js +125 -0
  405. package/build/src/index.js +13 -0
  406. package/build/src/logger.js +27 -0
  407. package/build/src/login-helper.js +431 -0
  408. package/build/src/main.js +268 -0
  409. package/build/src/plugin-api.js +189 -0
  410. package/build/src/profile-migration.js +82 -0
  411. package/build/src/profile-resolver.js +555 -0
  412. package/build/src/project-detector.js +71 -0
  413. package/build/src/project-root-state.js +18 -0
  414. package/build/src/roots-manager.js +253 -0
  415. package/build/src/selectors/chatgpt.json +61 -0
  416. package/build/src/selectors/gemini.json +24 -0
  417. package/build/src/selectors/loader.js +128 -0
  418. package/build/src/stable-identity.js +193 -0
  419. package/build/src/startup-check.js +147 -0
  420. package/build/src/system-profile.js +181 -0
  421. package/build/src/tools/ToolDefinition.js +9 -0
  422. package/build/src/tools/bookmarks.js +170 -0
  423. package/build/src/tools/categories.js +15 -0
  424. package/build/src/tools/chatgpt-web.js +507 -0
  425. package/build/src/tools/console.js +19 -0
  426. package/build/src/tools/core-tools.js +65 -0
  427. package/build/src/tools/diagnose-ui.js +328 -0
  428. package/build/src/tools/emulation.js +67 -0
  429. package/build/src/tools/extensions.js +185 -0
  430. package/build/src/tools/gemini-web.js +491 -0
  431. package/build/src/tools/iframe-popup-tools.js +204 -0
  432. package/build/src/tools/input.js +185 -0
  433. package/build/src/tools/network.js +68 -0
  434. package/build/src/tools/optional-tools.js +69 -0
  435. package/build/src/tools/pages.js +172 -0
  436. package/build/src/tools/performance.js +127 -0
  437. package/build/src/tools/screenshot.js +48 -0
  438. package/build/src/tools/script.js +39 -0
  439. package/build/src/tools/snapshot.js +45 -0
  440. package/build/src/trace-processing/parse.js +93 -0
  441. package/build/src/utils/pagination.js +49 -0
  442. package/package.json +90 -0
  443. package/scripts/cli.mjs +49 -0
@@ -0,0 +1,507 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import z from 'zod';
9
+ import { CHATGPT_CONFIG } from '../config.js';
10
+ import { getLoginStatus, waitForLoginStatus, LoginStatus, } from '../login-helper.js';
11
+ import { ToolCategories } from './categories.js';
12
+ import { defineTool } from './ToolDefinition.js';
13
+ /**
14
+ * Navigate with retry logic for handling ERR_ABORTED and other network errors
15
+ */
16
+ async function navigateWithRetry(page, url, options = { waitUntil: 'networkidle2', maxRetries: 3 }) {
17
+ const { waitUntil, maxRetries = 3 } = options;
18
+ let lastError = null;
19
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
20
+ try {
21
+ await page.goto(url, { waitUntil, timeout: 30000 });
22
+ return; // Success
23
+ }
24
+ catch (error) {
25
+ lastError = error instanceof Error ? error : new Error(String(error));
26
+ // Check if it's a retryable error
27
+ const isRetryable = lastError.message.includes('ERR_ABORTED') ||
28
+ lastError.message.includes('ERR_CONNECTION_RESET') ||
29
+ lastError.message.includes('net::ERR_');
30
+ if (!isRetryable || attempt === maxRetries) {
31
+ throw lastError;
32
+ }
33
+ // Wait before retry (exponential backoff)
34
+ await new Promise(resolve => setTimeout(resolve, 1000 * attempt));
35
+ }
36
+ }
37
+ throw lastError;
38
+ }
39
+ /**
40
+ * Find or create a dedicated ChatGPT tab
41
+ * Returns existing ChatGPT tab if found, otherwise creates a new one
42
+ * Also returns whether navigation is needed
43
+ */
44
+ async function getOrCreateChatGPTPage(context) {
45
+ // Refresh pages list
46
+ await context.createPagesSnapshot();
47
+ const pages = context.getPages();
48
+ // Look for existing ChatGPT tab
49
+ for (const page of pages) {
50
+ const url = page.url();
51
+ if (url.includes('chatgpt.com') || url.includes('chat.openai.com')) {
52
+ // Already on ChatGPT - bring to front and no navigation needed
53
+ await page.bringToFront();
54
+ return { page, needsNavigation: false };
55
+ }
56
+ }
57
+ // No ChatGPT tab found, create a new one
58
+ const newPage = await context.newPage();
59
+ return { page: newPage, needsNavigation: true };
60
+ }
61
+ /**
62
+ * Path to store chat session data
63
+ */
64
+ const CHAT_SESSIONS_FILE = path.join(process.cwd(), 'docs/ask/chatgpt/.chat-sessions.json');
65
+ /**
66
+ * Load chat sessions from JSON file with backward compatibility
67
+ */
68
+ async function loadChatSessions() {
69
+ try {
70
+ const data = await fs.promises.readFile(CHAT_SESSIONS_FILE, 'utf-8');
71
+ const parsed = JSON.parse(data);
72
+ // Migrate from old format (single object) to new format (array)
73
+ const migrated = {};
74
+ for (const [projectName, value] of Object.entries(parsed)) {
75
+ if (Array.isArray(value)) {
76
+ // Already in new format
77
+ migrated[projectName] = value;
78
+ }
79
+ else {
80
+ // Old format - convert to array
81
+ const oldSession = value;
82
+ migrated[projectName] = [
83
+ {
84
+ chatId: oldSession.chatId,
85
+ url: oldSession.url,
86
+ lastUsed: oldSession.lastUsed,
87
+ title: oldSession.title,
88
+ createdAt: oldSession.lastUsed, // Use lastUsed as createdAt for old sessions
89
+ conversationCount: 1,
90
+ },
91
+ ];
92
+ }
93
+ }
94
+ return migrated;
95
+ }
96
+ catch {
97
+ return {};
98
+ }
99
+ }
100
+ /**
101
+ * Save a chat session for a project
102
+ */
103
+ async function saveChatSession(projectName, session) {
104
+ const sessions = await loadChatSessions();
105
+ // Initialize project array if it doesn't exist
106
+ if (!sessions[projectName]) {
107
+ sessions[projectName] = [];
108
+ }
109
+ // Check if session with same chatId already exists
110
+ const existingIndex = sessions[projectName].findIndex(s => s.chatId === session.chatId);
111
+ if (existingIndex >= 0) {
112
+ // Update existing session
113
+ sessions[projectName][existingIndex] = {
114
+ ...sessions[projectName][existingIndex],
115
+ ...session,
116
+ lastUsed: new Date().toISOString(),
117
+ };
118
+ }
119
+ else {
120
+ // Add new session to array
121
+ sessions[projectName].push({
122
+ ...session,
123
+ createdAt: session.createdAt || new Date().toISOString(),
124
+ });
125
+ }
126
+ // Ensure directory exists
127
+ const dir = path.dirname(CHAT_SESSIONS_FILE);
128
+ await fs.promises.mkdir(dir, { recursive: true });
129
+ await fs.promises.writeFile(CHAT_SESSIONS_FILE, JSON.stringify(sessions, null, 2), 'utf-8');
130
+ }
131
+ /**
132
+ * Sanitize question to remove sensitive information like passwords
133
+ */
134
+ function sanitizeQuestion(text) {
135
+ const passwordPatterns = [
136
+ /password\s*[:=]\s*\S+/gi,
137
+ /パスワード\s*[::=]\s*\S+/gi,
138
+ /pwd\s*[:=]\s*\S+/gi,
139
+ /secret\s*[:=]\s*\S+/gi,
140
+ ];
141
+ let sanitized = text;
142
+ for (const pattern of passwordPatterns) {
143
+ sanitized = sanitized.replace(pattern, '[パスワードは除外されました]');
144
+ }
145
+ return sanitized;
146
+ }
147
+ /**
148
+ * Save conversation log to docs/ask/chatgpt/
149
+ */
150
+ async function saveConversationLog(projectName, question, response, metadata) {
151
+ // Generate timestamp in yymmdd_HHMMSS format
152
+ const now = new Date();
153
+ const timestamp = [
154
+ String(now.getFullYear()).slice(2).padStart(2, '0'),
155
+ String(now.getMonth() + 1).padStart(2, '0'),
156
+ String(now.getDate()).padStart(2, '0'),
157
+ '_',
158
+ String(now.getHours()).padStart(2, '0'),
159
+ String(now.getMinutes()).padStart(2, '0'),
160
+ String(now.getSeconds()).padStart(2, '0'),
161
+ ].join('');
162
+ // Generate topic slug from first 50 characters
163
+ const topicSlug = question
164
+ .substring(0, 50)
165
+ .replace(/[^a-z0-9\u3040-\u309f\u30a0-\u30ff\u4e00-\u9faf]+/gi, '-')
166
+ .toLowerCase()
167
+ .slice(0, 30);
168
+ // If chatId is provided, save in chat-specific folder
169
+ let logPath;
170
+ if (metadata.chatId) {
171
+ const conversationNum = String(metadata.conversationNumber || 1).padStart(3, '0');
172
+ const filename = `${conversationNum}-${timestamp}-${topicSlug}.md`;
173
+ const logDir = path.join('docs/ask/chatgpt', metadata.chatId);
174
+ logPath = path.join(process.cwd(), logDir, filename);
175
+ // Ensure chat directory exists
176
+ await fs.promises.mkdir(path.join(process.cwd(), logDir), {
177
+ recursive: true,
178
+ });
179
+ }
180
+ else {
181
+ // Fallback to old format (flat structure)
182
+ const filename = `${timestamp}-${projectName}-${topicSlug}.md`;
183
+ const logDir = 'docs/ask/chatgpt';
184
+ logPath = path.join(process.cwd(), logDir, filename);
185
+ // Ensure directory exists
186
+ await fs.promises.mkdir(path.dirname(logPath), { recursive: true });
187
+ }
188
+ const content = `# ${topicSlug}
189
+
190
+ ## 📅 メタ情報
191
+ - **日時**: ${now.toLocaleString('ja-JP')}
192
+ - **プロジェクト**: ${projectName}
193
+ - **AIモデル**: ${metadata.model || 'ChatGPT'}
194
+ ${metadata.chatId ? `- **チャットID**: ${metadata.chatId}\n` : ''}${metadata.conversationNumber ? `- **会話番号**: ${metadata.conversationNumber}\n` : ''}${metadata.thinkingTime ? `- **思考時間**: ${metadata.thinkingTime}s\n` : ''}${metadata.chatUrl ? `- **チャットURL**: ${metadata.chatUrl}\n` : ''}
195
+ ## ❓ 質問
196
+
197
+ ${question}
198
+
199
+ ## 💬 回答
200
+
201
+ ${response}
202
+ `;
203
+ await fs.promises.writeFile(logPath, content, 'utf-8');
204
+ return path.relative(process.cwd(), logPath);
205
+ }
206
+ export const askChatGPTWeb = defineTool({
207
+ name: 'ask_chatgpt_web',
208
+ description: 'Ask ChatGPT via browser. Logs to docs/ask/chatgpt/. ' +
209
+ 'IMPORTANT: Always continues existing project chat by default. ' +
210
+ 'Only set createNewChat=true when user explicitly says "新規で" or "new chat".',
211
+ annotations: {
212
+ category: ToolCategories.NAVIGATION_AUTOMATION,
213
+ readOnlyHint: false,
214
+ },
215
+ schema: {
216
+ question: z
217
+ .string()
218
+ .describe('Detailed question to ask. Structure with: ' +
219
+ '(1) Context (tech stack, versions, constraints), ' +
220
+ '(2) Current State (exact error/logs/behavior), ' +
221
+ '(3) Goal (expected outcome), ' +
222
+ '(4) Attempts (what was tried, why it failed), ' +
223
+ '(5) Format (steps/code/table). ' +
224
+ "IMPORTANT: Do not mention you are an AI/MCP. No secrets/PII. Don't guess missing facts."),
225
+ projectName: z.string().optional().describe('Project name (default: cwd)'),
226
+ createNewChat: z
227
+ .boolean()
228
+ .optional()
229
+ .describe('Force new chat. Only use true when user explicitly requests "新規で" or "new chat". ' +
230
+ 'Default false = always continue existing project chat.'),
231
+ },
232
+ handler: async (request, response, context) => {
233
+ const { question, projectName, createNewChat = false } = request.params;
234
+ // Sanitize question
235
+ const sanitizedQuestion = sanitizeQuestion(question);
236
+ // Determine project name
237
+ const project = projectName || path.basename(process.cwd()) || 'unknown-project';
238
+ // Get or create a dedicated ChatGPT tab
239
+ const { page, needsNavigation } = await getOrCreateChatGPTPage(context);
240
+ try {
241
+ // Step 1: Navigate to ChatGPT (only if not already there)
242
+ response.appendResponseLine('ChatGPTに接続中...');
243
+ if (needsNavigation) {
244
+ await navigateWithRetry(page, CHATGPT_CONFIG.DEFAULT_URL, {
245
+ waitUntil: 'networkidle2',
246
+ });
247
+ // Wait for page to fully render (ChatGPT takes time to load UI)
248
+ await new Promise(resolve => setTimeout(resolve, 2000));
249
+ }
250
+ else {
251
+ response.appendResponseLine('✅ 既存のChatGPTタブを再利用');
252
+ }
253
+ // Step 2: Check login status using session probe (most reliable)
254
+ const loginStatus = await getLoginStatus(page, 'chatgpt');
255
+ if (loginStatus === LoginStatus.NEEDS_LOGIN) {
256
+ response.appendResponseLine('\n❌ ChatGPTへのログインが必要です');
257
+ response.appendResponseLine('');
258
+ response.appendResponseLine('📱 ブラウザウィンドウでChatGPTにログインしてください:');
259
+ response.appendResponseLine(' 1. ブラウザウィンドウの「ログイン」ボタンをクリック');
260
+ response.appendResponseLine(' 2. メールアドレスまたはGoogleアカウントでログイン');
261
+ response.appendResponseLine('');
262
+ // Auto-poll for login completion (max 2 minutes)
263
+ const finalStatus = await waitForLoginStatus(page, 'chatgpt', 120000, msg => response.appendResponseLine(msg));
264
+ if (finalStatus !== LoginStatus.LOGGED_IN) {
265
+ response.appendResponseLine('❌ ログインがタイムアウトしました。再度お試しください。');
266
+ return;
267
+ }
268
+ }
269
+ else if (loginStatus === LoginStatus.IN_PROGRESS) {
270
+ // Wait a bit and retry
271
+ await new Promise(r => setTimeout(r, 2000));
272
+ const retryStatus = await getLoginStatus(page, 'chatgpt');
273
+ if (retryStatus !== LoginStatus.LOGGED_IN) {
274
+ response.appendResponseLine('⚠️ ログイン状態を確認できませんでした。再試行してください。');
275
+ return;
276
+ }
277
+ }
278
+ response.appendResponseLine('✅ ログイン確認完了');
279
+ // Step 2: Load existing session or create new chat
280
+ let isNewChat = false;
281
+ let sessionChatId;
282
+ if (!createNewChat) {
283
+ // Try to load existing session for this project
284
+ const sessions = await loadChatSessions();
285
+ const projectSessions = sessions[project] || [];
286
+ if (projectSessions.length > 0) {
287
+ // Get the most recently used session
288
+ const sortedSessions = [...projectSessions].sort((a, b) => new Date(b.lastUsed).getTime() - new Date(a.lastUsed).getTime());
289
+ const latestSession = sortedSessions[0];
290
+ response.appendResponseLine(`既存のプロジェクトチャットを使用: ${latestSession.url}`);
291
+ sessionChatId = latestSession.chatId;
292
+ // Skip navigation if already on the same chat
293
+ const currentUrl = page.url();
294
+ if (!currentUrl.includes(latestSession.chatId)) {
295
+ await navigateWithRetry(page, latestSession.url, {
296
+ waitUntil: 'domcontentloaded',
297
+ });
298
+ }
299
+ // Wait for input field to be ready (even when skipping navigation)
300
+ await page
301
+ .waitForSelector('.ProseMirror[contenteditable="true"]', {
302
+ timeout: 5000,
303
+ })
304
+ .catch(() => {
305
+ // Ignore timeout, will be handled later
306
+ });
307
+ }
308
+ else {
309
+ response.appendResponseLine('既存チャットが見つかりませんでした。新規作成します。');
310
+ isNewChat = true;
311
+ }
312
+ }
313
+ else {
314
+ isNewChat = true;
315
+ }
316
+ // Step 3: Create new chat if needed
317
+ if (isNewChat) {
318
+ response.appendResponseLine('新規チャットを作成中...');
319
+ // Click "新しいチャット"
320
+ await page.evaluate(() => {
321
+ const newChatLink = document.querySelector('a[href="/"]');
322
+ if (newChatLink) {
323
+ newChatLink.click();
324
+ }
325
+ });
326
+ await new Promise(resolve => setTimeout(resolve, 300));
327
+ // Turn off temporary chat
328
+ const tempChatDisabled = await page.evaluate(() => {
329
+ const buttons = Array.from(document.querySelectorAll('button'));
330
+ const btn = buttons.find(b => {
331
+ const label = b.getAttribute('aria-label') || '';
332
+ return label.includes('一時チャットをオフにする');
333
+ });
334
+ if (btn) {
335
+ btn.click();
336
+ return true;
337
+ }
338
+ return false;
339
+ });
340
+ if (tempChatDisabled) {
341
+ response.appendResponseLine('✅ 一時チャットを無効化');
342
+ await new Promise(resolve => setTimeout(resolve, 200));
343
+ }
344
+ }
345
+ // Step 4: Send question
346
+ response.appendResponseLine('質問を送信中...');
347
+ const questionSent = await page.evaluate(questionText => {
348
+ const prosemirror = document.querySelector('.ProseMirror[contenteditable="true"]');
349
+ if (!prosemirror)
350
+ return false;
351
+ prosemirror.innerHTML = '';
352
+ const p = document.createElement('p');
353
+ p.textContent = questionText;
354
+ prosemirror.appendChild(p);
355
+ prosemirror.dispatchEvent(new Event('input', { bubbles: true }));
356
+ return true;
357
+ }, sanitizedQuestion);
358
+ if (!questionSent) {
359
+ response.appendResponseLine('❌ 入力欄が見つかりません(ページ読み込み中の可能性)');
360
+ return;
361
+ }
362
+ await new Promise(resolve => setTimeout(resolve, 100));
363
+ // Click send button
364
+ const sent = await page.evaluate(() => {
365
+ const sendButton = document.querySelector('button[data-testid="send-button"]');
366
+ if (sendButton && !sendButton.disabled) {
367
+ sendButton.click();
368
+ return true;
369
+ }
370
+ return false;
371
+ });
372
+ if (!sent) {
373
+ response.appendResponseLine('❌ 送信ボタンが見つかりません');
374
+ return;
375
+ }
376
+ // Wait for message to actually be sent (user message appears in DOM)
377
+ await page.waitForFunction(() => {
378
+ const messages = document.querySelectorAll('[data-message-author-role="user"]');
379
+ return messages.length > 0;
380
+ }, { timeout: 10000 });
381
+ response.appendResponseLine('✅ 質問送信完了');
382
+ // Step 5: Monitor streaming with progress updates
383
+ response.appendResponseLine('ChatGPTの回答を待機中... (10秒ごとに進捗を表示)');
384
+ const startTime = Date.now();
385
+ let lastText = '';
386
+ let isFirstCheck = true;
387
+ while (true) {
388
+ // First check is immediate, then poll every 500ms
389
+ if (!isFirstCheck) {
390
+ await new Promise(resolve => setTimeout(resolve, 500));
391
+ }
392
+ isFirstCheck = false;
393
+ const status = await page.evaluate(() => {
394
+ // Streaming detection - check for stop button by data-testid
395
+ // When ChatGPT is generating, send-button becomes stop-button
396
+ const stopButton = document.querySelector('button[data-testid="stop-button"]');
397
+ const isStreaming = !!stopButton;
398
+ if (!isStreaming) {
399
+ // Get final response
400
+ const assistantMessages = document.querySelectorAll('[data-message-author-role="assistant"]');
401
+ if (assistantMessages.length === 0)
402
+ return { completed: false };
403
+ const latestMessage = assistantMessages[assistantMessages.length - 1];
404
+ const thinkingButton = latestMessage.querySelector('button[aria-label*="思考時間"]');
405
+ const thinkingTime = thinkingButton
406
+ ? parseInt((thinkingButton.textContent || '').match(/\d+/)?.[0] || '0')
407
+ : undefined;
408
+ return {
409
+ completed: true,
410
+ text: latestMessage.textContent || '',
411
+ thinkingTime,
412
+ };
413
+ }
414
+ // Get current text
415
+ const assistantMessages = document.querySelectorAll('[data-message-author-role="assistant"]');
416
+ const latestMessage = assistantMessages[assistantMessages.length - 1];
417
+ const currentText = latestMessage
418
+ ? latestMessage.textContent?.substring(0, 200)
419
+ : '';
420
+ return {
421
+ completed: false,
422
+ streaming: true,
423
+ currentText,
424
+ };
425
+ });
426
+ if (status.completed) {
427
+ response.appendResponseLine(`\n✅ 回答完了 (所要時間: ${Math.floor((Date.now() - startTime) / 1000)}秒)`);
428
+ if (status.thinkingTime) {
429
+ response.appendResponseLine(`🤔 思考時間: ${status.thinkingTime}秒`);
430
+ }
431
+ // Save chat session if it's a new chat
432
+ if (isNewChat) {
433
+ response.appendResponseLine('チャットセッションを保存中...');
434
+ // Extract chat ID from URL
435
+ const chatUrl = page.url();
436
+ const chatIdMatch = chatUrl.match(/\/c\/([a-f0-9-]+)/);
437
+ if (chatIdMatch) {
438
+ const chatId = chatIdMatch[1];
439
+ const now = new Date().toISOString();
440
+ await saveChatSession(project, {
441
+ chatId,
442
+ url: chatUrl,
443
+ lastUsed: now,
444
+ createdAt: now,
445
+ title: `[Project: ${project}]`,
446
+ conversationCount: 1,
447
+ });
448
+ sessionChatId = chatId;
449
+ response.appendResponseLine(`✅ チャットセッション保存: ${chatId}`);
450
+ }
451
+ else {
452
+ response.appendResponseLine('⚠️ チャットIDが取得できませんでした');
453
+ }
454
+ }
455
+ else {
456
+ // Update last used timestamp and conversation count for existing session
457
+ if (sessionChatId) {
458
+ const chatUrl = page.url();
459
+ const sessions = await loadChatSessions();
460
+ const projectSessions = sessions[project] || [];
461
+ const existingSession = projectSessions.find(s => s.chatId === sessionChatId);
462
+ await saveChatSession(project, {
463
+ chatId: sessionChatId,
464
+ url: chatUrl,
465
+ lastUsed: new Date().toISOString(),
466
+ createdAt: existingSession?.createdAt || new Date().toISOString(),
467
+ title: existingSession?.title || `[Project: ${project}]`,
468
+ conversationCount: (existingSession?.conversationCount || 0) + 1,
469
+ });
470
+ }
471
+ }
472
+ // Save conversation log
473
+ const chatUrl = page.url();
474
+ const modelName = 'ChatGPT';
475
+ // Get current conversation count
476
+ const sessions = await loadChatSessions();
477
+ const projectSessions = sessions[project] || [];
478
+ const currentSession = projectSessions.find(s => s.chatId === sessionChatId);
479
+ const conversationNum = currentSession?.conversationCount || 1;
480
+ const logPath = await saveConversationLog(project, sanitizedQuestion, status.text || '', {
481
+ thinkingTime: status.thinkingTime,
482
+ chatUrl,
483
+ model: modelName,
484
+ chatId: sessionChatId,
485
+ conversationNumber: conversationNum,
486
+ });
487
+ response.appendResponseLine(`📝 会話ログ保存: ${logPath}`);
488
+ response.appendResponseLine(`🔗 チャットURL: ${chatUrl}`);
489
+ response.appendResponseLine('\n' + '='.repeat(60));
490
+ response.appendResponseLine('ChatGPTの回答:\n');
491
+ response.appendResponseLine(status.text || '');
492
+ break;
493
+ }
494
+ // Show progress every 10 seconds
495
+ const elapsedSeconds = Math.floor((Date.now() - startTime) / 1000);
496
+ if (elapsedSeconds % 10 === 0 && status.currentText !== lastText) {
497
+ lastText = status.currentText || '';
498
+ response.appendResponseLine(`⏱️ ${elapsedSeconds}秒経過 - 現在のテキスト: ${lastText.substring(0, 100)}...`);
499
+ }
500
+ }
501
+ }
502
+ catch (error) {
503
+ const errorMessage = error instanceof Error ? error.message : String(error);
504
+ response.appendResponseLine(`❌ エラー: ${errorMessage}`);
505
+ }
506
+ },
507
+ });
@@ -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 console messages for 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,65 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as consoleTools from './console.js';
7
+ import * as emulationTools from './emulation.js';
8
+ import { click, drag, fill, fillForm, hover, uploadFile } from './input.js';
9
+ import * as networkTools from './network.js';
10
+ import { handleDialog, navigate, pages, resizePage } from './pages.js';
11
+ import * as performanceTools from './performance.js';
12
+ import * as screenshotTools from './screenshot.js';
13
+ import * as scriptTools from './script.js';
14
+ import * as snapshotTools from './snapshot.js';
15
+ /**
16
+ * All core tools as an array.
17
+ */
18
+ export const coreTools = [
19
+ // Input automation
20
+ click,
21
+ hover,
22
+ fill,
23
+ drag,
24
+ fillForm,
25
+ uploadFile,
26
+ // Navigation
27
+ pages,
28
+ navigate,
29
+ resizePage,
30
+ handleDialog,
31
+ // Console
32
+ ...Object.values(consoleTools),
33
+ // Emulation
34
+ ...Object.values(emulationTools),
35
+ // Network
36
+ ...Object.values(networkTools),
37
+ // Performance
38
+ ...Object.values(performanceTools),
39
+ // Screenshot
40
+ ...Object.values(screenshotTools),
41
+ // Script
42
+ ...Object.values(scriptTools),
43
+ // Snapshot
44
+ ...Object.values(snapshotTools),
45
+ ];
46
+ /**
47
+ * Register all core tools with a ToolRegistry.
48
+ */
49
+ export function registerCoreTools(registry) {
50
+ for (const tool of coreTools) {
51
+ // Skip non-tool exports (like constants)
52
+ if (tool &&
53
+ typeof tool === 'object' &&
54
+ 'name' in tool &&
55
+ 'handler' in tool) {
56
+ registry.register(tool);
57
+ }
58
+ }
59
+ }
60
+ /**
61
+ * Get count of core tools.
62
+ */
63
+ export function getCoreToolCount() {
64
+ return coreTools.filter(tool => tool && typeof tool === 'object' && 'name' in tool && 'handler' in tool).length;
65
+ }