chrome-devtools-mcp 0.0.1 → 0.0.2

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 (354) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +196 -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 +137 -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 +1281 -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 +161 -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 +953 -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 +9 -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 +800 -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 +1 -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 +1279 -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 +1316 -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 +346 -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 +1915 -0
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +1660 -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 +292 -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 +678 -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 +382 -0
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +49 -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 +1558 -0
  157. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +7473 -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 +260 -0
  160. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +1096 -0
  161. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +130 -0
  162. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +514 -0
  163. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +90 -0
  164. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +6 -0
  165. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +67 -0
  166. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +494 -0
  167. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +49 -0
  168. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +73 -0
  169. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +7 -0
  170. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +4 -0
  171. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +256 -0
  172. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +120 -0
  173. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +6 -0
  174. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +32 -0
  175. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +173 -0
  176. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +30 -0
  177. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +32 -0
  178. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +79 -0
  179. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +69 -0
  180. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +35 -0
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +231 -0
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +332 -0
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +68 -0
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +14 -0
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +122 -0
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +81 -0
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +370 -0
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +171 -0
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +114 -0
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +547 -0
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +815 -0
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +44 -0
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +76 -0
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +162 -0
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +191 -0
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +118 -0
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +50 -0
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +592 -0
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +10 -0
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +109 -0
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +26 -0
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +187 -0
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +162 -0
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +21 -0
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +263 -0
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +148 -0
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +483 -0
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +35 -0
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +147 -0
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +180 -0
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +126 -0
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +85 -0
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +27 -0
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +103 -0
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +446 -0
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +21 -0
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +400 -0
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +33 -0
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +540 -0
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +42 -0
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +349 -0
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +346 -0
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +207 -0
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +98 -0
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +251 -0
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +71 -0
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +101 -0
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +297 -0
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +184 -0
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +134 -0
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +33 -0
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +7 -0
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +163 -0
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +1 -0
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +41 -0
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +102 -0
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +493 -0
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +74 -0
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +184 -0
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +744 -0
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +254 -0
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +10 -0
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +488 -0
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +208 -0
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +340 -0
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +180 -0
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +256 -0
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +89 -0
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +81 -0
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +160 -0
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +117 -0
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +262 -0
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +188 -0
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +182 -0
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +88 -0
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +21 -0
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +199 -0
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +544 -0
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +191 -0
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +135 -0
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +92 -0
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +97 -0
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +101 -0
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +9 -0
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +18 -0
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +6 -0
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +488 -0
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +5 -0
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +276 -0
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +63 -0
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +82 -0
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +551 -0
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +7 -0
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +9 -0
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +136 -0
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +67 -0
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +68 -0
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +48 -0
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +68 -0
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +101 -0
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +64 -0
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +78 -0
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +11 -0
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +115 -0
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +42 -0
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +47 -0
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +134 -0
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +450 -0
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +154 -0
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +9 -0
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +24 -0
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +4 -0
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +17 -0
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +18 -0
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +37 -0
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +57 -0
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +4 -0
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +15 -0
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +565 -0
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +9 -0
  301. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +1 -0
  302. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +202 -0
  303. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +38 -0
  304. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +944 -0
  305. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +26 -0
  306. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +196 -0
  307. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +226 -0
  308. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +4 -0
  309. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +394 -0
  310. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +24 -0
  311. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +283 -0
  312. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +7 -0
  313. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +9 -0
  314. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +84 -0
  315. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +4 -0
  316. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +20 -0
  317. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +148 -0
  318. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +2 -0
  319. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +2 -0
  320. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +118 -0
  321. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +40 -0
  322. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +26 -0
  323. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +4 -0
  324. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +215 -0
  325. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +4 -0
  326. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +4 -0
  327. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +4 -0
  328. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +2 -0
  329. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +8 -0
  330. package/build/src/McpContext.js +204 -0
  331. package/build/src/McpResponse.js +178 -0
  332. package/build/src/Mutex.js +40 -0
  333. package/build/src/PageCollector.js +68 -0
  334. package/build/src/browser.js +105 -0
  335. package/build/src/formatters/consoleFormatter.js +71 -0
  336. package/build/src/formatters/networkFormatter.js +34 -0
  337. package/build/src/formatters/snapshotFormatter.js +75 -0
  338. package/build/src/index.js +206 -0
  339. package/build/src/logger.js +26 -0
  340. package/build/src/tools/ToolDefinition.js +8 -0
  341. package/build/src/tools/categories.js +14 -0
  342. package/build/src/tools/console.js +19 -0
  343. package/build/src/tools/emulation.js +61 -0
  344. package/build/src/tools/input.js +202 -0
  345. package/build/src/tools/network.js +35 -0
  346. package/build/src/tools/pages.js +181 -0
  347. package/build/src/tools/performance.js +116 -0
  348. package/build/src/tools/screenshot.js +65 -0
  349. package/build/src/tools/script.js +35 -0
  350. package/build/src/tools/snapshot.js +42 -0
  351. package/build/src/trace-processing/parse.js +73 -0
  352. package/build/src/waitForHelpers.js +109 -0
  353. package/package.json +53 -6
  354. package/README +0 -1
@@ -0,0 +1,415 @@
1
+ // Copyright 2023 The Chromium Authors
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ import * as Common from '../common/common.js';
5
+ import * as Root from '../root/root.js';
6
+ import { InspectorFrontendHostInstance } from './InspectorFrontendHost.js';
7
+ import { bindOutputStream } from './ResourceLoader.js';
8
+ export var Role;
9
+ (function (Role) {
10
+ /** Provide this role when giving a function call response */
11
+ Role[Role["ROLE_UNSPECIFIED"] = 0] = "ROLE_UNSPECIFIED";
12
+ /** Tags the content came from the user */
13
+ Role[Role["USER"] = 1] = "USER";
14
+ /** Tags the content came from the LLM */
15
+ Role[Role["MODEL"] = 2] = "MODEL";
16
+ })(Role || (Role = {}));
17
+ export var FunctionalityType;
18
+ (function (FunctionalityType) {
19
+ // Unspecified functionality type.
20
+ FunctionalityType[FunctionalityType["FUNCTIONALITY_TYPE_UNSPECIFIED"] = 0] = "FUNCTIONALITY_TYPE_UNSPECIFIED";
21
+ // The generic AI chatbot functionality.
22
+ FunctionalityType[FunctionalityType["CHAT"] = 1] = "CHAT";
23
+ // The explain error functionality.
24
+ FunctionalityType[FunctionalityType["EXPLAIN_ERROR"] = 2] = "EXPLAIN_ERROR";
25
+ FunctionalityType[FunctionalityType["AGENTIC_CHAT"] = 5] = "AGENTIC_CHAT";
26
+ })(FunctionalityType || (FunctionalityType = {}));
27
+ // See: cs/aida.proto (google3).
28
+ export var ClientFeature;
29
+ (function (ClientFeature) {
30
+ // Unspecified client feature.
31
+ ClientFeature[ClientFeature["CLIENT_FEATURE_UNSPECIFIED"] = 0] = "CLIENT_FEATURE_UNSPECIFIED";
32
+ // Chrome console insights feature.
33
+ ClientFeature[ClientFeature["CHROME_CONSOLE_INSIGHTS"] = 1] = "CHROME_CONSOLE_INSIGHTS";
34
+ // Chrome AI Assistance Styling Agent.
35
+ ClientFeature[ClientFeature["CHROME_STYLING_AGENT"] = 2] = "CHROME_STYLING_AGENT";
36
+ // Chrome AI Assistance Network Agent.
37
+ ClientFeature[ClientFeature["CHROME_NETWORK_AGENT"] = 7] = "CHROME_NETWORK_AGENT";
38
+ // Chrome AI Annotations Performance Agent
39
+ ClientFeature[ClientFeature["CHROME_PERFORMANCE_ANNOTATIONS_AGENT"] = 20] = "CHROME_PERFORMANCE_ANNOTATIONS_AGENT";
40
+ // Chrome AI Assistance File Agent.
41
+ ClientFeature[ClientFeature["CHROME_FILE_AGENT"] = 9] = "CHROME_FILE_AGENT";
42
+ // Chrome AI Patch Agent.
43
+ ClientFeature[ClientFeature["CHROME_PATCH_AGENT"] = 12] = "CHROME_PATCH_AGENT";
44
+ // Chrome AI Assistance Performance Agent.
45
+ ClientFeature[ClientFeature["CHROME_PERFORMANCE_FULL_AGENT"] = 24] = "CHROME_PERFORMANCE_FULL_AGENT";
46
+ // Removed features (for reference).
47
+ // Chrome AI Assistance Performance Insights Agent.
48
+ // CHROME_PERFORMANCE_INSIGHTS_AGENT = 13,
49
+ // Chrome AI Assistance Performance Agent (call trees).
50
+ // CHROME_PERFORMANCE_AGENT = 8,
51
+ })(ClientFeature || (ClientFeature = {}));
52
+ export var UserTier;
53
+ (function (UserTier) {
54
+ // Unspecified user tier.
55
+ UserTier[UserTier["USER_TIER_UNSPECIFIED"] = 0] = "USER_TIER_UNSPECIFIED";
56
+ // Users who are internal testers.
57
+ UserTier[UserTier["TESTERS"] = 1] = "TESTERS";
58
+ // Users who are early adopters.
59
+ UserTier[UserTier["BETA"] = 2] = "BETA";
60
+ // Users in the general public.
61
+ UserTier[UserTier["PUBLIC"] = 3] = "PUBLIC";
62
+ })(UserTier || (UserTier = {}));
63
+ /* eslint-enable @typescript-eslint/naming-convention */
64
+ export var EditType;
65
+ (function (EditType) {
66
+ // Unknown edit type
67
+ EditType[EditType["EDIT_TYPE_UNSPECIFIED"] = 0] = "EDIT_TYPE_UNSPECIFIED";
68
+ // User typed code/text into file
69
+ EditType[EditType["ADD"] = 1] = "ADD";
70
+ // User deleted code/text from file
71
+ EditType[EditType["DELETE"] = 2] = "DELETE";
72
+ // User pasted into file (this includes smart paste)
73
+ EditType[EditType["PASTE"] = 3] = "PASTE";
74
+ // User performs an undo action
75
+ EditType[EditType["UNDO"] = 4] = "UNDO";
76
+ // User performs a redo action
77
+ EditType[EditType["REDO"] = 5] = "REDO";
78
+ // User accepted a completion from AIDA
79
+ EditType[EditType["ACCEPT_COMPLETION"] = 6] = "ACCEPT_COMPLETION";
80
+ })(EditType || (EditType = {}));
81
+ export var Reason;
82
+ (function (Reason) {
83
+ // Unknown reason.
84
+ Reason[Reason["UNKNOWN"] = 0] = "UNKNOWN";
85
+ // The file is currently open.
86
+ Reason[Reason["CURRENTLY_OPEN"] = 1] = "CURRENTLY_OPEN";
87
+ // The file is opened recently.
88
+ Reason[Reason["RECENTLY_OPENED"] = 2] = "RECENTLY_OPENED";
89
+ // The file is edited recently.
90
+ Reason[Reason["RECENTLY_EDITED"] = 3] = "RECENTLY_EDITED";
91
+ // The file is located within the same directory.
92
+ Reason[Reason["COLOCATED"] = 4] = "COLOCATED";
93
+ // Included based on relation to code around the cursor (e.g: could be
94
+ // provided by local IDE analysis)
95
+ Reason[Reason["RELATED_FILE"] = 5] = "RELATED_FILE";
96
+ })(Reason || (Reason = {}));
97
+ /* eslint-enable @typescript-eslint/naming-convention */
98
+ export var RecitationAction;
99
+ (function (RecitationAction) {
100
+ RecitationAction["ACTION_UNSPECIFIED"] = "ACTION_UNSPECIFIED";
101
+ RecitationAction["CITE"] = "CITE";
102
+ RecitationAction["BLOCK"] = "BLOCK";
103
+ RecitationAction["NO_ACTION"] = "NO_ACTION";
104
+ RecitationAction["EXEMPT_FOUND_IN_PROMPT"] = "EXEMPT_FOUND_IN_PROMPT";
105
+ })(RecitationAction || (RecitationAction = {}));
106
+ export var CitationSourceType;
107
+ (function (CitationSourceType) {
108
+ CitationSourceType["CITATION_SOURCE_TYPE_UNSPECIFIED"] = "CITATION_SOURCE_TYPE_UNSPECIFIED";
109
+ CitationSourceType["TRAINING_DATA"] = "TRAINING_DATA";
110
+ CitationSourceType["WORLD_FACTS"] = "WORLD_FACTS";
111
+ CitationSourceType["LOCAL_FACTS"] = "LOCAL_FACTS";
112
+ CitationSourceType["INDIRECT"] = "INDIRECT";
113
+ })(CitationSourceType || (CitationSourceType = {}));
114
+ const AidaLanguageToMarkdown = {
115
+ CPP: 'cpp',
116
+ PYTHON: 'py',
117
+ KOTLIN: 'kt',
118
+ JAVA: 'java',
119
+ JAVASCRIPT: 'js',
120
+ GO: 'go',
121
+ TYPESCRIPT: 'ts',
122
+ HTML: 'html',
123
+ BASH: 'sh',
124
+ CSS: 'css',
125
+ DART: 'dart',
126
+ JSON: 'json',
127
+ MARKDOWN: 'md',
128
+ VUE: 'vue',
129
+ XML: 'xml',
130
+ };
131
+ export const CLIENT_NAME = 'CHROME_DEVTOOLS';
132
+ const CODE_CHUNK_SEPARATOR = (lang = '') => ('\n`````' + lang + '\n');
133
+ export class AidaAbortError extends Error {
134
+ }
135
+ export class AidaBlockError extends Error {
136
+ }
137
+ export class AidaClient {
138
+ static buildConsoleInsightsRequest(input) {
139
+ const disallowLogging = Root.Runtime.hostConfig.aidaAvailability?.disallowLogging ?? true;
140
+ const chromeVersion = Root.Runtime.getChromeVersion();
141
+ if (!chromeVersion) {
142
+ throw new Error('Cannot determine Chrome version');
143
+ }
144
+ const request = {
145
+ current_message: { parts: [{ text: input }], role: Role.USER },
146
+ client: CLIENT_NAME,
147
+ functionality_type: FunctionalityType.EXPLAIN_ERROR,
148
+ client_feature: ClientFeature.CHROME_CONSOLE_INSIGHTS,
149
+ metadata: {
150
+ disable_user_content_logging: disallowLogging,
151
+ client_version: chromeVersion,
152
+ },
153
+ };
154
+ let temperature = -1;
155
+ let modelId;
156
+ if (Root.Runtime.hostConfig.devToolsConsoleInsights?.enabled) {
157
+ temperature = Root.Runtime.hostConfig.devToolsConsoleInsights.temperature ?? -1;
158
+ modelId = Root.Runtime.hostConfig.devToolsConsoleInsights.modelId;
159
+ }
160
+ if (temperature >= 0) {
161
+ request.options ??= {};
162
+ request.options.temperature = temperature;
163
+ }
164
+ if (modelId) {
165
+ request.options ??= {};
166
+ request.options.model_id = modelId;
167
+ }
168
+ return request;
169
+ }
170
+ static async checkAccessPreconditions() {
171
+ if (!navigator.onLine) {
172
+ return "no-internet" /* AidaAccessPreconditions.NO_INTERNET */;
173
+ }
174
+ const syncInfo = await new Promise(resolve => InspectorFrontendHostInstance.getSyncInformation(syncInfo => resolve(syncInfo)));
175
+ if (!syncInfo.accountEmail) {
176
+ return "no-account-email" /* AidaAccessPreconditions.NO_ACCOUNT_EMAIL */;
177
+ }
178
+ if (syncInfo.isSyncPaused) {
179
+ return "sync-is-paused" /* AidaAccessPreconditions.SYNC_IS_PAUSED */;
180
+ }
181
+ return "available" /* AidaAccessPreconditions.AVAILABLE */;
182
+ }
183
+ async *doConversation(request, options) {
184
+ if (!InspectorFrontendHostInstance.doAidaConversation) {
185
+ throw new Error('doAidaConversation is not available');
186
+ }
187
+ const stream = (() => {
188
+ let { promise, resolve, reject } = Promise.withResolvers();
189
+ options?.signal?.addEventListener('abort', () => {
190
+ reject(new AidaAbortError());
191
+ }, { once: true });
192
+ return {
193
+ write: async (data) => {
194
+ resolve(data);
195
+ ({ promise, resolve, reject } = Promise.withResolvers());
196
+ },
197
+ close: async () => {
198
+ resolve(null);
199
+ },
200
+ read: () => {
201
+ return promise;
202
+ },
203
+ fail: (e) => reject(e),
204
+ };
205
+ })();
206
+ const streamId = bindOutputStream(stream);
207
+ InspectorFrontendHostInstance.doAidaConversation(JSON.stringify(request), streamId, result => {
208
+ if (result.statusCode === 403) {
209
+ stream.fail(new Error('Server responded: permission denied'));
210
+ }
211
+ else if (result.error) {
212
+ stream.fail(new Error(`Cannot send request: ${result.error} ${result.detail || ''}`));
213
+ }
214
+ else if (result.netErrorName === 'net::ERR_TIMED_OUT') {
215
+ stream.fail(new Error('doAidaConversation timed out'));
216
+ }
217
+ else if (result.statusCode !== 200) {
218
+ stream.fail(new Error(`Request failed: ${JSON.stringify(result)}`));
219
+ }
220
+ else {
221
+ void stream.close();
222
+ }
223
+ });
224
+ let chunk;
225
+ const text = [];
226
+ let inCodeChunk = false;
227
+ const functionCalls = [];
228
+ let metadata = { rpcGlobalId: 0 };
229
+ while ((chunk = await stream.read())) {
230
+ let textUpdated = false;
231
+ // The AIDA response is a JSON array of objects, split at the object
232
+ // boundary. Therefore each chunk may start with `[` or `,` and possibly
233
+ // followed by `]`. Each chunk may include one or more objects, so we
234
+ // make sure that each chunk becomes a well-formed JSON array when we
235
+ // parse it by adding `[` and `]` and removing `,` where appropriate.
236
+ if (!chunk.length) {
237
+ continue;
238
+ }
239
+ if (chunk.startsWith(',')) {
240
+ chunk = chunk.slice(1);
241
+ }
242
+ if (!chunk.startsWith('[')) {
243
+ chunk = '[' + chunk;
244
+ }
245
+ if (!chunk.endsWith(']')) {
246
+ chunk = chunk + ']';
247
+ }
248
+ let results;
249
+ try {
250
+ results = JSON.parse(chunk);
251
+ }
252
+ catch (error) {
253
+ throw new Error('Cannot parse chunk: ' + chunk, { cause: error });
254
+ }
255
+ for (const result of results) {
256
+ if ('metadata' in result) {
257
+ metadata = result.metadata;
258
+ if (metadata?.attributionMetadata?.attributionAction === RecitationAction.BLOCK) {
259
+ throw new AidaBlockError();
260
+ }
261
+ }
262
+ if ('textChunk' in result) {
263
+ if (inCodeChunk) {
264
+ text.push(CODE_CHUNK_SEPARATOR());
265
+ inCodeChunk = false;
266
+ }
267
+ text.push(result.textChunk.text);
268
+ textUpdated = true;
269
+ }
270
+ else if ('codeChunk' in result) {
271
+ if (!inCodeChunk) {
272
+ const language = AidaLanguageToMarkdown[result.codeChunk.inferenceLanguage] ?? '';
273
+ text.push(CODE_CHUNK_SEPARATOR(language));
274
+ inCodeChunk = true;
275
+ }
276
+ text.push(result.codeChunk.code);
277
+ textUpdated = true;
278
+ }
279
+ else if ('functionCallChunk' in result) {
280
+ functionCalls.push({
281
+ name: result.functionCallChunk.functionCall.name,
282
+ args: result.functionCallChunk.functionCall.args,
283
+ });
284
+ }
285
+ else if ('error' in result) {
286
+ throw new Error(`Server responded: ${JSON.stringify(result)}`);
287
+ }
288
+ else {
289
+ throw new Error('Unknown chunk result');
290
+ }
291
+ }
292
+ if (textUpdated) {
293
+ yield {
294
+ explanation: text.join('') + (inCodeChunk ? CODE_CHUNK_SEPARATOR() : ''),
295
+ metadata,
296
+ completed: false,
297
+ };
298
+ }
299
+ }
300
+ yield {
301
+ explanation: text.join('') + (inCodeChunk ? CODE_CHUNK_SEPARATOR() : ''),
302
+ metadata,
303
+ functionCalls: functionCalls.length ? functionCalls :
304
+ undefined,
305
+ completed: true,
306
+ };
307
+ }
308
+ registerClientEvent(clientEvent) {
309
+ const { promise, resolve } = Promise.withResolvers();
310
+ InspectorFrontendHostInstance.registerAidaClientEvent(JSON.stringify({
311
+ client: CLIENT_NAME,
312
+ event_time: new Date().toISOString(),
313
+ ...clientEvent,
314
+ }), resolve);
315
+ return promise;
316
+ }
317
+ async completeCode(request) {
318
+ if (!InspectorFrontendHostInstance.aidaCodeComplete) {
319
+ throw new Error('aidaCodeComplete is not available');
320
+ }
321
+ const { promise, resolve } = Promise.withResolvers();
322
+ InspectorFrontendHostInstance.aidaCodeComplete(JSON.stringify(request), resolve);
323
+ const completeCodeResult = await promise;
324
+ if (completeCodeResult.error) {
325
+ throw new Error(`Cannot send request: ${completeCodeResult.error} ${completeCodeResult.detail || ''}`);
326
+ }
327
+ const response = completeCodeResult.response;
328
+ if (!response?.length) {
329
+ throw new Error('Empty response');
330
+ }
331
+ let parsedResponse;
332
+ try {
333
+ parsedResponse = JSON.parse(response);
334
+ }
335
+ catch (error) {
336
+ throw new Error('Cannot parse response: ' + response, { cause: error });
337
+ }
338
+ const generatedSamples = [];
339
+ let metadata = { rpcGlobalId: 0 };
340
+ if ('metadata' in parsedResponse) {
341
+ metadata = parsedResponse.metadata;
342
+ }
343
+ if ('generatedSamples' in parsedResponse) {
344
+ for (const generatedSample of parsedResponse.generatedSamples) {
345
+ const sample = {
346
+ generationString: generatedSample.generationString,
347
+ score: generatedSample.score,
348
+ sampleId: generatedSample.sampleId,
349
+ };
350
+ if ('metadata' in generatedSample && 'attributionMetadata' in generatedSample.metadata) {
351
+ sample.attributionMetadata = generatedSample.metadata.attributionMetadata;
352
+ }
353
+ generatedSamples.push(sample);
354
+ }
355
+ }
356
+ else {
357
+ return null;
358
+ }
359
+ return { generatedSamples, metadata };
360
+ }
361
+ }
362
+ export function convertToUserTierEnum(userTier) {
363
+ if (userTier) {
364
+ switch (userTier) {
365
+ case 'TESTERS':
366
+ return UserTier.TESTERS;
367
+ case 'BETA':
368
+ return UserTier.BETA;
369
+ case 'PUBLIC':
370
+ return UserTier.PUBLIC;
371
+ }
372
+ }
373
+ return UserTier.BETA;
374
+ }
375
+ let hostConfigTrackerInstance;
376
+ export class HostConfigTracker extends Common.ObjectWrapper.ObjectWrapper {
377
+ #pollTimer;
378
+ #aidaAvailability;
379
+ constructor() {
380
+ super();
381
+ }
382
+ static instance() {
383
+ if (!hostConfigTrackerInstance) {
384
+ hostConfigTrackerInstance = new HostConfigTracker();
385
+ }
386
+ return hostConfigTrackerInstance;
387
+ }
388
+ addEventListener(eventType, listener) {
389
+ const isFirst = !this.hasEventListeners(eventType);
390
+ const eventDescriptor = super.addEventListener(eventType, listener);
391
+ if (isFirst) {
392
+ window.clearTimeout(this.#pollTimer);
393
+ void this.pollAidaAvailability();
394
+ }
395
+ return eventDescriptor;
396
+ }
397
+ removeEventListener(eventType, listener) {
398
+ super.removeEventListener(eventType, listener);
399
+ if (!this.hasEventListeners(eventType)) {
400
+ window.clearTimeout(this.#pollTimer);
401
+ }
402
+ }
403
+ async pollAidaAvailability() {
404
+ this.#pollTimer = window.setTimeout(() => this.pollAidaAvailability(), 2000);
405
+ const currentAidaAvailability = await AidaClient.checkAccessPreconditions();
406
+ if (currentAidaAvailability !== this.#aidaAvailability) {
407
+ this.#aidaAvailability = currentAidaAvailability;
408
+ const config = await new Promise(resolve => InspectorFrontendHostInstance.getHostConfig(resolve));
409
+ Object.assign(Root.Runtime.hostConfig, config);
410
+ // TODO(crbug.com/442545623): Send `currentAidaAvailability` to the listeners as part of the event so that
411
+ // `await AidaClient.checkAccessPreconditions()` does not need to be called again in the event handlers.
412
+ this.dispatchEventToListeners("aidaAvailabilityChanged" /* Events.AIDA_AVAILABILITY_CHANGED */);
413
+ }
414
+ }
415
+ }
@@ -0,0 +1,161 @@
1
+ // Copyright 2025 The Chromium Authors
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ import * as Root from '../root/root.js';
5
+ import { InspectorFrontendHostInstance } from './InspectorFrontendHost.js';
6
+ export var SubscriptionStatus;
7
+ (function (SubscriptionStatus) {
8
+ SubscriptionStatus["ENABLED"] = "SUBSCRIPTION_STATE_ENABLED";
9
+ SubscriptionStatus["PENDING"] = "SUBSCRIPTION_STATE_PENDING";
10
+ SubscriptionStatus["CANCELED"] = "SUBSCRIPTION_STATE_CANCELED";
11
+ SubscriptionStatus["REFUNDED"] = "SUBSCRIPTION_STATE_REFUNDED";
12
+ SubscriptionStatus["AWAITING_FIX"] = "SUBSCRIPTION_STATE_AWAITING_FIX";
13
+ SubscriptionStatus["ON_HOLD"] = "SUBSCRIPTION_STATE_ACCOUNT_ON_HOLD";
14
+ })(SubscriptionStatus || (SubscriptionStatus = {}));
15
+ export var SubscriptionTier;
16
+ (function (SubscriptionTier) {
17
+ SubscriptionTier["PREMIUM_ANNUAL"] = "SUBSCRIPTION_TIER_PREMIUM_ANNUAL";
18
+ SubscriptionTier["PREMIUM_MONTHLY"] = "SUBSCRIPTION_TIER_PREMIUM_MONTHLY";
19
+ SubscriptionTier["PRO_ANNUAL"] = "SUBSCRIPTION_TIER_PRO_ANNUAL";
20
+ SubscriptionTier["PRO_MONTHLY"] = "SUBSCRIPTION_TIER_PRO_MONTHLY";
21
+ })(SubscriptionTier || (SubscriptionTier = {}));
22
+ var EligibilityStatus;
23
+ (function (EligibilityStatus) {
24
+ EligibilityStatus["ELIGIBLE"] = "ELIGIBLE";
25
+ EligibilityStatus["NOT_ELIGIBLE"] = "NOT_ELIGIBLE";
26
+ })(EligibilityStatus || (EligibilityStatus = {}));
27
+ export var EmailPreference;
28
+ (function (EmailPreference) {
29
+ EmailPreference["ENABLED"] = "ENABLED";
30
+ EmailPreference["DISABLED"] = "DISABLED";
31
+ })(EmailPreference || (EmailPreference = {}));
32
+ // The `batchGet` awards endpoint returns badge names with an
33
+ // obfuscated user ID (e.g., `profiles/12345/awards/badge-name`).
34
+ // This function normalizes them to use `me` instead of the ID
35
+ // (e.g., `profiles/me/awards/badge-path`) to match the format
36
+ // used for client-side requests.
37
+ function normalizeBadgeName(name) {
38
+ return name.replace(/profiles\/[^/]+\/awards\//, 'profiles/me/awards/');
39
+ }
40
+ export const GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK = 'https://developers.google.com/profile/u/me';
41
+ async function makeHttpRequest(request) {
42
+ if (!Root.Runtime.hostConfig.devToolsGdpProfiles?.enabled) {
43
+ return null;
44
+ }
45
+ const response = await new Promise(resolve => {
46
+ InspectorFrontendHostInstance.dispatchHttpRequest(request, resolve);
47
+ });
48
+ debugLog({ request, response });
49
+ if ('response' in response && response.statusCode === 200) {
50
+ return JSON.parse(response.response);
51
+ }
52
+ return null;
53
+ }
54
+ const SERVICE_NAME = 'gdpService';
55
+ let gdpClientInstance = null;
56
+ export class GdpClient {
57
+ #cachedProfilePromise;
58
+ #cachedEligibilityPromise;
59
+ constructor() {
60
+ }
61
+ static instance({ forceNew } = { forceNew: false }) {
62
+ if (!gdpClientInstance || forceNew) {
63
+ gdpClientInstance = new GdpClient();
64
+ }
65
+ return gdpClientInstance;
66
+ }
67
+ async initialize() {
68
+ void this.getProfile();
69
+ void this.checkEligibility();
70
+ }
71
+ async getProfile() {
72
+ if (this.#cachedProfilePromise) {
73
+ return await this.#cachedProfilePromise;
74
+ }
75
+ this.#cachedProfilePromise = makeHttpRequest({
76
+ service: SERVICE_NAME,
77
+ path: '/v1beta1/profile:get',
78
+ method: 'GET',
79
+ });
80
+ return await this.#cachedProfilePromise;
81
+ }
82
+ async checkEligibility() {
83
+ if (this.#cachedEligibilityPromise) {
84
+ return await this.#cachedEligibilityPromise;
85
+ }
86
+ this.#cachedEligibilityPromise =
87
+ makeHttpRequest({ service: SERVICE_NAME, path: '/v1beta1/eligibility:check', method: 'GET' });
88
+ return await this.#cachedEligibilityPromise;
89
+ }
90
+ /**
91
+ * @returns null if the request fails, the awarded badge names otherwise.
92
+ */
93
+ async getAwardedBadgeNames({ names }) {
94
+ const result = await makeHttpRequest({
95
+ service: SERVICE_NAME,
96
+ path: '/v1beta1/profiles/me/awards:batchGet',
97
+ method: 'GET',
98
+ queryParams: {
99
+ allowMissing: 'true',
100
+ names,
101
+ }
102
+ });
103
+ if (!result) {
104
+ return null;
105
+ }
106
+ return new Set(result.awards?.map(award => normalizeBadgeName(award.name)) ?? []);
107
+ }
108
+ async isEligibleToCreateProfile() {
109
+ return (await this.checkEligibility())?.createProfile === EligibilityStatus.ELIGIBLE;
110
+ }
111
+ async createProfile({ user, emailPreference }) {
112
+ const result = await makeHttpRequest({
113
+ service: SERVICE_NAME,
114
+ path: '/v1beta1/profiles',
115
+ method: 'POST',
116
+ body: JSON.stringify({
117
+ user,
118
+ newsletter_email: emailPreference,
119
+ }),
120
+ });
121
+ if (result) {
122
+ this.#clearCache();
123
+ }
124
+ return result;
125
+ }
126
+ #clearCache() {
127
+ this.#cachedProfilePromise = undefined;
128
+ this.#cachedEligibilityPromise = undefined;
129
+ }
130
+ createAward({ name }) {
131
+ return makeHttpRequest({
132
+ service: SERVICE_NAME,
133
+ path: '/v1beta1/profiles/me/awards',
134
+ method: 'POST',
135
+ body: JSON.stringify({
136
+ awardingUri: 'devtools://devtools',
137
+ name,
138
+ })
139
+ });
140
+ }
141
+ }
142
+ function isDebugMode() {
143
+ return Boolean(localStorage.getItem('debugGdpIntegrationEnabled'));
144
+ }
145
+ function debugLog(...log) {
146
+ if (!isDebugMode()) {
147
+ return;
148
+ }
149
+ // eslint-disable-next-line no-console
150
+ console.log('debugLog', ...log);
151
+ }
152
+ function setDebugGdpIntegrationEnabled(enabled) {
153
+ if (enabled) {
154
+ localStorage.setItem('debugGdpIntegrationEnabled', 'true');
155
+ }
156
+ else {
157
+ localStorage.removeItem('debugGdpIntegrationEnabled');
158
+ }
159
+ }
160
+ // @ts-expect-error
161
+ globalThis.setDebugGdpIntegrationEnabled = setDebugGdpIntegrationEnabled;