@lvce-editor/static-server 0.77.8 → 0.77.10

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 (1967) hide show
  1. package/config.json +1986 -1986
  2. package/package.json +1 -1
  3. package/static/{fa4105b → 2374597}/css/App.css +904 -165
  4. package/static/{fa4105b → 2374597}/manifest.json +2 -2
  5. package/static/{fa4105b → 2374597}/packages/about-view-worker/dist/aboutWorkerMain.js +3 -3
  6. package/static/2374597/packages/chat-debug-view/dist/chatDebugViewWorkerMain.js +4768 -0
  7. package/static/{fa4105b → 2374597}/packages/chat-storage-worker/dist/chatStorageWorkerMain.js +172 -0
  8. package/static/{fa4105b → 2374597}/packages/chat-tool-worker/dist/chatToolWorkerMain.js +338 -97
  9. package/static/{fa4105b → 2374597}/packages/chat-view/dist/chatViewWorkerMain.js +213 -56
  10. package/static/{fa4105b → 2374597}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  11. package/static/{fa4105b → 2374597}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  12. package/static/{fa4105b → 2374597}/packages/renderer-worker/dist/rendererWorkerMain.js +24 -8
  13. package/static/{fa4105b → 2374597}/packages/test-worker/dist/testWorkerMain.js +678 -642
  14. package/static/index.html +4 -4
  15. package/static/fa4105b/packages/chat-debug-view/dist/chatDebugViewWorkerMain.js +0 -2041
  16. /package/static/{fa4105b → 2374597}/config/colorTheme.json +0 -0
  17. /package/static/{fa4105b → 2374597}/config/defaultSettings.json +0 -0
  18. /package/static/{fa4105b → 2374597}/config/fileMap.json +0 -0
  19. /package/static/{fa4105b → 2374597}/config/webExtensions.json +0 -0
  20. /package/static/{fa4105b → 2374597}/css/parts/AdditionalDetails.css +0 -0
  21. /package/static/{fa4105b → 2374597}/css/parts/Animation.css +0 -0
  22. /package/static/{fa4105b → 2374597}/css/parts/BrowserScrollBar.css +0 -0
  23. /package/static/{fa4105b → 2374597}/css/parts/Category.css +0 -0
  24. /package/static/{fa4105b → 2374597}/css/parts/DebugButtons.css +0 -0
  25. /package/static/{fa4105b → 2374597}/css/parts/DebugValue.css +0 -0
  26. /package/static/{fa4105b → 2374597}/css/parts/E2eTest.css +0 -0
  27. /package/static/{fa4105b → 2374597}/css/parts/E2eTests.css +0 -0
  28. /package/static/{fa4105b → 2374597}/css/parts/EditorHover.css +0 -0
  29. /package/static/{fa4105b → 2374597}/css/parts/EditorMessage.css +0 -0
  30. /package/static/{fa4105b → 2374597}/css/parts/FeatureContent.css +0 -0
  31. /package/static/{fa4105b → 2374597}/css/parts/Features.css +0 -0
  32. /package/static/{fa4105b → 2374597}/css/parts/ImagePreview.css +0 -0
  33. /package/static/{fa4105b → 2374597}/css/parts/InlineDiffEditor.css +0 -0
  34. /package/static/{fa4105b → 2374597}/css/parts/InputBadge.css +0 -0
  35. /package/static/{fa4105b → 2374597}/css/parts/Key.css +0 -0
  36. /package/static/{fa4105b → 2374597}/css/parts/KeyBindingsHeader.css +0 -0
  37. /package/static/{fa4105b → 2374597}/css/parts/KeyBindingsTable.css +0 -0
  38. /package/static/{fa4105b → 2374597}/css/parts/LegacyDialog.css +0 -0
  39. /package/static/{fa4105b → 2374597}/css/parts/Markdown.css +0 -0
  40. /package/static/{fa4105b → 2374597}/css/parts/Message.css +0 -0
  41. /package/static/{fa4105b → 2374597}/css/parts/Preview.css +0 -0
  42. /package/static/{fa4105b → 2374597}/css/parts/ScrollToTop.css +0 -0
  43. /package/static/{fa4105b → 2374597}/css/parts/SettingsHeader.css +0 -0
  44. /package/static/{fa4105b → 2374597}/css/parts/SettingsItems.css +0 -0
  45. /package/static/{fa4105b → 2374597}/css/parts/SettingsSideBar.css +0 -0
  46. /package/static/{fa4105b → 2374597}/css/parts/Table.css +0 -0
  47. /package/static/{fa4105b → 2374597}/css/parts/ViewletAbout.css +0 -0
  48. /package/static/{fa4105b → 2374597}/css/parts/ViewletBrowserViewOverview.css +0 -0
  49. /package/static/{fa4105b → 2374597}/css/parts/ViewletDebugConsole.css +0 -0
  50. /package/static/{fa4105b → 2374597}/css/parts/ViewletDefineKeyBinding.css +0 -0
  51. /package/static/{fa4105b → 2374597}/css/parts/ViewletDiffEditor.css +0 -0
  52. /package/static/{fa4105b → 2374597}/css/parts/ViewletEditorWidgetError.css +0 -0
  53. /package/static/{fa4105b → 2374597}/css/parts/ViewletExtensionDetail.css +0 -0
  54. /package/static/{fa4105b → 2374597}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  55. /package/static/{fa4105b → 2374597}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  56. /package/static/{fa4105b → 2374597}/css/parts/ViewletExtensions.css +0 -0
  57. /package/static/{fa4105b → 2374597}/css/parts/ViewletIframeInspector.css +0 -0
  58. /package/static/{fa4105b → 2374597}/css/parts/ViewletKeyBindings.css +0 -0
  59. /package/static/{fa4105b → 2374597}/css/parts/ViewletLanguageModels.css +0 -0
  60. /package/static/{fa4105b → 2374597}/css/parts/ViewletMedia.css +0 -0
  61. /package/static/{fa4105b → 2374597}/css/parts/ViewletOutput.css +0 -0
  62. /package/static/{fa4105b → 2374597}/css/parts/ViewletPanel.css +0 -0
  63. /package/static/{fa4105b → 2374597}/css/parts/ViewletPanelTabs.css +0 -0
  64. /package/static/{fa4105b → 2374597}/css/parts/ViewletPdf.css +0 -0
  65. /package/static/{fa4105b → 2374597}/css/parts/ViewletProblems.css +0 -0
  66. /package/static/{fa4105b → 2374597}/css/parts/ViewletReferences.css +0 -0
  67. /package/static/{fa4105b → 2374597}/css/parts/ViewletRunAndDebug.css +0 -0
  68. /package/static/{fa4105b → 2374597}/css/parts/ViewletScreenCapture.css +0 -0
  69. /package/static/{fa4105b → 2374597}/css/parts/ViewletSearch.css +0 -0
  70. /package/static/{fa4105b → 2374597}/css/parts/ViewletSettings.css +0 -0
  71. /package/static/{fa4105b → 2374597}/css/parts/ViewletSimpleBrowser.css +0 -0
  72. /package/static/{fa4105b → 2374597}/css/parts/ViewletSourceControl.css +0 -0
  73. /package/static/{fa4105b → 2374597}/css/parts/ViewletStorage.css +0 -0
  74. /package/static/{fa4105b → 2374597}/css/parts/ViewletTerminal.css +0 -0
  75. /package/static/{fa4105b → 2374597}/css/parts/ViewletTerminalTabs.css +0 -0
  76. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-bat/README.md +0 -0
  77. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-bat/extension.json +0 -0
  78. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  79. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  80. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-c/README.md +0 -0
  81. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-c/extension.json +0 -0
  82. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  83. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  84. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  85. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  86. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cpp/README.md +0 -0
  87. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  88. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  89. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  90. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cson/README.md +0 -0
  91. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cson/extension.json +0 -0
  92. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  93. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  94. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-css/README.md +0 -0
  95. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-css/extension.json +0 -0
  96. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  97. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  98. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dart/README.md +0 -0
  99. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dart/extension.json +0 -0
  100. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  101. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-desktop/README.md +0 -0
  102. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  103. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  104. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-docker/README.md +0 -0
  105. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-docker/extension.json +0 -0
  106. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  107. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  108. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  109. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  110. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  111. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  112. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  113. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elixir/README.md +0 -0
  114. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  115. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  116. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elm/README.md +0 -0
  117. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elm/extension.json +0 -0
  118. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  119. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  120. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  121. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  122. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gn/README.md +0 -0
  123. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gn/extension.json +0 -0
  124. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  125. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-go/README.md +0 -0
  126. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-go/extension.json +0 -0
  127. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  128. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-graphql/README.md +0 -0
  129. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  130. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  131. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-html/README.md +0 -0
  132. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-html/extension.json +0 -0
  133. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  134. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  135. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-java/README.md +0 -0
  136. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-java/extension.json +0 -0
  137. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  138. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  139. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-javascript/README.md +0 -0
  140. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  141. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  142. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  143. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json/README.md +0 -0
  144. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json/extension.json +0 -0
  145. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  146. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json5/README.md +0 -0
  147. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json5/extension.json +0 -0
  148. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  149. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-jsx/README.md +0 -0
  150. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  151. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  152. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-julia/README.md +0 -0
  153. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-julia/extension.json +0 -0
  154. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  155. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  156. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  157. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  158. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-less/LICENSE +0 -0
  159. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-less/README.md +0 -0
  160. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-less/extension.json +0 -0
  161. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  162. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  163. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-markdown/README.md +0 -0
  164. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  165. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  166. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-mdx/README.md +0 -0
  167. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  168. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  169. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nix/README.md +0 -0
  170. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nix/extension.json +0 -0
  171. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  172. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  173. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  174. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  175. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  176. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-perl/README.md +0 -0
  177. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-perl/extension.json +0 -0
  178. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  179. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  180. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  181. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  182. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-powershell/README.md +0 -0
  183. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  184. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  185. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-python/README.md +0 -0
  186. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-python/extension.json +0 -0
  187. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  188. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  189. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-r/README.md +0 -0
  190. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-r/extension.json +0 -0
  191. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  192. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-ruby/README.md +0 -0
  193. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  194. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  195. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  196. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-rust/README.md +0 -0
  197. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-rust/extension.json +0 -0
  198. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  199. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  200. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-scss/README.md +0 -0
  201. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-scss/extension.json +0 -0
  202. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  203. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  204. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  205. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  206. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  207. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-svelte/README.md +0 -0
  208. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  209. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  210. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-terraform/README.md +0 -0
  211. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  212. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  213. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-toml/README.md +0 -0
  214. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-toml/extension.json +0 -0
  215. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  216. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-typescript/README.md +0 -0
  217. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  218. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-typescript/languageConfiguration.json +0 -0
  219. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  220. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-vue/README.md +0 -0
  221. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-vue/extension.json +0 -0
  222. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  223. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  224. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  225. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  226. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  227. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-xml/README.md +0 -0
  228. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-xml/extension.json +0 -0
  229. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  230. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-yaml/README.md +0 -0
  231. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  232. /package/static/{fa4105b → 2374597}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  233. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  234. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  235. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  236. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  237. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-ayu/README.md +0 -0
  238. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  239. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-ayu/extension.json +0 -0
  240. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-ayu/images/demo.png +0 -0
  241. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-cobalt2/README.md +0 -0
  242. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  243. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  244. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  245. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  246. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-gruvbox/README.md +0 -0
  247. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  248. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  249. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-gruvbox/images/demo.png +0 -0
  250. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-high-contrast/README.md +0 -0
  251. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  252. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  253. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-material/README.md +0 -0
  254. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-material/color-theme.json +0 -0
  255. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-material/extension.json +0 -0
  256. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-monokai/README.md +0 -0
  257. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  258. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-monokai/extension.json +0 -0
  259. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  260. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  261. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  262. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  263. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-palenight/README.md +0 -0
  264. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  265. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-palenight/extension.json +0 -0
  266. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  267. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-slime/README.md +0 -0
  268. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-slime/color-theme.json +0 -0
  269. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-slime/extension.json +0 -0
  270. /package/static/{fa4105b → 2374597}/extensions/builtin.theme-slime/icon.png +0 -0
  271. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/README.md +0 -0
  272. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/extension.json +0 -0
  273. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  274. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icon.png +0 -0
  275. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/default_file.svg +0 -0
  276. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/default_folder.svg +0 -0
  277. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/default_folder_opened.svg +0 -0
  278. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/default_root_folder.svg +0 -0
  279. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/default_root_folder_opened.svg +0 -0
  280. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_access.svg +0 -0
  281. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_access2.svg +0 -0
  282. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_actionscript.svg +0 -0
  283. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_actionscript2.svg +0 -0
  284. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ada.svg +0 -0
  285. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_advpl.svg +0 -0
  286. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_affectscript.svg +0 -0
  287. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_affinity.svg +0 -0
  288. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_affinitydesigner.svg +0 -0
  289. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_affinityphoto.svg +0 -0
  290. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_affinitypublisher.svg +0 -0
  291. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_agda.svg +0 -0
  292. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_agents.svg +0 -0
  293. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ai.svg +0 -0
  294. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ai2.svg +0 -0
  295. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_al.svg +0 -0
  296. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_al_dal.svg +0 -0
  297. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_alchemy.svg +0 -0
  298. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_allcontributors.svg +0 -0
  299. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_alloy.svg +0 -0
  300. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_allure.svg +0 -0
  301. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_angular.svg +0 -0
  302. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ansible.svg +0 -0
  303. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_antlers_html.svg +0 -0
  304. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_antlr.svg +0 -0
  305. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_anyscript.svg +0 -0
  306. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_apache.svg +0 -0
  307. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_apex.svg +0 -0
  308. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_api_extractor.svg +0 -0
  309. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_apib.svg +0 -0
  310. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_apib2.svg +0 -0
  311. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_apl.svg +0 -0
  312. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_applescript.svg +0 -0
  313. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_appscript.svg +0 -0
  314. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_appsemble.svg +0 -0
  315. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_appveyor.svg +0 -0
  316. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_arduino.svg +0 -0
  317. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_asciidoc.svg +0 -0
  318. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_aseprite.svg +0 -0
  319. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_asp.svg +0 -0
  320. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_aspx.svg +0 -0
  321. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_assembly.svg +0 -0
  322. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_assembly_script.svg +0 -0
  323. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_astro.svg +0 -0
  324. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_astroconfig.svg +0 -0
  325. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_atom.svg +0 -0
  326. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ats.svg +0 -0
  327. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_attw.svg +0 -0
  328. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_audio.svg +0 -0
  329. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_aurelia.svg +0 -0
  330. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_autohotkey.svg +0 -0
  331. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_autoit.svg +0 -0
  332. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_avif.svg +0 -0
  333. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_avro.svg +0 -0
  334. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_awk.svg +0 -0
  335. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_aws.svg +0 -0
  336. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_azure.svg +0 -0
  337. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_azurepipelines.svg +0 -0
  338. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_babel.svg +0 -0
  339. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_babel2.svg +0 -0
  340. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bak.svg +0 -0
  341. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ballerina.svg +0 -0
  342. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bat.svg +0 -0
  343. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bats.svg +0 -0
  344. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bazaar.svg +0 -0
  345. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bazel.svg +0 -0
  346. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bazel_ignore.svg +0 -0
  347. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bazel_version.svg +0 -0
  348. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_befunge.svg +0 -0
  349. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bicep.svg +0 -0
  350. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_biml.svg +0 -0
  351. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_binary.svg +0 -0
  352. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_biome.svg +0 -0
  353. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bitbucketpipeline.svg +0 -0
  354. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bithound.svg +0 -0
  355. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_blade.svg +0 -0
  356. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_blender.svg +0 -0
  357. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_blitzbasic.svg +0 -0
  358. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bolt.svg +0 -0
  359. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bosque.svg +0 -0
  360. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bower.svg +0 -0
  361. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bower2.svg +0 -0
  362. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_browserslist.svg +0 -0
  363. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bruno.svg +0 -0
  364. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_buckbuild.svg +0 -0
  365. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_buf.svg +0 -0
  366. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bun.svg +0 -0
  367. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bundlemon.svg +0 -0
  368. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bundler.svg +0 -0
  369. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_bunfig.svg +0 -0
  370. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_c.svg +0 -0
  371. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_c2.svg +0 -0
  372. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_c3.svg +0 -0
  373. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_c_al.svg +0 -0
  374. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cabal.svg +0 -0
  375. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_caddy.svg +0 -0
  376. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cake.svg +0 -0
  377. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cakephp.svg +0 -0
  378. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_capacitor.svg +0 -0
  379. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_capnp.svg +0 -0
  380. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cargo.svg +0 -0
  381. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_casc.svg +0 -0
  382. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cddl.svg +0 -0
  383. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cert.svg +0 -0
  384. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ceylon.svg +0 -0
  385. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cf.svg +0 -0
  386. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cf2.svg +0 -0
  387. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cfc.svg +0 -0
  388. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cfc2.svg +0 -0
  389. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cfm.svg +0 -0
  390. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cfm2.svg +0 -0
  391. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_changie.svg +0 -0
  392. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cheader.svg +0 -0
  393. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_chef.svg +0 -0
  394. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_chef_cookbook.svg +0 -0
  395. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_circleci.svg +0 -0
  396. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_circom.svg +0 -0
  397. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_class.svg +0 -0
  398. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_claude.svg +0 -0
  399. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_clojure.svg +0 -0
  400. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_clojurescript.svg +0 -0
  401. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cloudflare.svg +0 -0
  402. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cloudfoundry.svg +0 -0
  403. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cmake.svg +0 -0
  404. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cobol.svg +0 -0
  405. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codacy.svg +0 -0
  406. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codeclimate.svg +0 -0
  407. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codecov.svg +0 -0
  408. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codekit.svg +0 -0
  409. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codemagic.svg +0 -0
  410. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codeowners.svg +0 -0
  411. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_codeql.svg +0 -0
  412. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_coderabbit.svg +0 -0
  413. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_coffeelint.svg +0 -0
  414. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_coffeescript.svg +0 -0
  415. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_commitizen.svg +0 -0
  416. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_commitlint.svg +0 -0
  417. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_compass.svg +0 -0
  418. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_composer.svg +0 -0
  419. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_conan.svg +0 -0
  420. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_conda.svg +0 -0
  421. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_config.svg +0 -0
  422. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_confluence.svg +0 -0
  423. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_copilot.svg +0 -0
  424. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_coverage.svg +0 -0
  425. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_coveralls.svg +0 -0
  426. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cpp.svg +0 -0
  427. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cpp2.svg +0 -0
  428. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cpp3.svg +0 -0
  429. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cppheader.svg +0 -0
  430. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_craco.svg +0 -0
  431. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_crowdin.svg +0 -0
  432. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_crystal.svg +0 -0
  433. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_csharp.svg +0 -0
  434. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_csharp2.svg +0 -0
  435. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cspell.svg +0 -0
  436. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_csproj.svg +0 -0
  437. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_css.svg +0 -0
  438. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_css2.svg +0 -0
  439. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_css2map.svg +0 -0
  440. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_csscomb.svg +0 -0
  441. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_csslint.svg +0 -0
  442. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cssmap.svg +0 -0
  443. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cucumber.svg +0 -0
  444. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cuda.svg +0 -0
  445. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cursorrules.svg +0 -0
  446. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cvs.svg +0 -0
  447. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cypress.svg +0 -0
  448. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cypress_spec.svg +0 -0
  449. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_cython.svg +0 -0
  450. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dal.svg +0 -0
  451. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_darcs.svg +0 -0
  452. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dartlang.svg +0 -0
  453. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dartlang_generated.svg +0 -0
  454. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dartlang_ignore.svg +0 -0
  455. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +0 -0
  456. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_db.svg +0 -0
  457. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_debian.svg +0 -0
  458. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_delphi.svg +0 -0
  459. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_deno.svg +0 -0
  460. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_denoify.svg +0 -0
  461. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dependabot.svg +0 -0
  462. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dependencies.svg +0 -0
  463. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_design_tokens.svg +0 -0
  464. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_devcontainer.svg +0 -0
  465. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_devvit.svg +0 -0
  466. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dhall.svg +0 -0
  467. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_diff.svg +0 -0
  468. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_django.svg +0 -0
  469. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dlang.svg +0 -0
  470. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_docker.svg +0 -0
  471. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_docker2.svg +0 -0
  472. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dockertest.svg +0 -0
  473. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dockertest2.svg +0 -0
  474. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_docpad.svg +0 -0
  475. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_docusaurus.svg +0 -0
  476. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_docz.svg +0 -0
  477. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dojo.svg +0 -0
  478. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_doppler.svg +0 -0
  479. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dotenv.svg +0 -0
  480. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dotjs.svg +0 -0
  481. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_doxygen.svg +0 -0
  482. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_drawio.svg +0 -0
  483. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_drone.svg +0 -0
  484. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_drools.svg +0 -0
  485. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dtd.svg +0 -0
  486. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dune.svg +0 -0
  487. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dustjs.svg +0 -0
  488. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dvc.svg +0 -0
  489. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_dylan.svg +0 -0
  490. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_earthly.svg +0 -0
  491. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eas-metadata.svg +0 -0
  492. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_edge.svg +0 -0
  493. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_edge2.svg +0 -0
  494. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_editorconfig.svg +0 -0
  495. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eex.svg +0 -0
  496. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ejs.svg +0 -0
  497. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_elastic.svg +0 -0
  498. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_elasticbeanstalk.svg +0 -0
  499. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_electron.svg +0 -0
  500. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eleventy.svg +0 -0
  501. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eleventy2.svg +0 -0
  502. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_elixir.svg +0 -0
  503. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_elm.svg +0 -0
  504. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_elm2.svg +0 -0
  505. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_emacs.svg +0 -0
  506. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ember.svg +0 -0
  507. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ensime.svg +0 -0
  508. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eps.svg +0 -0
  509. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_epub.svg +0 -0
  510. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_erb.svg +0 -0
  511. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_erlang.svg +0 -0
  512. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_erlang2.svg +0 -0
  513. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_esbuild.svg +0 -0
  514. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eslint.svg +0 -0
  515. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_eslint2.svg +0 -0
  516. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +0 -0
  517. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_excalidraw.svg +0 -0
  518. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_excel.svg +0 -0
  519. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_excel2.svg +0 -0
  520. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_expo.svg +0 -0
  521. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_falcon.svg +0 -0
  522. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fantasticon.svg +0 -0
  523. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fastly.svg +0 -0
  524. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fauna.svg +0 -0
  525. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_favicon.svg +0 -0
  526. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fbx.svg +0 -0
  527. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_firebase.svg +0 -0
  528. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_firebasehosting.svg +0 -0
  529. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_firebasestorage.svg +0 -0
  530. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_firestore.svg +0 -0
  531. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fitbit.svg +0 -0
  532. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fla.svg +0 -0
  533. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flareact.svg +0 -0
  534. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flash.svg +0 -0
  535. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_floobits.svg +0 -0
  536. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flow.svg +0 -0
  537. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flutter.svg +0 -0
  538. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flutter_package.svg +0 -0
  539. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_flyio.svg +0 -0
  540. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_font.svg +0 -0
  541. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_formkit.svg +0 -0
  542. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fortran.svg +0 -0
  543. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fossa.svg +0 -0
  544. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fossil.svg +0 -0
  545. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_freemarker.svg +0 -0
  546. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_frontcommerce.svg +0 -0
  547. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fsharp.svg +0 -0
  548. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fsharp2.svg +0 -0
  549. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fsproj.svg +0 -0
  550. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fthtml.svg +0 -0
  551. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_funding.svg +0 -0
  552. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_fusebox.svg +0 -0
  553. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_galen.svg +0 -0
  554. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_galen2.svg +0 -0
  555. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gamemaker.svg +0 -0
  556. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gamemaker2.svg +0 -0
  557. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gamemaker81.svg +0 -0
  558. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gatsby.svg +0 -0
  559. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gcloud.svg +0 -0
  560. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gcode.svg +0 -0
  561. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gdscript.svg +0 -0
  562. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gduid.svg +0 -0
  563. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gemini.svg +0 -0
  564. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_genstat.svg +0 -0
  565. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_geojson.svg +0 -0
  566. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gimp.svg +0 -0
  567. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_git.svg +0 -0
  568. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_git2.svg +0 -0
  569. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gitlab.svg +0 -0
  570. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gitpod.svg +0 -0
  571. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gleam.svg +0 -0
  572. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gleamconfig.svg +0 -0
  573. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_glide.svg +0 -0
  574. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_glimmer.svg +0 -0
  575. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_glitter.svg +0 -0
  576. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_glsl.svg +0 -0
  577. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gltf.svg +0 -0
  578. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_glyphs.svg +0 -0
  579. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gnu.svg +0 -0
  580. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gnuplot.svg +0 -0
  581. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go.svg +0 -0
  582. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_aqua.svg +0 -0
  583. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_black.svg +0 -0
  584. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_fuchsia.svg +0 -0
  585. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_gopher.svg +0 -0
  586. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_lightblue.svg +0 -0
  587. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_package.svg +0 -0
  588. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_white.svg +0 -0
  589. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_work.svg +0 -0
  590. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_go_yellow.svg +0 -0
  591. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_goctl.svg +0 -0
  592. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_godot.svg +0 -0
  593. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gpg.svg +0 -0
  594. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gradle.svg +0 -0
  595. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gradle2.svg +0 -0
  596. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_grain.svg +0 -0
  597. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_graphql.svg +0 -0
  598. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_graphql_config.svg +0 -0
  599. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_graphviz.svg +0 -0
  600. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_greenkeeper.svg +0 -0
  601. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gridsome.svg +0 -0
  602. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_grit.svg +0 -0
  603. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_groovy.svg +0 -0
  604. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_groovy2.svg +0 -0
  605. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_grunt.svg +0 -0
  606. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_gulp.svg +0 -0
  607. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haml.svg +0 -0
  608. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_handlebars.svg +0 -0
  609. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_handlebars2.svg +0 -0
  610. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_harbour.svg +0 -0
  611. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hardhat.svg +0 -0
  612. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hashicorp.svg +0 -0
  613. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haskell.svg +0 -0
  614. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haskell2.svg +0 -0
  615. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haxe.svg +0 -0
  616. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haxecheckstyle.svg +0 -0
  617. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_haxedevelop.svg +0 -0
  618. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_helix.svg +0 -0
  619. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_helm.svg +0 -0
  620. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_histoire.svg +0 -0
  621. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hjson.svg +0 -0
  622. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hlsl.svg +0 -0
  623. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_homeassistant.svg +0 -0
  624. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_horusec.svg +0 -0
  625. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_host.svg +0 -0
  626. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_html.svg +0 -0
  627. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_htmlhint.svg +0 -0
  628. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_htmlvalidate.svg +0 -0
  629. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_http.svg +0 -0
  630. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hugo.svg +0 -0
  631. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_humanstxt.svg +0 -0
  632. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hunspell.svg +0 -0
  633. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_husky.svg +0 -0
  634. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hy.svg +0 -0
  635. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hygen.svg +0 -0
  636. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_hypr.svg +0 -0
  637. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_icl.svg +0 -0
  638. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_idris.svg +0 -0
  639. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_idrisbin.svg +0 -0
  640. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_idrispkg.svg +0 -0
  641. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_image.svg +0 -0
  642. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_imba.svg +0 -0
  643. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_inc.svg +0 -0
  644. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_infopath.svg +0 -0
  645. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_informix.svg +0 -0
  646. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ini.svg +0 -0
  647. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ink.svg +0 -0
  648. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_innosetup.svg +0 -0
  649. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_io.svg +0 -0
  650. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_iodine.svg +0 -0
  651. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ionic.svg +0 -0
  652. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jake.svg +0 -0
  653. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_janet.svg +0 -0
  654. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jar.svg +0 -0
  655. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jasmine.svg +0 -0
  656. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_java.svg +0 -0
  657. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jbuilder.svg +0 -0
  658. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jekyll.svg +0 -0
  659. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jenkins.svg +0 -0
  660. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jest.svg +0 -0
  661. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jest_snapshot.svg +0 -0
  662. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jetbrains.svg +0 -0
  663. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jinja.svg +0 -0
  664. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jpm.svg +0 -0
  665. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_js.svg +0 -0
  666. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_js_official.svg +0 -0
  667. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsbeautify.svg +0 -0
  668. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsconfig.svg +0 -0
  669. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jscpd.svg +0 -0
  670. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jshint.svg +0 -0
  671. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsmap.svg +0 -0
  672. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_json.svg +0 -0
  673. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_json2.svg +0 -0
  674. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_json5.svg +0 -0
  675. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_json_official.svg +0 -0
  676. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_json_schema.svg +0 -0
  677. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsonld.svg +0 -0
  678. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsonnet.svg +0 -0
  679. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsp.svg +0 -0
  680. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jsr.svg +0 -0
  681. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jss.svg +0 -0
  682. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_juice.svg +0 -0
  683. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_julia.svg +0 -0
  684. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_julia2.svg +0 -0
  685. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_jupyter.svg +0 -0
  686. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_just.svg +0 -0
  687. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_k.svg +0 -0
  688. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_karma.svg +0 -0
  689. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_key.svg +0 -0
  690. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kitchenci.svg +0 -0
  691. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kite.svg +0 -0
  692. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kivy.svg +0 -0
  693. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_knip.svg +0 -0
  694. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kos.svg +0 -0
  695. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kotlin.svg +0 -0
  696. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_kusto.svg +0 -0
  697. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_language_configuration.svg +0 -0
  698. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lark.svg +0 -0
  699. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_latino.svg +0 -0
  700. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_layout.svg +0 -0
  701. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lean.svg +0 -0
  702. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_leanconfig.svg +0 -0
  703. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lefthook.svg +0 -0
  704. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lerna.svg +0 -0
  705. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_less.svg +0 -0
  706. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lex.svg +0 -0
  707. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_liara.svg +0 -0
  708. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_base.svg +0 -0
  709. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_calc.svg +0 -0
  710. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_draw.svg +0 -0
  711. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_impress.svg +0 -0
  712. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_math.svg +0 -0
  713. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_writer.svg +0 -0
  714. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_license.svg +0 -0
  715. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_licensebat.svg +0 -0
  716. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_actionscript2.svg +0 -0
  717. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_ada.svg +0 -0
  718. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_agda.svg +0 -0
  719. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_agents.svg +0 -0
  720. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_apl.svg +0 -0
  721. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_astro.svg +0 -0
  722. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_astroconfig.svg +0 -0
  723. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_babel.svg +0 -0
  724. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_babel2.svg +0 -0
  725. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_cabal.svg +0 -0
  726. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_circleci.svg +0 -0
  727. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_cloudfoundry.svg +0 -0
  728. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_codacy.svg +0 -0
  729. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_codeclimate.svg +0 -0
  730. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_codeowners.svg +0 -0
  731. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_config.svg +0 -0
  732. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_copilot.svg +0 -0
  733. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_crystal.svg +0 -0
  734. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_cypress.svg +0 -0
  735. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_cypress_spec.svg +0 -0
  736. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_db.svg +0 -0
  737. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_deno.svg +0 -0
  738. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_dhall.svg +0 -0
  739. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_docpad.svg +0 -0
  740. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_drone.svg +0 -0
  741. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_eas-metadata.svg +0 -0
  742. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy.svg +0 -0
  743. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy2.svg +0 -0
  744. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +0 -0
  745. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_expo.svg +0 -0
  746. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_firebasehosting.svg +0 -0
  747. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_fla.svg +0 -0
  748. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_font.svg +0 -0
  749. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_gamemaker2.svg +0 -0
  750. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_gradle.svg +0 -0
  751. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_hashicorp.svg +0 -0
  752. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_hjson.svg +0 -0
  753. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_ini.svg +0 -0
  754. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_io.svg +0 -0
  755. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_js.svg +0 -0
  756. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_jsconfig.svg +0 -0
  757. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_jsmap.svg +0 -0
  758. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_json.svg +0 -0
  759. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_json5.svg +0 -0
  760. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_json_schema.svg +0 -0
  761. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_jsonld.svg +0 -0
  762. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_kite.svg +0 -0
  763. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_lark.svg +0 -0
  764. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_lean.svg +0 -0
  765. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_leanconfig.svg +0 -0
  766. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_lerna.svg +0 -0
  767. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +0 -0
  768. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_markuplint.svg +0 -0
  769. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mcp.svg +0 -0
  770. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mdx-components.svg +0 -0
  771. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mdx.svg +0 -0
  772. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mlang.svg +0 -0
  773. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mustache.svg +0 -0
  774. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_mypy.svg +0 -0
  775. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_neo4j.svg +0 -0
  776. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_netlify.svg +0 -0
  777. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_next.svg +0 -0
  778. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_nim.svg +0 -0
  779. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_nx.svg +0 -0
  780. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_objidconfig.svg +0 -0
  781. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_openHAB.svg +0 -0
  782. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_packship.svg +0 -0
  783. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_pcl.svg +0 -0
  784. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_pnpm.svg +0 -0
  785. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_prettier.svg +0 -0
  786. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_prisma.svg +0 -0
  787. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_purescript.svg +0 -0
  788. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_quasar.svg +0 -0
  789. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_raku.svg +0 -0
  790. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_razzle.svg +0 -0
  791. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_reactrouter.svg +0 -0
  792. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_rehype.svg +0 -0
  793. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_remark.svg +0 -0
  794. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_replit.svg +0 -0
  795. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_retext.svg +0 -0
  796. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_rome.svg +0 -0
  797. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_rubocop.svg +0 -0
  798. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_rust.svg +0 -0
  799. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_rust_toolchain.svg +0 -0
  800. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_safetensors.svg +0 -0
  801. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_shadcn.svg +0 -0
  802. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_shaderlab.svg +0 -0
  803. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_solidity.svg +0 -0
  804. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_spin.svg +0 -0
  805. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_stylelint.svg +0 -0
  806. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_stylus.svg +0 -0
  807. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_symfony.svg +0 -0
  808. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_systemd.svg +0 -0
  809. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_systemverilog.svg +0 -0
  810. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_testcafe.svg +0 -0
  811. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_testjs.svg +0 -0
  812. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_tex.svg +0 -0
  813. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_tm.svg +0 -0
  814. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_tmux.svg +0 -0
  815. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_todo.svg +0 -0
  816. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_toit.svg +0 -0
  817. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_toml.svg +0 -0
  818. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_toon.svg +0 -0
  819. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_tree.svg +0 -0
  820. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_turbo.svg +0 -0
  821. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_unibeautify.svg +0 -0
  822. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_vash.svg +0 -0
  823. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_vercel.svg +0 -0
  824. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_vsix.svg +0 -0
  825. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_vsixmanifest.svg +0 -0
  826. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_xfl.svg +0 -0
  827. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_xorg.svg +0 -0
  828. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_yaml.svg +0 -0
  829. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_yaml_official.svg +0 -0
  830. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_light_zeit.svg +0 -0
  831. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lighthouse.svg +0 -0
  832. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lilypond.svg +0 -0
  833. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lime.svg +0 -0
  834. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lintstagedrc.svg +0 -0
  835. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_liquid.svg +0 -0
  836. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lisp.svg +0 -0
  837. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_livescript.svg +0 -0
  838. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lnk.svg +0 -0
  839. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_locale.svg +0 -0
  840. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_log.svg +0 -0
  841. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lolcode.svg +0 -0
  842. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lsl.svg +0 -0
  843. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lua.svg +0 -0
  844. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_luau.svg +0 -0
  845. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_lync.svg +0 -0
  846. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +0 -0
  847. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_makefile.svg +0 -0
  848. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_manifest.svg +0 -0
  849. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_manifest_bak.svg +0 -0
  850. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_manifest_skip.svg +0 -0
  851. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_map.svg +0 -0
  852. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mariadb.svg +0 -0
  853. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_markdown.svg +0 -0
  854. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_markdownlint.svg +0 -0
  855. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_markdownlint_ignore.svg +0 -0
  856. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_marko.svg +0 -0
  857. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_markojs.svg +0 -0
  858. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_markuplint.svg +0 -0
  859. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_master-co.svg +0 -0
  860. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_matlab.svg +0 -0
  861. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_maven.svg +0 -0
  862. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_maxscript.svg +0 -0
  863. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_maya.svg +0 -0
  864. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mcp.svg +0 -0
  865. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mdx-components.svg +0 -0
  866. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mdx.svg +0 -0
  867. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mdxlint.svg +0 -0
  868. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mediawiki.svg +0 -0
  869. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mercurial.svg +0 -0
  870. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mermaid.svg +0 -0
  871. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_meson.svg +0 -0
  872. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_metal.svg +0 -0
  873. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_meteor.svg +0 -0
  874. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_minecraft.svg +0 -0
  875. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mivascript.svg +0 -0
  876. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mjml.svg +0 -0
  877. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mlang.svg +0 -0
  878. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mocha.svg +0 -0
  879. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_modernizr.svg +0 -0
  880. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mojo.svg +0 -0
  881. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mojolicious.svg +0 -0
  882. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_moleculer.svg +0 -0
  883. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mondoo.svg +0 -0
  884. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mongo.svg +0 -0
  885. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_monotone.svg +0 -0
  886. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_motif.svg +0 -0
  887. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mson.svg +0 -0
  888. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mustache.svg +0 -0
  889. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mvt.svg +0 -0
  890. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mvtcss.svg +0 -0
  891. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mvtjs.svg +0 -0
  892. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mypy.svg +0 -0
  893. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_mysql.svg +0 -0
  894. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nanostaged.svg +0 -0
  895. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ndst.svg +0 -0
  896. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nearly.svg +0 -0
  897. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_neo4j.svg +0 -0
  898. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_js.svg +0 -0
  899. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_ts.svg +0 -0
  900. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_js.svg +0 -0
  901. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_ts.svg +0 -0
  902. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_js.svg +0 -0
  903. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_ts.svg +0 -0
  904. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_js.svg +0 -0
  905. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_ts.svg +0 -0
  906. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_js.svg +0 -0
  907. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_ts.svg +0 -0
  908. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_js.svg +0 -0
  909. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_ts.svg +0 -0
  910. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_js.svg +0 -0
  911. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_ts.svg +0 -0
  912. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_js.svg +0 -0
  913. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_ts.svg +0 -0
  914. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_module_js.svg +0 -0
  915. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_module_ts.svg +0 -0
  916. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_js.svg +0 -0
  917. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_ts.svg +0 -0
  918. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_service_js.svg +0 -0
  919. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nest_service_ts.svg +0 -0
  920. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nestjs.svg +0 -0
  921. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_netlify.svg +0 -0
  922. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_next.svg +0 -0
  923. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nextflow.svg +0 -0
  924. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_css.svg +0 -0
  925. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_dart.svg +0 -0
  926. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_html.svg +0 -0
  927. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js.svg +0 -0
  928. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js2.svg +0 -0
  929. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_less.svg +0 -0
  930. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_sass.svg +0 -0
  931. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_scss.svg +0 -0
  932. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts.svg +0 -0
  933. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts2.svg +0 -0
  934. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_js.svg +0 -0
  935. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_ts.svg +0 -0
  936. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_dart.svg +0 -0
  937. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js.svg +0 -0
  938. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js2.svg +0 -0
  939. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts.svg +0 -0
  940. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts2.svg +0 -0
  941. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_dart.svg +0 -0
  942. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_js.svg +0 -0
  943. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_ts.svg +0 -0
  944. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_dart.svg +0 -0
  945. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_js.svg +0 -0
  946. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_ts.svg +0 -0
  947. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_module_dart.svg +0 -0
  948. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js.svg +0 -0
  949. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js2.svg +0 -0
  950. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts.svg +0 -0
  951. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts2.svg +0 -0
  952. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_dart.svg +0 -0
  953. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js.svg +0 -0
  954. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js2.svg +0 -0
  955. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts.svg +0 -0
  956. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts2.svg +0 -0
  957. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_dart.svg +0 -0
  958. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js.svg +0 -0
  959. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js2.svg +0 -0
  960. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts.svg +0 -0
  961. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts2.svg +0 -0
  962. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_service_dart.svg +0 -0
  963. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js.svg +0 -0
  964. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js2.svg +0 -0
  965. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts.svg +0 -0
  966. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts2.svg +0 -0
  967. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_dart.svg +0 -0
  968. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js.svg +0 -0
  969. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js2.svg +0 -0
  970. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts.svg +0 -0
  971. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts2.svg +0 -0
  972. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ng_tailwind.svg +0 -0
  973. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nginx.svg +0 -0
  974. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nim.svg +0 -0
  975. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nimble.svg +0 -0
  976. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ninja.svg +0 -0
  977. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nix.svg +0 -0
  978. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_njsproj.svg +0 -0
  979. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_noc.svg +0 -0
  980. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_node.svg +0 -0
  981. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_node2.svg +0 -0
  982. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nodemon.svg +0 -0
  983. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_npm.svg +0 -0
  984. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_npmpackagejsonlint.svg +0 -0
  985. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nsi.svg +0 -0
  986. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nsri-integrity.svg +0 -0
  987. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nsri.svg +0 -0
  988. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nuget.svg +0 -0
  989. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_numpy.svg +0 -0
  990. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nunjucks.svg +0 -0
  991. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nushell.svg +0 -0
  992. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nuxt.svg +0 -0
  993. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nx.svg +0 -0
  994. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_nyc.svg +0 -0
  995. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_objectivec.svg +0 -0
  996. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_objectivecpp.svg +0 -0
  997. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_objidconfig.svg +0 -0
  998. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ocaml.svg +0 -0
  999. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ocaml_intf.svg +0 -0
  1000. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ogone.svg +0 -0
  1001. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_onenote.svg +0 -0
  1002. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_opam.svg +0 -0
  1003. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_openHAB.svg +0 -0
  1004. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_opencl.svg +0 -0
  1005. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_openscad.svg +0 -0
  1006. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_opentofu.svg +0 -0
  1007. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_org.svg +0 -0
  1008. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_outlook.svg +0 -0
  1009. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ovpn.svg +0 -0
  1010. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_oxc.svg +0 -0
  1011. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_oxlint.svg +0 -0
  1012. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_package.svg +0 -0
  1013. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_packship.svg +0 -0
  1014. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_paket.svg +0 -0
  1015. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pandacss.svg +0 -0
  1016. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_patch.svg +0 -0
  1017. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pcl.svg +0 -0
  1018. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pddl.svg +0 -0
  1019. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pddl_happenings.svg +0 -0
  1020. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pddl_plan.svg +0 -0
  1021. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pdf.svg +0 -0
  1022. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pdf2.svg +0 -0
  1023. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pdm.svg +0 -0
  1024. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_peeky.svg +0 -0
  1025. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_perl.svg +0 -0
  1026. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_perl2.svg +0 -0
  1027. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_perl6.svg +0 -0
  1028. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pgsql.svg +0 -0
  1029. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_photoshop.svg +0 -0
  1030. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_photoshop2.svg +0 -0
  1031. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_php.svg +0 -0
  1032. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_php2.svg +0 -0
  1033. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_php3.svg +0 -0
  1034. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_phpcsfixer.svg +0 -0
  1035. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_phpstan.svg +0 -0
  1036. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_phpunit.svg +0 -0
  1037. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_phraseapp.svg +0 -0
  1038. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pine.svg +0 -0
  1039. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pip.svg +0 -0
  1040. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pipeline.svg +0 -0
  1041. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plantuml.svg +0 -0
  1042. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_platformio.svg +0 -0
  1043. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_playwright.svg +0 -0
  1044. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plsql.svg +0 -0
  1045. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plsql_package.svg +0 -0
  1046. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_body.svg +0 -0
  1047. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_header.svg +0 -0
  1048. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_spec.svg +0 -0
  1049. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pm2.svg +0 -0
  1050. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pnpm.svg +0 -0
  1051. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_poedit.svg +0 -0
  1052. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_poetry.svg +0 -0
  1053. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_polyglot.svg +0 -0
  1054. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_polymer.svg +0 -0
  1055. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pony.svg +0 -0
  1056. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_postcss.svg +0 -0
  1057. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_postcssconfig.svg +0 -0
  1058. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_postman.svg +0 -0
  1059. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powerpoint.svg +0 -0
  1060. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powerpoint2.svg +0 -0
  1061. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell.svg +0 -0
  1062. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell2.svg +0 -0
  1063. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_format.svg +0 -0
  1064. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd.svg +0 -0
  1065. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd2.svg +0 -0
  1066. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm.svg +0 -0
  1067. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm2.svg +0 -0
  1068. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_powershell_types.svg +0 -0
  1069. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_preact.svg +0 -0
  1070. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_precommit.svg +0 -0
  1071. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_prettier.svg +0 -0
  1072. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_prisma.svg +0 -0
  1073. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_prismaconfig.svg +0 -0
  1074. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_processinglang.svg +0 -0
  1075. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_procfile.svg +0 -0
  1076. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_progress.svg +0 -0
  1077. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_prolog.svg +0 -0
  1078. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_prometheus.svg +0 -0
  1079. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_protobuf.svg +0 -0
  1080. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_protractor.svg +0 -0
  1081. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_publiccode.svg +0 -0
  1082. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_publisher.svg +0 -0
  1083. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pug.svg +0 -0
  1084. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pulumi.svg +0 -0
  1085. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_puppet.svg +0 -0
  1086. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_purescript.svg +0 -0
  1087. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_purgecss.svg +0 -0
  1088. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pyenv.svg +0 -0
  1089. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pyret.svg +0 -0
  1090. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pyscript.svg +0 -0
  1091. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pytest.svg +0 -0
  1092. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_python.svg +0 -0
  1093. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +0 -0
  1094. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pytyped.svg +0 -0
  1095. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_pyup.svg +0 -0
  1096. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_q.svg +0 -0
  1097. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_qbs.svg +0 -0
  1098. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_qlikview.svg +0 -0
  1099. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_qml.svg +0 -0
  1100. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_qmldir.svg +0 -0
  1101. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_qsharp.svg +0 -0
  1102. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_quasar.svg +0 -0
  1103. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_r.svg +0 -0
  1104. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ra_syntax_tree.svg +0 -0
  1105. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_racket.svg +0 -0
  1106. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rails.svg +0 -0
  1107. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rake.svg +0 -0
  1108. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_raku.svg +0 -0
  1109. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_raml.svg +0 -0
  1110. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_razor.svg +0 -0
  1111. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_razzle.svg +0 -0
  1112. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_reactjs.svg +0 -0
  1113. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_reactrouter.svg +0 -0
  1114. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_reacttemplate.svg +0 -0
  1115. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_reactts.svg +0 -0
  1116. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_reason.svg +0 -0
  1117. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_red.svg +0 -0
  1118. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_registry.svg +0 -0
  1119. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rego.svg +0 -0
  1120. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rehype.svg +0 -0
  1121. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_remark.svg +0 -0
  1122. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_renovate.svg +0 -0
  1123. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_replit.svg +0 -0
  1124. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rescript.svg +0 -0
  1125. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rest.svg +0 -0
  1126. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_retext.svg +0 -0
  1127. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rexx.svg +0 -0
  1128. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_riot.svg +0 -0
  1129. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ripple.svg +0 -0
  1130. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rmd.svg +0 -0
  1131. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rnc.svg +0 -0
  1132. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_robotframework.svg +0 -0
  1133. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_robots.svg +0 -0
  1134. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rolldown.svg +0 -0
  1135. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rollup.svg +0 -0
  1136. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rome.svg +0 -0
  1137. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ron.svg +0 -0
  1138. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rproj.svg +0 -0
  1139. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rspec.svg +0 -0
  1140. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rss.svg +0 -0
  1141. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rubocop.svg +0 -0
  1142. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ruby.svg +0 -0
  1143. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rust.svg +0 -0
  1144. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_rust_toolchain.svg +0 -0
  1145. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_s-lang.svg +0 -0
  1146. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_safetensors.svg +0 -0
  1147. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sails.svg +0 -0
  1148. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_saltstack.svg +0 -0
  1149. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_san.svg +0 -0
  1150. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sapphire_framework_cli.svg +0 -0
  1151. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sas.svg +0 -0
  1152. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sass.svg +0 -0
  1153. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sbt.svg +0 -0
  1154. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_scala.svg +0 -0
  1155. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_scilab.svg +0 -0
  1156. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_script.svg +0 -0
  1157. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_scss.svg +0 -0
  1158. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_scss2.svg +0 -0
  1159. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sdlang.svg +0 -0
  1160. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_search_result.svg +0 -0
  1161. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_seedkit.svg +0 -0
  1162. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sentry.svg +0 -0
  1163. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sequelize.svg +0 -0
  1164. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_serverless.svg +0 -0
  1165. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_shadcn.svg +0 -0
  1166. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_shaderlab.svg +0 -0
  1167. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_shell.svg +0 -0
  1168. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_shellcheck.svg +0 -0
  1169. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_shuttle.svg +0 -0
  1170. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_silverstripe.svg +0 -0
  1171. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sino.svg +0 -0
  1172. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sitemap.svg +0 -0
  1173. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_siyuan.svg +0 -0
  1174. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sketch.svg +0 -0
  1175. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_skipper.svg +0 -0
  1176. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_slang.svg +0 -0
  1177. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_slashup.svg +0 -0
  1178. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_slice.svg +0 -0
  1179. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_slim.svg +0 -0
  1180. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_slint.svg +0 -0
  1181. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sln.svg +0 -0
  1182. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sln2.svg +0 -0
  1183. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_smarty.svg +0 -0
  1184. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_smithery.svg +0 -0
  1185. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_snakemake.svg +0 -0
  1186. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_snapcraft.svg +0 -0
  1187. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_snaplet.svg +0 -0
  1188. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_snort.svg +0 -0
  1189. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_snyk.svg +0 -0
  1190. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_solidarity.svg +0 -0
  1191. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_solidity.svg +0 -0
  1192. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_source.svg +0 -0
  1193. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_spacengine.svg +0 -0
  1194. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sparql.svg +0 -0
  1195. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_spin.svg +0 -0
  1196. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sqf.svg +0 -0
  1197. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sql.svg +0 -0
  1198. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sqlite.svg +0 -0
  1199. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_squirrel.svg +0 -0
  1200. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sss.svg +0 -0
  1201. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sst.svg +0 -0
  1202. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stackblitz.svg +0 -0
  1203. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stan.svg +0 -0
  1204. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stata.svg +0 -0
  1205. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stencil.svg +0 -0
  1206. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_storyboard.svg +0 -0
  1207. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_storybook.svg +0 -0
  1208. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stryker.svg +0 -0
  1209. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stylable.svg +0 -0
  1210. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_style.svg +0 -0
  1211. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_styled.svg +0 -0
  1212. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stylelint.svg +0 -0
  1213. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stylish_haskell.svg +0 -0
  1214. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_stylus.svg +0 -0
  1215. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_sublime.svg +0 -0
  1216. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_subversion.svg +0 -0
  1217. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_svelte.svg +0 -0
  1218. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_svelteconfig.svg +0 -0
  1219. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_svg.svg +0 -0
  1220. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_svgo.svg +0 -0
  1221. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_swagger.svg +0 -0
  1222. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_swc.svg +0 -0
  1223. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_swift.svg +0 -0
  1224. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_swig.svg +0 -0
  1225. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_symfony.svg +0 -0
  1226. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_syncpack.svg +0 -0
  1227. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_systemd.svg +0 -0
  1228. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_systemverilog.svg +0 -0
  1229. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_t4tt.svg +0 -0
  1230. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tailwind.svg +0 -0
  1231. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tamagui.svg +0 -0
  1232. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_taplo.svg +0 -0
  1233. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_taskfile.svg +0 -0
  1234. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tauri.svg +0 -0
  1235. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tcl.svg +0 -0
  1236. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_teal.svg +0 -0
  1237. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_templ.svg +0 -0
  1238. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tera.svg +0 -0
  1239. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_terraform.svg +0 -0
  1240. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_test.svg +0 -0
  1241. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_testcafe.svg +0 -0
  1242. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_testjs.svg +0 -0
  1243. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_testplane.svg +0 -0
  1244. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_testts.svg +0 -0
  1245. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tex.svg +0 -0
  1246. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_text.svg +0 -0
  1247. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_textile.svg +0 -0
  1248. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tfs.svg +0 -0
  1249. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tiltfile.svg +0 -0
  1250. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tm.svg +0 -0
  1251. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tmux.svg +0 -0
  1252. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_todo.svg +0 -0
  1253. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_toit.svg +0 -0
  1254. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_toml.svg +0 -0
  1255. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_toon.svg +0 -0
  1256. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tox.svg +0 -0
  1257. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_travis.svg +0 -0
  1258. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tree.svg +0 -0
  1259. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tres.svg +0 -0
  1260. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_truffle.svg +0 -0
  1261. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_trunk.svg +0 -0
  1262. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tsbuildinfo.svg +0 -0
  1263. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tscn.svg +0 -0
  1264. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tsconfig.svg +0 -0
  1265. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tsconfig_official.svg +0 -0
  1266. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tsdoc.svg +0 -0
  1267. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tsdown.svg +0 -0
  1268. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tslint.svg +0 -0
  1269. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tt.svg +0 -0
  1270. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_ttcn.svg +0 -0
  1271. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_tuc.svg +0 -0
  1272. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_turbo.svg +0 -0
  1273. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_twig.svg +0 -0
  1274. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typedoc.svg +0 -0
  1275. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typescript.svg +0 -0
  1276. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typescript_official.svg +0 -0
  1277. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef.svg +0 -0
  1278. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef_official.svg +0 -0
  1279. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_typo3.svg +0 -0
  1280. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_uiua.svg +0 -0
  1281. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_unibeautify.svg +0 -0
  1282. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_unison.svg +0 -0
  1283. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_unlicense.svg +0 -0
  1284. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_unocss.svg +0 -0
  1285. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_uv.svg +0 -0
  1286. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vagrant.svg +0 -0
  1287. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vala.svg +0 -0
  1288. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vanilla_extract.svg +0 -0
  1289. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vapi.svg +0 -0
  1290. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vapor.svg +0 -0
  1291. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vash.svg +0 -0
  1292. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vb.svg +0 -0
  1293. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vba.svg +0 -0
  1294. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vbhtml.svg +0 -0
  1295. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vbproj.svg +0 -0
  1296. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vcxproj.svg +0 -0
  1297. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_velocity.svg +0 -0
  1298. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vento.svg +0 -0
  1299. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vercel.svg +0 -0
  1300. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_verilog.svg +0 -0
  1301. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vhdl.svg +0 -0
  1302. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_video.svg +0 -0
  1303. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_view.svg +0 -0
  1304. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vim.svg +0 -0
  1305. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vite.svg +0 -0
  1306. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vitest.svg +0 -0
  1307. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vlang.svg +0 -0
  1308. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_volt.svg +0 -0
  1309. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vroom.svg +0 -0
  1310. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vscode-insiders.svg +0 -0
  1311. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vscode.svg +0 -0
  1312. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vscode2.svg +0 -0
  1313. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vscode3.svg +0 -0
  1314. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vscode_test.svg +0 -0
  1315. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vsix.svg +0 -0
  1316. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vsixmanifest.svg +0 -0
  1317. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vue.svg +0 -0
  1318. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vueconfig.svg +0 -0
  1319. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vvvvvv.svg +0 -0
  1320. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_vyper.svg +0 -0
  1321. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wallaby.svg +0 -0
  1322. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wally.svg +0 -0
  1323. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wasm.svg +0 -0
  1324. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_watchmanconfig.svg +0 -0
  1325. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wdio.svg +0 -0
  1326. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_weblate.svg +0 -0
  1327. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_webpack.svg +0 -0
  1328. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wenyan.svg +0 -0
  1329. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wercker.svg +0 -0
  1330. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wgsl.svg +0 -0
  1331. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wikitext.svg +0 -0
  1332. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_windi.svg +0 -0
  1333. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wit.svg +0 -0
  1334. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wolfram.svg +0 -0
  1335. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_word.svg +0 -0
  1336. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_word2.svg +0 -0
  1337. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wpml.svg +0 -0
  1338. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wurst.svg +0 -0
  1339. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wxml.svg +0 -0
  1340. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wxss.svg +0 -0
  1341. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_wxt.svg +0 -0
  1342. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xaml.svg +0 -0
  1343. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xcode.svg +0 -0
  1344. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xfl.svg +0 -0
  1345. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xib.svg +0 -0
  1346. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xliff.svg +0 -0
  1347. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xmake.svg +0 -0
  1348. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xml.svg +0 -0
  1349. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xo.svg +0 -0
  1350. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xorg.svg +0 -0
  1351. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xquery.svg +0 -0
  1352. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_xsl.svg +0 -0
  1353. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yacc.svg +0 -0
  1354. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yaml.svg +0 -0
  1355. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yaml_official.svg +0 -0
  1356. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yamllint.svg +0 -0
  1357. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yandex.svg +0 -0
  1358. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yang.svg +0 -0
  1359. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yarn.svg +0 -0
  1360. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_yeoman.svg +0 -0
  1361. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_zeit.svg +0 -0
  1362. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_zig.svg +0 -0
  1363. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_zip.svg +0 -0
  1364. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/file_type_zip2.svg +0 -0
  1365. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_android.svg +0 -0
  1366. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_android_opened.svg +0 -0
  1367. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_angular.svg +0 -0
  1368. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_angular_opened.svg +0 -0
  1369. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_apache.svg +0 -0
  1370. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_apache_opened.svg +0 -0
  1371. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_api.svg +0 -0
  1372. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_api_opened.svg +0 -0
  1373. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_app.svg +0 -0
  1374. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_app_opened.svg +0 -0
  1375. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_arangodb.svg +0 -0
  1376. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_arangodb_opened.svg +0 -0
  1377. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_asset.svg +0 -0
  1378. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_asset_opened.svg +0 -0
  1379. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_astro.svg +0 -0
  1380. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_astro_opened.svg +0 -0
  1381. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_audio.svg +0 -0
  1382. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_audio_opened.svg +0 -0
  1383. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_aurelia.svg +0 -0
  1384. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_aurelia_opened.svg +0 -0
  1385. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_aws.svg +0 -0
  1386. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_aws_opened.svg +0 -0
  1387. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_azure.svg +0 -0
  1388. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_azure_opened.svg +0 -0
  1389. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines.svg +0 -0
  1390. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines_opened.svg +0 -0
  1391. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_binary.svg +0 -0
  1392. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_binary_opened.svg +0 -0
  1393. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bloc.svg +0 -0
  1394. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bloc_opened.svg +0 -0
  1395. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_blueprint.svg +0 -0
  1396. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_blueprint_opened.svg +0 -0
  1397. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bot.svg +0 -0
  1398. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bot_opened.svg +0 -0
  1399. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bower.svg +0 -0
  1400. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_bower_opened.svg +0 -0
  1401. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_buildkite.svg +0 -0
  1402. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_buildkite_opened.svg +0 -0
  1403. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cake.svg +0 -0
  1404. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cake_opened.svg +0 -0
  1405. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cargo.svg +0 -0
  1406. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cargo_opened.svg +0 -0
  1407. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_certificate.svg +0 -0
  1408. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_certificate_opened.svg +0 -0
  1409. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_changesets.svg +0 -0
  1410. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_changesets_opened.svg +0 -0
  1411. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_chef.svg +0 -0
  1412. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_chef_opened.svg +0 -0
  1413. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_circleci.svg +0 -0
  1414. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_circleci_opened.svg +0 -0
  1415. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_claude.svg +0 -0
  1416. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_claude_opened.svg +0 -0
  1417. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cli.svg +0 -0
  1418. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cli_opened.svg +0 -0
  1419. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_client.svg +0 -0
  1420. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_client_opened.svg +0 -0
  1421. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare.svg +0 -0
  1422. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare_opened.svg +0 -0
  1423. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cmake.svg +0 -0
  1424. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cmake_opened.svg +0 -0
  1425. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_common.svg +0 -0
  1426. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_common_opened.svg +0 -0
  1427. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_component.svg +0 -0
  1428. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_component_opened.svg +0 -0
  1429. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_composer.svg +0 -0
  1430. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_composer_opened.svg +0 -0
  1431. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_config.svg +0 -0
  1432. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_config_opened.svg +0 -0
  1433. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_controller.svg +0 -0
  1434. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_controller_opened.svg +0 -0
  1435. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_coverage.svg +0 -0
  1436. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_coverage_opened.svg +0 -0
  1437. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_css.svg +0 -0
  1438. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_css2.svg +0 -0
  1439. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_css2_opened.svg +0 -0
  1440. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_css_opened.svg +0 -0
  1441. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cubit.svg +0 -0
  1442. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cubit_opened.svg +0 -0
  1443. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cursor.svg +0 -0
  1444. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cursor_opened.svg +0 -0
  1445. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cypress.svg +0 -0
  1446. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_cypress_opened.svg +0 -0
  1447. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dapr.svg +0 -0
  1448. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dapr_opened.svg +0 -0
  1449. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dart.svg +0 -0
  1450. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dart_opened.svg +0 -0
  1451. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +0 -0
  1452. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +0 -0
  1453. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_db.svg +0 -0
  1454. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_db_opened.svg +0 -0
  1455. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_debian.svg +0 -0
  1456. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_debian_opened.svg +0 -0
  1457. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dependabot.svg +0 -0
  1458. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dependabot_opened.svg +0 -0
  1459. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer.svg +0 -0
  1460. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer_opened.svg +0 -0
  1461. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dist.svg +0 -0
  1462. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_dist_opened.svg +0 -0
  1463. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_docker.svg +0 -0
  1464. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_docker_opened.svg +0 -0
  1465. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_docs.svg +0 -0
  1466. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_docs_opened.svg +0 -0
  1467. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_e2e.svg +0 -0
  1468. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_e2e_opened.svg +0 -0
  1469. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk.svg +0 -0
  1470. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1471. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_electron.svg +0 -0
  1472. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_electron_opened.svg +0 -0
  1473. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_expo.svg +0 -0
  1474. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_expo_opened.svg +0 -0
  1475. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_favicon.svg +0 -0
  1476. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_favicon_opened.svg +0 -0
  1477. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_flow.svg +0 -0
  1478. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_flow_opened.svg +0 -0
  1479. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_flutter.svg +0 -0
  1480. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_flutter_opened.svg +0 -0
  1481. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_fonts.svg +0 -0
  1482. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_fonts_opened.svg +0 -0
  1483. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce.svg +0 -0
  1484. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce_opened.svg +0 -0
  1485. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gcp.svg +0 -0
  1486. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gcp_opened.svg +0 -0
  1487. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_git.svg +0 -0
  1488. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_git_opened.svg +0 -0
  1489. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_github.svg +0 -0
  1490. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_github_opened.svg +0 -0
  1491. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gitlab.svg +0 -0
  1492. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gitlab_opened.svg +0 -0
  1493. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_godot.svg +0 -0
  1494. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_godot_opened.svg +0 -0
  1495. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gradle.svg +0 -0
  1496. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gradle_opened.svg +0 -0
  1497. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_graphql.svg +0 -0
  1498. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_graphql_opened.svg +0 -0
  1499. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_grunt.svg +0 -0
  1500. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_grunt_opened.svg +0 -0
  1501. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gulp.svg +0 -0
  1502. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_gulp_opened.svg +0 -0
  1503. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_haxelib.svg +0 -0
  1504. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_haxelib_opened.svg +0 -0
  1505. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_helper.svg +0 -0
  1506. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_helper_opened.svg +0 -0
  1507. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_histoire.svg +0 -0
  1508. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_histoire_opened.svg +0 -0
  1509. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_hook.svg +0 -0
  1510. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_hook_opened.svg +0 -0
  1511. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_husky.svg +0 -0
  1512. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_husky_opened.svg +0 -0
  1513. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_idea.svg +0 -0
  1514. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_idea_opened.svg +0 -0
  1515. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_images.svg +0 -0
  1516. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_images_opened.svg +0 -0
  1517. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_include.svg +0 -0
  1518. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_include_opened.svg +0 -0
  1519. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_interfaces.svg +0 -0
  1520. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_interfaces_opened.svg +0 -0
  1521. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_ios.svg +0 -0
  1522. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_ios_opened.svg +0 -0
  1523. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_js.svg +0 -0
  1524. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_js_opened.svg +0 -0
  1525. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_json.svg +0 -0
  1526. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_json_official.svg +0 -0
  1527. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_json_official_opened.svg +0 -0
  1528. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_json_opened.svg +0 -0
  1529. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_junie.svg +0 -0
  1530. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_junie_opened.svg +0 -0
  1531. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_kotlin.svg +0 -0
  1532. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_kotlin_opened.svg +0 -0
  1533. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes.svg +0 -0
  1534. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes_opened.svg +0 -0
  1535. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_less.svg +0 -0
  1536. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_less_opened.svg +0 -0
  1537. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_library.svg +0 -0
  1538. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_library_opened.svg +0 -0
  1539. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor.svg +0 -0
  1540. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor_opened.svg +0 -0
  1541. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress.svg +0 -0
  1542. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress_opened.svg +0 -0
  1543. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_electron.svg +0 -0
  1544. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_electron_opened.svg +0 -0
  1545. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_expo.svg +0 -0
  1546. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_expo_opened.svg +0 -0
  1547. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts.svg +0 -0
  1548. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts_opened.svg +0 -0
  1549. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle.svg +0 -0
  1550. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle_opened.svg +0 -0
  1551. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor.svg +0 -0
  1552. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor_opened.svg +0 -0
  1553. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy.svg +0 -0
  1554. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy_opened.svg +0 -0
  1555. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql.svg +0 -0
  1556. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql_opened.svg +0 -0
  1557. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_node.svg +0 -0
  1558. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_node_opened.svg +0 -0
  1559. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_redux.svg +0 -0
  1560. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_redux_opened.svg +0 -0
  1561. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_sass.svg +0 -0
  1562. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_sass_opened.svg +0 -0
  1563. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_zed.svg +0 -0
  1564. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_light_zed_opened.svg +0 -0
  1565. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_linux.svg +0 -0
  1566. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_linux_opened.svg +0 -0
  1567. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_locale.svg +0 -0
  1568. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_locale_opened.svg +0 -0
  1569. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_log.svg +0 -0
  1570. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_log_opened.svg +0 -0
  1571. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_macos.svg +0 -0
  1572. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_macos_opened.svg +0 -0
  1573. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mariadb.svg +0 -0
  1574. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mariadb_opened.svg +0 -0
  1575. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_maven.svg +0 -0
  1576. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_maven_opened.svg +0 -0
  1577. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki.svg +0 -0
  1578. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki_opened.svg +0 -0
  1579. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_memcached.svg +0 -0
  1580. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_memcached_opened.svg +0 -0
  1581. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_meteor.svg +0 -0
  1582. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_meteor_opened.svg +0 -0
  1583. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_middleware.svg +0 -0
  1584. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_middleware_opened.svg +0 -0
  1585. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_minecraft.svg +0 -0
  1586. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_minecraft_opened.svg +0 -0
  1587. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_minikube.svg +0 -0
  1588. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_minikube_opened.svg +0 -0
  1589. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mjml.svg +0 -0
  1590. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mjml_opened.svg +0 -0
  1591. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mock.svg +0 -0
  1592. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mock_opened.svg +0 -0
  1593. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_model.svg +0 -0
  1594. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_model_opened.svg +0 -0
  1595. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_module.svg +0 -0
  1596. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_module_opened.svg +0 -0
  1597. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mojo.svg +0 -0
  1598. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mojo_opened.svg +0 -0
  1599. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mongodb.svg +0 -0
  1600. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mongodb_opened.svg +0 -0
  1601. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mypy.svg +0 -0
  1602. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mypy_opened.svg +0 -0
  1603. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mysql.svg +0 -0
  1604. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_mysql_opened.svg +0 -0
  1605. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_netlify.svg +0 -0
  1606. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_netlify_opened.svg +0 -0
  1607. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_next.svg +0 -0
  1608. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_next_opened.svg +0 -0
  1609. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nginx.svg +0 -0
  1610. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nginx_opened.svg +0 -0
  1611. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nix.svg +0 -0
  1612. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nix_opened.svg +0 -0
  1613. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_node.svg +0 -0
  1614. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_node_opened.svg +0 -0
  1615. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_notebooks.svg +0 -0
  1616. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_notebooks_opened.svg +0 -0
  1617. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_notification.svg +0 -0
  1618. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_notification_opened.svg +0 -0
  1619. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nuget.svg +0 -0
  1620. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nuget_opened.svg +0 -0
  1621. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nuxt.svg +0 -0
  1622. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_nuxt_opened.svg +0 -0
  1623. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_package.svg +0 -0
  1624. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_package_opened.svg +0 -0
  1625. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_paket.svg +0 -0
  1626. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_paket_opened.svg +0 -0
  1627. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_php.svg +0 -0
  1628. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_php_opened.svg +0 -0
  1629. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_platformio.svg +0 -0
  1630. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_platformio_opened.svg +0 -0
  1631. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_plugin.svg +0 -0
  1632. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_plugin_opened.svg +0 -0
  1633. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_prisma.svg +0 -0
  1634. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_prisma_opened.svg +0 -0
  1635. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_private.svg +0 -0
  1636. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_private_opened.svg +0 -0
  1637. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_public.svg +0 -0
  1638. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_public_opened.svg +0 -0
  1639. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_pytest.svg +0 -0
  1640. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_pytest_opened.svg +0 -0
  1641. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_python.svg +0 -0
  1642. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_python_opened.svg +0 -0
  1643. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_ravendb.svg +0 -0
  1644. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_ravendb_opened.svg +0 -0
  1645. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_redis.svg +0 -0
  1646. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_redis_opened.svg +0 -0
  1647. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_redux.svg +0 -0
  1648. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_redux_opened.svg +0 -0
  1649. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_route.svg +0 -0
  1650. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_route_opened.svg +0 -0
  1651. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_sass.svg +0 -0
  1652. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_sass_opened.svg +0 -0
  1653. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_script.svg +0 -0
  1654. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_script_opened.svg +0 -0
  1655. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_seedkit.svg +0 -0
  1656. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_seedkit_opened.svg +0 -0
  1657. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_server.svg +0 -0
  1658. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_server_opened.svg +0 -0
  1659. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_services.svg +0 -0
  1660. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_services_opened.svg +0 -0
  1661. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_shared.svg +0 -0
  1662. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_shared_opened.svg +0 -0
  1663. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_snaplet.svg +0 -0
  1664. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_snaplet_opened.svg +0 -0
  1665. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_spin.svg +0 -0
  1666. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_spin_opened.svg +0 -0
  1667. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_src.svg +0 -0
  1668. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_src_opened.svg +0 -0
  1669. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_sso.svg +0 -0
  1670. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_sso_opened.svg +0 -0
  1671. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_story.svg +0 -0
  1672. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_story_opened.svg +0 -0
  1673. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_style.svg +0 -0
  1674. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_style_opened.svg +0 -0
  1675. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_supabase.svg +0 -0
  1676. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_supabase_opened.svg +0 -0
  1677. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_svelte.svg +0 -0
  1678. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_svelte_opened.svg +0 -0
  1679. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_tauri.svg +0 -0
  1680. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_tauri_opened.svg +0 -0
  1681. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_temp.svg +0 -0
  1682. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_temp_opened.svg +0 -0
  1683. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_template.svg +0 -0
  1684. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_template_opened.svg +0 -0
  1685. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_test.svg +0 -0
  1686. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_test_opened.svg +0 -0
  1687. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_theme.svg +0 -0
  1688. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_theme_opened.svg +0 -0
  1689. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_tools.svg +0 -0
  1690. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_tools_opened.svg +0 -0
  1691. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_travis.svg +0 -0
  1692. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_travis_opened.svg +0 -0
  1693. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_trunk.svg +0 -0
  1694. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_trunk_opened.svg +0 -0
  1695. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_turbo.svg +0 -0
  1696. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_turbo_opened.svg +0 -0
  1697. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typescript.svg +0 -0
  1698. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typescript_opened.svg +0 -0
  1699. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typings.svg +0 -0
  1700. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typings2.svg +0 -0
  1701. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typings2_opened.svg +0 -0
  1702. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_typings_opened.svg +0 -0
  1703. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vagrant.svg +0 -0
  1704. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vagrant_opened.svg +0 -0
  1705. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vercel.svg +0 -0
  1706. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vercel_opened.svg +0 -0
  1707. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_video.svg +0 -0
  1708. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_video_opened.svg +0 -0
  1709. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_view.svg +0 -0
  1710. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_view_opened.svg +0 -0
  1711. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vitepress.svg +0 -0
  1712. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vitepress_opened.svg +0 -0
  1713. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vs.svg +0 -0
  1714. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vs2.svg +0 -0
  1715. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vs2_opened.svg +0 -0
  1716. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vs_opened.svg +0 -0
  1717. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode.svg +0 -0
  1718. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode2.svg +0 -0
  1719. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode2_opened.svg +0 -0
  1720. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode3.svg +0 -0
  1721. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode3_opened.svg +0 -0
  1722. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_opened.svg +0 -0
  1723. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test.svg +0 -0
  1724. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2.svg +0 -0
  1725. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2_opened.svg +0 -0
  1726. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3.svg +0 -0
  1727. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3_opened.svg +0 -0
  1728. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test_opened.svg +0 -0
  1729. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_wasm.svg +0 -0
  1730. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_wasm_opened.svg +0 -0
  1731. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_webpack.svg +0 -0
  1732. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_webpack_opened.svg +0 -0
  1733. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_windows.svg +0 -0
  1734. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_windows_opened.svg +0 -0
  1735. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_windsurf.svg +0 -0
  1736. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_windsurf_opened.svg +0 -0
  1737. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_wit.svg +0 -0
  1738. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_wit_opened.svg +0 -0
  1739. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_www.svg +0 -0
  1740. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_www_opened.svg +0 -0
  1741. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_yarn.svg +0 -0
  1742. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_yarn_opened.svg +0 -0
  1743. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_zed.svg +0 -0
  1744. /package/static/{fa4105b → 2374597}/extensions/builtin.vscode-icons/icons/folder_type_zed_opened.svg +0 -0
  1745. /package/static/{fa4105b → 2374597}/fonts/FiraCode-VariableFont.ttf +0 -0
  1746. /package/static/{fa4105b → 2374597}/icons/add.svg +0 -0
  1747. /package/static/{fa4105b → 2374597}/icons/arrow-down.svg +0 -0
  1748. /package/static/{fa4105b → 2374597}/icons/arrow-left.svg +0 -0
  1749. /package/static/{fa4105b → 2374597}/icons/arrow-right.svg +0 -0
  1750. /package/static/{fa4105b → 2374597}/icons/arrow-up.svg +0 -0
  1751. /package/static/{fa4105b → 2374597}/icons/blank.svg +0 -0
  1752. /package/static/{fa4105b → 2374597}/icons/book.svg +0 -0
  1753. /package/static/{fa4105b → 2374597}/icons/case-sensitive.svg +0 -0
  1754. /package/static/{fa4105b → 2374597}/icons/check.svg +0 -0
  1755. /package/static/{fa4105b → 2374597}/icons/chevron-down.svg +0 -0
  1756. /package/static/{fa4105b → 2374597}/icons/chevron-left.svg +0 -0
  1757. /package/static/{fa4105b → 2374597}/icons/chevron-right.svg +0 -0
  1758. /package/static/{fa4105b → 2374597}/icons/chevron-up.svg +0 -0
  1759. /package/static/{fa4105b → 2374597}/icons/chrome-close.svg +0 -0
  1760. /package/static/{fa4105b → 2374597}/icons/chrome-maximize.svg +0 -0
  1761. /package/static/{fa4105b → 2374597}/icons/chrome-minimize.svg +0 -0
  1762. /package/static/{fa4105b → 2374597}/icons/chrome-restore.svg +0 -0
  1763. /package/static/{fa4105b → 2374597}/icons/circle-filled.svg +0 -0
  1764. /package/static/{fa4105b → 2374597}/icons/clear-all.svg +0 -0
  1765. /package/static/{fa4105b → 2374597}/icons/close.svg +0 -0
  1766. /package/static/{fa4105b → 2374597}/icons/cloud.svg +0 -0
  1767. /package/static/{fa4105b → 2374597}/icons/collapse-all.svg +0 -0
  1768. /package/static/{fa4105b → 2374597}/icons/debug-all.svg +0 -0
  1769. /package/static/{fa4105b → 2374597}/icons/debug-alt-2.svg +0 -0
  1770. /package/static/{fa4105b → 2374597}/icons/debug-alt-small.svg +0 -0
  1771. /package/static/{fa4105b → 2374597}/icons/debug-alt.svg +0 -0
  1772. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1773. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-conditional.svg +0 -0
  1774. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1775. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-data.svg +0 -0
  1776. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1777. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-function.svg +0 -0
  1778. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1779. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-log.svg +0 -0
  1780. /package/static/{fa4105b → 2374597}/icons/debug-breakpoint-unsupported.svg +0 -0
  1781. /package/static/{fa4105b → 2374597}/icons/debug-console.svg +0 -0
  1782. /package/static/{fa4105b → 2374597}/icons/debug-continue-small.svg +0 -0
  1783. /package/static/{fa4105b → 2374597}/icons/debug-continue.svg +0 -0
  1784. /package/static/{fa4105b → 2374597}/icons/debug-coverage.svg +0 -0
  1785. /package/static/{fa4105b → 2374597}/icons/debug-disconnect.svg +0 -0
  1786. /package/static/{fa4105b → 2374597}/icons/debug-line-by-line.svg +0 -0
  1787. /package/static/{fa4105b → 2374597}/icons/debug-pause.svg +0 -0
  1788. /package/static/{fa4105b → 2374597}/icons/debug-rerun.svg +0 -0
  1789. /package/static/{fa4105b → 2374597}/icons/debug-restart-frame.svg +0 -0
  1790. /package/static/{fa4105b → 2374597}/icons/debug-restart.svg +0 -0
  1791. /package/static/{fa4105b → 2374597}/icons/debug-reverse-continue.svg +0 -0
  1792. /package/static/{fa4105b → 2374597}/icons/debug-stackframe-active.svg +0 -0
  1793. /package/static/{fa4105b → 2374597}/icons/debug-stackframe.svg +0 -0
  1794. /package/static/{fa4105b → 2374597}/icons/debug-start.svg +0 -0
  1795. /package/static/{fa4105b → 2374597}/icons/debug-step-back.svg +0 -0
  1796. /package/static/{fa4105b → 2374597}/icons/debug-step-into.svg +0 -0
  1797. /package/static/{fa4105b → 2374597}/icons/debug-step-out.svg +0 -0
  1798. /package/static/{fa4105b → 2374597}/icons/debug-step-over.svg +0 -0
  1799. /package/static/{fa4105b → 2374597}/icons/debug-stop.svg +0 -0
  1800. /package/static/{fa4105b → 2374597}/icons/debug.svg +0 -0
  1801. /package/static/{fa4105b → 2374597}/icons/discard.svg +0 -0
  1802. /package/static/{fa4105b → 2374597}/icons/edit.svg +0 -0
  1803. /package/static/{fa4105b → 2374597}/icons/ellipsis.svg +0 -0
  1804. /package/static/{fa4105b → 2374597}/icons/error.svg +0 -0
  1805. /package/static/{fa4105b → 2374597}/icons/exclude.svg +0 -0
  1806. /package/static/{fa4105b → 2374597}/icons/extensionDefaultIcon.png +0 -0
  1807. /package/static/{fa4105b → 2374597}/icons/extensions.svg +0 -0
  1808. /package/static/{fa4105b → 2374597}/icons/files.svg +0 -0
  1809. /package/static/{fa4105b → 2374597}/icons/filter.svg +0 -0
  1810. /package/static/{fa4105b → 2374597}/icons/go-to-file.svg +0 -0
  1811. /package/static/{fa4105b → 2374597}/icons/icon-close.svg +0 -0
  1812. /package/static/{fa4105b → 2374597}/icons/icon-source-control.svg +0 -0
  1813. /package/static/{fa4105b → 2374597}/icons/icon-sync.svg +0 -0
  1814. /package/static/{fa4105b → 2374597}/icons/icon.png +0 -0
  1815. /package/static/{fa4105b → 2374597}/icons/icon.svg +0 -0
  1816. /package/static/{fa4105b → 2374597}/icons/info.svg +0 -0
  1817. /package/static/{fa4105b → 2374597}/icons/language-icon.svg +0 -0
  1818. /package/static/{fa4105b → 2374597}/icons/link-external.svg +0 -0
  1819. /package/static/{fa4105b → 2374597}/icons/list-flat.svg +0 -0
  1820. /package/static/{fa4105b → 2374597}/icons/list-tree.svg +0 -0
  1821. /package/static/{fa4105b → 2374597}/icons/new-file.svg +0 -0
  1822. /package/static/{fa4105b → 2374597}/icons/new-folder.svg +0 -0
  1823. /package/static/{fa4105b → 2374597}/icons/newline.svg +0 -0
  1824. /package/static/{fa4105b → 2374597}/icons/open-preview.svg +0 -0
  1825. /package/static/{fa4105b → 2374597}/icons/play.svg +0 -0
  1826. /package/static/{fa4105b → 2374597}/icons/preserve-case.svg +0 -0
  1827. /package/static/{fa4105b → 2374597}/icons/progress.svg +0 -0
  1828. /package/static/{fa4105b → 2374597}/icons/pwa-icon-192.png +0 -0
  1829. /package/static/{fa4105b → 2374597}/icons/pwa-icon-512.png +0 -0
  1830. /package/static/{fa4105b → 2374597}/icons/record-keys.svg +0 -0
  1831. /package/static/{fa4105b → 2374597}/icons/refresh.svg +0 -0
  1832. /package/static/{fa4105b → 2374597}/icons/regex.svg +0 -0
  1833. /package/static/{fa4105b → 2374597}/icons/remove.svg +0 -0
  1834. /package/static/{fa4105b → 2374597}/icons/replace-all.svg +0 -0
  1835. /package/static/{fa4105b → 2374597}/icons/replace.svg +0 -0
  1836. /package/static/{fa4105b → 2374597}/icons/repo.svg +0 -0
  1837. /package/static/{fa4105b → 2374597}/icons/run-all.svg +0 -0
  1838. /package/static/{fa4105b → 2374597}/icons/search.svg +0 -0
  1839. /package/static/{fa4105b → 2374597}/icons/send.svg +0 -0
  1840. /package/static/{fa4105b → 2374597}/icons/settings-gear.svg +0 -0
  1841. /package/static/{fa4105b → 2374597}/icons/sort-precedence.svg +0 -0
  1842. /package/static/{fa4105b → 2374597}/icons/source-control.svg +0 -0
  1843. /package/static/{fa4105b → 2374597}/icons/split-horizontal.svg +0 -0
  1844. /package/static/{fa4105b → 2374597}/icons/squiggly-error.svg +0 -0
  1845. /package/static/{fa4105b → 2374597}/icons/squiggly-warning.svg +0 -0
  1846. /package/static/{fa4105b → 2374597}/icons/symbol-array.svg +0 -0
  1847. /package/static/{fa4105b → 2374597}/icons/symbol-boolean.svg +0 -0
  1848. /package/static/{fa4105b → 2374597}/icons/symbol-class.svg +0 -0
  1849. /package/static/{fa4105b → 2374597}/icons/symbol-color.svg +0 -0
  1850. /package/static/{fa4105b → 2374597}/icons/symbol-constant.svg +0 -0
  1851. /package/static/{fa4105b → 2374597}/icons/symbol-enum-member.svg +0 -0
  1852. /package/static/{fa4105b → 2374597}/icons/symbol-enum.svg +0 -0
  1853. /package/static/{fa4105b → 2374597}/icons/symbol-event.svg +0 -0
  1854. /package/static/{fa4105b → 2374597}/icons/symbol-field.svg +0 -0
  1855. /package/static/{fa4105b → 2374597}/icons/symbol-file.svg +0 -0
  1856. /package/static/{fa4105b → 2374597}/icons/symbol-interface.svg +0 -0
  1857. /package/static/{fa4105b → 2374597}/icons/symbol-key.svg +0 -0
  1858. /package/static/{fa4105b → 2374597}/icons/symbol-keyword.svg +0 -0
  1859. /package/static/{fa4105b → 2374597}/icons/symbol-method.svg +0 -0
  1860. /package/static/{fa4105b → 2374597}/icons/symbol-misc.svg +0 -0
  1861. /package/static/{fa4105b → 2374597}/icons/symbol-namespace.svg +0 -0
  1862. /package/static/{fa4105b → 2374597}/icons/symbol-numeric.svg +0 -0
  1863. /package/static/{fa4105b → 2374597}/icons/symbol-operator.svg +0 -0
  1864. /package/static/{fa4105b → 2374597}/icons/symbol-parameter.svg +0 -0
  1865. /package/static/{fa4105b → 2374597}/icons/symbol-property.svg +0 -0
  1866. /package/static/{fa4105b → 2374597}/icons/symbol-ruler.svg +0 -0
  1867. /package/static/{fa4105b → 2374597}/icons/symbol-snippet.svg +0 -0
  1868. /package/static/{fa4105b → 2374597}/icons/symbol-string.svg +0 -0
  1869. /package/static/{fa4105b → 2374597}/icons/symbol-structure.svg +0 -0
  1870. /package/static/{fa4105b → 2374597}/icons/symbol-variable.svg +0 -0
  1871. /package/static/{fa4105b → 2374597}/icons/tag.svg +0 -0
  1872. /package/static/{fa4105b → 2374597}/icons/terminal-bash.svg +0 -0
  1873. /package/static/{fa4105b → 2374597}/icons/terminal.svg +0 -0
  1874. /package/static/{fa4105b → 2374597}/icons/theme-icon.png +0 -0
  1875. /package/static/{fa4105b → 2374597}/icons/trash.svg +0 -0
  1876. /package/static/{fa4105b → 2374597}/icons/triangle-down.svg +0 -0
  1877. /package/static/{fa4105b → 2374597}/icons/triangle-left.svg +0 -0
  1878. /package/static/{fa4105b → 2374597}/icons/triangle-right.svg +0 -0
  1879. /package/static/{fa4105b → 2374597}/icons/triangle-up.svg +0 -0
  1880. /package/static/{fa4105b → 2374597}/icons/warning.svg +0 -0
  1881. /package/static/{fa4105b → 2374597}/icons/whole-word.svg +0 -0
  1882. /package/static/{fa4105b → 2374597}/icons/zoom-in.svg +0 -0
  1883. /package/static/{fa4105b → 2374597}/icons/zoom-out.svg +0 -0
  1884. /package/static/{fa4105b → 2374597}/js/babel-parser.js +0 -0
  1885. /package/static/{fa4105b → 2374597}/js/ky.js +0 -0
  1886. /package/static/{fa4105b → 2374597}/js/lvce-editor-import-script.js +0 -0
  1887. /package/static/{fa4105b → 2374597}/js/lvce-editor-ipc.js +0 -0
  1888. /package/static/{fa4105b → 2374597}/js/lvce-editor-json-rpc.js +0 -0
  1889. /package/static/{fa4105b → 2374597}/js/lvce-editor-rpc.js +0 -0
  1890. /package/static/{fa4105b → 2374597}/js/lvce-editor-verror.js +0 -0
  1891. /package/static/{fa4105b → 2374597}/js/p-min-delay.js +0 -0
  1892. /package/static/{fa4105b → 2374597}/js/pretty-bytes.js +0 -0
  1893. /package/static/{fa4105b → 2374597}/js/preview-injected.js +0 -0
  1894. /package/static/{fa4105b → 2374597}/js/yoctodelay.js +0 -0
  1895. /package/static/{fa4105b → 2374597}/lib-css/termterm.css +0 -0
  1896. /package/static/{fa4105b → 2374597}/packages/activity-bar-worker/dist/activityBarWorkerMain.js +0 -0
  1897. /package/static/{fa4105b → 2374597}/packages/chat-coordinator-worker/dist/chatCoordinatorWorkerMain.js +0 -0
  1898. /package/static/{fa4105b → 2374597}/packages/chat-math-worker/dist/chatMathWorkerMain.js +0 -0
  1899. /package/static/{fa4105b → 2374597}/packages/chat-message-parsing-worker/dist/chatMessageParsingWorkerMain.js +0 -0
  1900. /package/static/{fa4105b → 2374597}/packages/chat-network-worker/dist/chatNetworkWorkerMain.js +0 -0
  1901. /package/static/{fa4105b → 2374597}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +0 -0
  1902. /package/static/{fa4105b → 2374597}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1903. /package/static/{fa4105b → 2374597}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  1904. /package/static/{fa4105b → 2374597}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
  1905. /package/static/{fa4105b → 2374597}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  1906. /package/static/{fa4105b → 2374597}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1907. /package/static/{fa4105b → 2374597}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  1908. /package/static/{fa4105b → 2374597}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
  1909. /package/static/{fa4105b → 2374597}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1910. /package/static/{fa4105b → 2374597}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1911. /package/static/{fa4105b → 2374597}/packages/extension-management-worker/dist/extensionManagementWorkerMain.js +0 -0
  1912. /package/static/{fa4105b → 2374597}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1913. /package/static/{fa4105b → 2374597}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  1914. /package/static/{fa4105b → 2374597}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  1915. /package/static/{fa4105b → 2374597}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  1916. /package/static/{fa4105b → 2374597}/packages/hover-worker/dist/hoverWorkerMain.js +0 -0
  1917. /package/static/{fa4105b → 2374597}/packages/icon-theme-worker/dist/iconThemeWorkerMain.js +0 -0
  1918. /package/static/{fa4105b → 2374597}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1919. /package/static/{fa4105b → 2374597}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1920. /package/static/{fa4105b → 2374597}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1921. /package/static/{fa4105b → 2374597}/packages/language-models-view/dist/languageModelsViewMain.js +0 -0
  1922. /package/static/{fa4105b → 2374597}/packages/main-area-worker/dist/mainAreaWorkerMain.js +0 -0
  1923. /package/static/{fa4105b → 2374597}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  1924. /package/static/{fa4105b → 2374597}/packages/menu-worker/dist/menuWorkerMain.js +0 -0
  1925. /package/static/{fa4105b → 2374597}/packages/opener-worker/dist/openerWorkerMain.js +0 -0
  1926. /package/static/{fa4105b → 2374597}/packages/output-view/dist/outputViewWorkerMain.js +0 -0
  1927. /package/static/{fa4105b → 2374597}/packages/panel-worker/dist/panelWorkerMain.js +0 -0
  1928. /package/static/{fa4105b → 2374597}/packages/preload/dist/index.js +0 -0
  1929. /package/static/{fa4105b → 2374597}/packages/preview-sandbox-worker/dist/previewSandBoxWorkerMain.js +0 -0
  1930. /package/static/{fa4105b → 2374597}/packages/preview-worker/dist/previewWorkerMain.js +0 -0
  1931. /package/static/{fa4105b → 2374597}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
  1932. /package/static/{fa4105b → 2374597}/packages/quick-pick-worker/dist/quickPickWorkerMain.js +0 -0
  1933. /package/static/{fa4105b → 2374597}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
  1934. /package/static/{fa4105b → 2374597}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1935. /package/static/{fa4105b → 2374597}/packages/renderer-process/LICENSE +0 -0
  1936. /package/static/{fa4105b → 2374597}/packages/renderer-process/README.md +0 -0
  1937. /package/static/{fa4105b → 2374597}/packages/renderer-process/package.json +0 -0
  1938. /package/static/{fa4105b → 2374597}/packages/settings-view/dist/settingsViewWorkerMain.js +0 -0
  1939. /package/static/{fa4105b → 2374597}/packages/source-action-worker/dist/sourceActionWorkerMain.js +0 -0
  1940. /package/static/{fa4105b → 2374597}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1941. /package/static/{fa4105b → 2374597}/packages/status-bar-worker/dist/statusBarWorkerMain.js +0 -0
  1942. /package/static/{fa4105b → 2374597}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1943. /package/static/{fa4105b → 2374597}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1944. /package/static/{fa4105b → 2374597}/packages/text-measurement-worker/dist/textMeasurementWorkerMain.js +0 -0
  1945. /package/static/{fa4105b → 2374597}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1946. /package/static/{fa4105b → 2374597}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1947. /package/static/{fa4105b → 2374597}/packages/update-worker/dist/updateWorkerMain.js +0 -0
  1948. /package/static/{fa4105b → 2374597}/playground/languages/index.cpp +0 -0
  1949. /package/static/{fa4105b → 2374597}/playground/languages/index.css +0 -0
  1950. /package/static/{fa4105b → 2374597}/playground/languages/index.csv +0 -0
  1951. /package/static/{fa4105b → 2374597}/playground/languages/index.dart +0 -0
  1952. /package/static/{fa4105b → 2374597}/playground/languages/index.env +0 -0
  1953. /package/static/{fa4105b → 2374597}/playground/languages/index.ex +0 -0
  1954. /package/static/{fa4105b → 2374597}/playground/languages/index.html +0 -0
  1955. /package/static/{fa4105b → 2374597}/playground/languages/index.java +0 -0
  1956. /package/static/{fa4105b → 2374597}/playground/languages/index.jl +0 -0
  1957. /package/static/{fa4105b → 2374597}/playground/languages/index.js +0 -0
  1958. /package/static/{fa4105b → 2374597}/playground/languages/index.json +0 -0
  1959. /package/static/{fa4105b → 2374597}/playground/languages/index.kt +0 -0
  1960. /package/static/{fa4105b → 2374597}/playground/languages/index.pl +0 -0
  1961. /package/static/{fa4105b → 2374597}/playground/languages/index.py +0 -0
  1962. /package/static/{fa4105b → 2374597}/playground/languages/index.ts +0 -0
  1963. /package/static/{fa4105b → 2374597}/playground/languages/scrolling.txt +0 -0
  1964. /package/static/{fa4105b → 2374597}/playground/languages/tsconfig.json +0 -0
  1965. /package/static/{fa4105b → 2374597}/playground/sample-folder/a.txt +0 -0
  1966. /package/static/{fa4105b → 2374597}/playground/sample-folder/b.txt +0 -0
  1967. /package/static/{fa4105b → 2374597}/playground/sample-folder/c.txt +0 -0
@@ -0,0 +1,4768 @@
1
+ const normalizeLine = line => {
2
+ if (line.startsWith('Error: ')) {
3
+ return line.slice('Error: '.length);
4
+ }
5
+ if (line.startsWith('VError: ')) {
6
+ return line.slice('VError: '.length);
7
+ }
8
+ return line;
9
+ };
10
+ const getCombinedMessage = (error, message) => {
11
+ const stringifiedError = normalizeLine(`${error}`);
12
+ if (message) {
13
+ return `${message}: ${stringifiedError}`;
14
+ }
15
+ return stringifiedError;
16
+ };
17
+ const NewLine$2 = '\n';
18
+ const getNewLineIndex$1 = (string, startIndex = undefined) => {
19
+ return string.indexOf(NewLine$2, startIndex);
20
+ };
21
+ const mergeStacks = (parent, child) => {
22
+ if (!child) {
23
+ return parent;
24
+ }
25
+ const parentNewLineIndex = getNewLineIndex$1(parent);
26
+ const childNewLineIndex = getNewLineIndex$1(child);
27
+ if (childNewLineIndex === -1) {
28
+ return parent;
29
+ }
30
+ const parentFirstLine = parent.slice(0, parentNewLineIndex);
31
+ const childRest = child.slice(childNewLineIndex);
32
+ const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
33
+ if (parentFirstLine.includes(childFirstLine)) {
34
+ return parentFirstLine + childRest;
35
+ }
36
+ return child;
37
+ };
38
+ class VError extends Error {
39
+ constructor(error, message) {
40
+ const combinedMessage = getCombinedMessage(error, message);
41
+ super(combinedMessage);
42
+ this.name = 'VError';
43
+ if (error instanceof Error) {
44
+ this.stack = mergeStacks(this.stack, error.stack);
45
+ }
46
+ if (error.codeFrame) {
47
+ // @ts-ignore
48
+ this.codeFrame = error.codeFrame;
49
+ }
50
+ if (error.code) {
51
+ // @ts-ignore
52
+ this.code = error.code;
53
+ }
54
+ }
55
+ }
56
+
57
+ const isMessagePort = value => {
58
+ return value && value instanceof MessagePort;
59
+ };
60
+ const isMessagePortMain = value => {
61
+ return value && value.constructor && value.constructor.name === 'MessagePortMain';
62
+ };
63
+ const isOffscreenCanvas = value => {
64
+ return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
65
+ };
66
+ const isInstanceOf = (value, constructorName) => {
67
+ return value?.constructor?.name === constructorName;
68
+ };
69
+ const isSocket = value => {
70
+ return isInstanceOf(value, 'Socket');
71
+ };
72
+ const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
73
+ const isTransferrable = value => {
74
+ for (const fn of transferrables) {
75
+ if (fn(value)) {
76
+ return true;
77
+ }
78
+ }
79
+ return false;
80
+ };
81
+ const walkValue = (value, transferrables, isTransferrable) => {
82
+ if (!value) {
83
+ return;
84
+ }
85
+ if (isTransferrable(value)) {
86
+ transferrables.push(value);
87
+ return;
88
+ }
89
+ if (Array.isArray(value)) {
90
+ for (const item of value) {
91
+ walkValue(item, transferrables, isTransferrable);
92
+ }
93
+ return;
94
+ }
95
+ if (typeof value === 'object') {
96
+ for (const property of Object.values(value)) {
97
+ walkValue(property, transferrables, isTransferrable);
98
+ }
99
+ return;
100
+ }
101
+ };
102
+ const getTransferrables = value => {
103
+ const transferrables = [];
104
+ walkValue(value, transferrables, isTransferrable);
105
+ return transferrables;
106
+ };
107
+ const attachEvents = that => {
108
+ const handleMessage = (...args) => {
109
+ const data = that.getData(...args);
110
+ that.dispatchEvent(new MessageEvent('message', {
111
+ data
112
+ }));
113
+ };
114
+ that.onMessage(handleMessage);
115
+ const handleClose = event => {
116
+ that.dispatchEvent(new Event('close'));
117
+ };
118
+ that.onClose(handleClose);
119
+ };
120
+ class Ipc extends EventTarget {
121
+ constructor(rawIpc) {
122
+ super();
123
+ this._rawIpc = rawIpc;
124
+ attachEvents(this);
125
+ }
126
+ }
127
+ const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
128
+ const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
129
+ const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
130
+ const NewLine$1 = '\n';
131
+ const joinLines$1 = lines => {
132
+ return lines.join(NewLine$1);
133
+ };
134
+ const RE_AT = /^\s+at/;
135
+ const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
136
+ const isNormalStackLine = line => {
137
+ return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
138
+ };
139
+ const getDetails = lines => {
140
+ const index = lines.findIndex(isNormalStackLine);
141
+ if (index === -1) {
142
+ return {
143
+ actualMessage: joinLines$1(lines),
144
+ rest: []
145
+ };
146
+ }
147
+ let lastIndex = index - 1;
148
+ while (++lastIndex < lines.length) {
149
+ if (!isNormalStackLine(lines[lastIndex])) {
150
+ break;
151
+ }
152
+ }
153
+ return {
154
+ actualMessage: lines[index - 1],
155
+ rest: lines.slice(index, lastIndex)
156
+ };
157
+ };
158
+ const splitLines$1 = lines => {
159
+ return lines.split(NewLine$1);
160
+ };
161
+ const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
162
+ const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
163
+ const isMessageCodeBlockStartIndex = line => {
164
+ return RE_MESSAGE_CODE_BLOCK_START.test(line);
165
+ };
166
+ const isMessageCodeBlockEndIndex = line => {
167
+ return RE_MESSAGE_CODE_BLOCK_END.test(line);
168
+ };
169
+ const getMessageCodeBlock = stderr => {
170
+ const lines = splitLines$1(stderr);
171
+ const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
172
+ const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
173
+ const relevantLines = lines.slice(startIndex, endIndex);
174
+ const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
175
+ return relevantMessage;
176
+ };
177
+ const isModuleNotFoundMessage = line => {
178
+ return line.includes('[ERR_MODULE_NOT_FOUND]');
179
+ };
180
+ const getModuleNotFoundError = stderr => {
181
+ const lines = splitLines$1(stderr);
182
+ const messageIndex = lines.findIndex(isModuleNotFoundMessage);
183
+ const message = lines[messageIndex];
184
+ return {
185
+ code: ERR_MODULE_NOT_FOUND,
186
+ message
187
+ };
188
+ };
189
+ const isModuleNotFoundError = stderr => {
190
+ if (!stderr) {
191
+ return false;
192
+ }
193
+ return stderr.includes('ERR_MODULE_NOT_FOUND');
194
+ };
195
+ const isModulesSyntaxError = stderr => {
196
+ if (!stderr) {
197
+ return false;
198
+ }
199
+ return stderr.includes('SyntaxError: Cannot use import statement outside a module');
200
+ };
201
+ const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
202
+ const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
203
+ const isUnhelpfulNativeModuleError = stderr => {
204
+ return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
205
+ };
206
+ const getNativeModuleErrorMessage = stderr => {
207
+ const message = getMessageCodeBlock(stderr);
208
+ return {
209
+ code: E_INCOMPATIBLE_NATIVE_MODULE,
210
+ message: `Incompatible native node module: ${message}`
211
+ };
212
+ };
213
+ const getModuleSyntaxError = () => {
214
+ return {
215
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
216
+ message: `ES Modules are not supported in electron`
217
+ };
218
+ };
219
+ const getHelpfulChildProcessError = (stdout, stderr) => {
220
+ if (isUnhelpfulNativeModuleError(stderr)) {
221
+ return getNativeModuleErrorMessage(stderr);
222
+ }
223
+ if (isModulesSyntaxError(stderr)) {
224
+ return getModuleSyntaxError();
225
+ }
226
+ if (isModuleNotFoundError(stderr)) {
227
+ return getModuleNotFoundError(stderr);
228
+ }
229
+ const lines = splitLines$1(stderr);
230
+ const {
231
+ actualMessage,
232
+ rest
233
+ } = getDetails(lines);
234
+ return {
235
+ code: '',
236
+ message: actualMessage,
237
+ stack: rest
238
+ };
239
+ };
240
+ class IpcError extends VError {
241
+ // @ts-ignore
242
+ constructor(betterMessage, stdout = '', stderr = '') {
243
+ if (stdout || stderr) {
244
+ // @ts-ignore
245
+ const {
246
+ code,
247
+ message,
248
+ stack
249
+ } = getHelpfulChildProcessError(stdout, stderr);
250
+ const cause = new Error(message);
251
+ // @ts-ignore
252
+ cause.code = code;
253
+ cause.stack = stack;
254
+ super(cause, betterMessage);
255
+ } else {
256
+ super(betterMessage);
257
+ }
258
+ // @ts-ignore
259
+ this.name = 'IpcError';
260
+ // @ts-ignore
261
+ this.stdout = stdout;
262
+ // @ts-ignore
263
+ this.stderr = stderr;
264
+ }
265
+ }
266
+ const readyMessage = 'ready';
267
+ const getData$2 = event => {
268
+ return event.data;
269
+ };
270
+ const listen$7 = () => {
271
+ // @ts-ignore
272
+ if (typeof WorkerGlobalScope === 'undefined') {
273
+ throw new TypeError('module is not in web worker scope');
274
+ }
275
+ return globalThis;
276
+ };
277
+ const signal$8 = global => {
278
+ global.postMessage(readyMessage);
279
+ };
280
+ class IpcChildWithModuleWorker extends Ipc {
281
+ getData(event) {
282
+ return getData$2(event);
283
+ }
284
+ send(message) {
285
+ // @ts-ignore
286
+ this._rawIpc.postMessage(message);
287
+ }
288
+ sendAndTransfer(message) {
289
+ const transfer = getTransferrables(message);
290
+ // @ts-ignore
291
+ this._rawIpc.postMessage(message, transfer);
292
+ }
293
+ dispose() {
294
+ // ignore
295
+ }
296
+ onClose(callback) {
297
+ // ignore
298
+ }
299
+ onMessage(callback) {
300
+ this._rawIpc.addEventListener('message', callback);
301
+ }
302
+ }
303
+ const wrap$f = global => {
304
+ return new IpcChildWithModuleWorker(global);
305
+ };
306
+ const waitForFirstMessage = async port => {
307
+ const {
308
+ promise,
309
+ resolve
310
+ } = Promise.withResolvers();
311
+ port.addEventListener('message', resolve, {
312
+ once: true
313
+ });
314
+ const event = await promise;
315
+ // @ts-ignore
316
+ return event.data;
317
+ };
318
+ const listen$6 = async () => {
319
+ const parentIpcRaw = listen$7();
320
+ signal$8(parentIpcRaw);
321
+ const parentIpc = wrap$f(parentIpcRaw);
322
+ const firstMessage = await waitForFirstMessage(parentIpc);
323
+ if (firstMessage.method !== 'initialize') {
324
+ throw new IpcError('unexpected first message');
325
+ }
326
+ const type = firstMessage.params[0];
327
+ if (type === 'message-port') {
328
+ parentIpc.send({
329
+ id: firstMessage.id,
330
+ jsonrpc: '2.0',
331
+ result: null
332
+ });
333
+ parentIpc.dispose();
334
+ const port = firstMessage.params[1];
335
+ return port;
336
+ }
337
+ return globalThis;
338
+ };
339
+ class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
340
+ getData(event) {
341
+ return getData$2(event);
342
+ }
343
+ send(message) {
344
+ this._rawIpc.postMessage(message);
345
+ }
346
+ sendAndTransfer(message) {
347
+ const transfer = getTransferrables(message);
348
+ this._rawIpc.postMessage(message, transfer);
349
+ }
350
+ dispose() {
351
+ if (this._rawIpc.close) {
352
+ this._rawIpc.close();
353
+ }
354
+ }
355
+ onClose(callback) {
356
+ // ignore
357
+ }
358
+ onMessage(callback) {
359
+ this._rawIpc.addEventListener('message', callback);
360
+ this._rawIpc.start();
361
+ }
362
+ }
363
+ const wrap$e = port => {
364
+ return new IpcChildWithModuleWorkerAndMessagePort(port);
365
+ };
366
+ const IpcChildWithModuleWorkerAndMessagePort$1 = {
367
+ __proto__: null,
368
+ listen: listen$6,
369
+ wrap: wrap$e
370
+ };
371
+
372
+ class CommandNotFoundError extends Error {
373
+ constructor(command) {
374
+ super(`Command not found ${command}`);
375
+ this.name = 'CommandNotFoundError';
376
+ }
377
+ }
378
+ const commands = Object.create(null);
379
+ const register = commandMap => {
380
+ Object.assign(commands, commandMap);
381
+ };
382
+ const getCommand = key => {
383
+ return commands[key];
384
+ };
385
+ const execute = (command, ...args) => {
386
+ const fn = getCommand(command);
387
+ if (!fn) {
388
+ throw new CommandNotFoundError(command);
389
+ }
390
+ return fn(...args);
391
+ };
392
+
393
+ const Two$1 = '2.0';
394
+ const callbacks = Object.create(null);
395
+ const get$1 = id => {
396
+ return callbacks[id];
397
+ };
398
+ const remove = id => {
399
+ delete callbacks[id];
400
+ };
401
+ class JsonRpcError extends Error {
402
+ constructor(message) {
403
+ super(message);
404
+ this.name = 'JsonRpcError';
405
+ }
406
+ }
407
+ const NewLine = '\n';
408
+ const DomException = 'DOMException';
409
+ const ReferenceError$1 = 'ReferenceError';
410
+ const SyntaxError$1 = 'SyntaxError';
411
+ const TypeError$1 = 'TypeError';
412
+ const getErrorConstructor = (message, type) => {
413
+ if (type) {
414
+ switch (type) {
415
+ case DomException:
416
+ return DOMException;
417
+ case ReferenceError$1:
418
+ return ReferenceError;
419
+ case SyntaxError$1:
420
+ return SyntaxError;
421
+ case TypeError$1:
422
+ return TypeError;
423
+ default:
424
+ return Error;
425
+ }
426
+ }
427
+ if (message.startsWith('TypeError: ')) {
428
+ return TypeError;
429
+ }
430
+ if (message.startsWith('SyntaxError: ')) {
431
+ return SyntaxError;
432
+ }
433
+ if (message.startsWith('ReferenceError: ')) {
434
+ return ReferenceError;
435
+ }
436
+ return Error;
437
+ };
438
+ const constructError = (message, type, name) => {
439
+ const ErrorConstructor = getErrorConstructor(message, type);
440
+ if (ErrorConstructor === DOMException && name) {
441
+ return new ErrorConstructor(message, name);
442
+ }
443
+ if (ErrorConstructor === Error) {
444
+ const error = new Error(message);
445
+ if (name && name !== 'VError') {
446
+ error.name = name;
447
+ }
448
+ return error;
449
+ }
450
+ return new ErrorConstructor(message);
451
+ };
452
+ const joinLines = lines => {
453
+ return lines.join(NewLine);
454
+ };
455
+ const splitLines = lines => {
456
+ return lines.split(NewLine);
457
+ };
458
+ const getCurrentStack = () => {
459
+ const stackLinesToSkip = 3;
460
+ const currentStack = joinLines(splitLines(new Error().stack || '').slice(stackLinesToSkip));
461
+ return currentStack;
462
+ };
463
+ const getNewLineIndex = (string, startIndex = undefined) => {
464
+ return string.indexOf(NewLine, startIndex);
465
+ };
466
+ const getParentStack = error => {
467
+ let parentStack = error.stack || error.data || error.message || '';
468
+ if (parentStack.startsWith(' at')) {
469
+ parentStack = error.message + NewLine + parentStack;
470
+ }
471
+ return parentStack;
472
+ };
473
+ const MethodNotFound = -32601;
474
+ const Custom = -32001;
475
+ const restoreJsonRpcError = error => {
476
+ const currentStack = getCurrentStack();
477
+ if (error && error instanceof Error) {
478
+ if (typeof error.stack === 'string') {
479
+ error.stack = error.stack + NewLine + currentStack;
480
+ }
481
+ return error;
482
+ }
483
+ if (error && error.code && error.code === MethodNotFound) {
484
+ const restoredError = new JsonRpcError(error.message);
485
+ const parentStack = getParentStack(error);
486
+ restoredError.stack = parentStack + NewLine + currentStack;
487
+ return restoredError;
488
+ }
489
+ if (error && error.message) {
490
+ const restoredError = constructError(error.message, error.type, error.name);
491
+ if (error.data) {
492
+ if (error.data.stack && error.data.type && error.message) {
493
+ restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
494
+ } else if (error.data.stack) {
495
+ restoredError.stack = error.data.stack;
496
+ }
497
+ if (error.data.codeFrame) {
498
+ // @ts-ignore
499
+ restoredError.codeFrame = error.data.codeFrame;
500
+ }
501
+ if (error.data.code) {
502
+ // @ts-ignore
503
+ restoredError.code = error.data.code;
504
+ }
505
+ if (error.data.type) {
506
+ // @ts-ignore
507
+ restoredError.name = error.data.type;
508
+ }
509
+ } else {
510
+ if (error.stack) {
511
+ const lowerStack = restoredError.stack || '';
512
+ // @ts-ignore
513
+ const indexNewLine = getNewLineIndex(lowerStack);
514
+ const parentStack = getParentStack(error);
515
+ // @ts-ignore
516
+ restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
517
+ }
518
+ if (error.codeFrame) {
519
+ // @ts-ignore
520
+ restoredError.codeFrame = error.codeFrame;
521
+ }
522
+ }
523
+ return restoredError;
524
+ }
525
+ if (typeof error === 'string') {
526
+ return new Error(`JsonRpc Error: ${error}`);
527
+ }
528
+ return new Error(`JsonRpc Error: ${error}`);
529
+ };
530
+ const unwrapJsonRpcResult = responseMessage => {
531
+ if ('error' in responseMessage) {
532
+ const restoredError = restoreJsonRpcError(responseMessage.error);
533
+ throw restoredError;
534
+ }
535
+ if ('result' in responseMessage) {
536
+ return responseMessage.result;
537
+ }
538
+ throw new JsonRpcError('unexpected response message');
539
+ };
540
+ const warn = (...args) => {
541
+ console.warn(...args);
542
+ };
543
+ const resolve = (id, response) => {
544
+ const fn = get$1(id);
545
+ if (!fn) {
546
+ console.log(response);
547
+ warn(`callback ${id} may already be disposed`);
548
+ return;
549
+ }
550
+ fn(response);
551
+ remove(id);
552
+ };
553
+ const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
554
+ const getErrorType = prettyError => {
555
+ if (prettyError && prettyError.type) {
556
+ return prettyError.type;
557
+ }
558
+ if (prettyError && prettyError.constructor && prettyError.constructor.name) {
559
+ return prettyError.constructor.name;
560
+ }
561
+ return undefined;
562
+ };
563
+ const isAlreadyStack = line => {
564
+ return line.trim().startsWith('at ');
565
+ };
566
+ const getStack = prettyError => {
567
+ const stackString = prettyError.stack || '';
568
+ const newLineIndex = stackString.indexOf('\n');
569
+ if (newLineIndex !== -1 && !isAlreadyStack(stackString.slice(0, newLineIndex))) {
570
+ return stackString.slice(newLineIndex + 1);
571
+ }
572
+ return stackString;
573
+ };
574
+ const getErrorProperty = (error, prettyError) => {
575
+ if (error && error.code === E_COMMAND_NOT_FOUND) {
576
+ return {
577
+ code: MethodNotFound,
578
+ data: error.stack,
579
+ message: error.message
580
+ };
581
+ }
582
+ return {
583
+ code: Custom,
584
+ data: {
585
+ code: prettyError.code,
586
+ codeFrame: prettyError.codeFrame,
587
+ name: prettyError.name,
588
+ stack: getStack(prettyError),
589
+ type: getErrorType(prettyError)
590
+ },
591
+ message: prettyError.message
592
+ };
593
+ };
594
+ const create$1$1 = (id, error) => {
595
+ return {
596
+ error,
597
+ id,
598
+ jsonrpc: Two$1
599
+ };
600
+ };
601
+ const getErrorResponse = (id, error, preparePrettyError, logError) => {
602
+ const prettyError = preparePrettyError(error);
603
+ logError(error, prettyError);
604
+ const errorProperty = getErrorProperty(error, prettyError);
605
+ return create$1$1(id, errorProperty);
606
+ };
607
+ const create$6 = (message, result) => {
608
+ return {
609
+ id: message.id,
610
+ jsonrpc: Two$1,
611
+ result: result ?? null
612
+ };
613
+ };
614
+ const getSuccessResponse = (message, result) => {
615
+ const resultProperty = result ?? null;
616
+ return create$6(message, resultProperty);
617
+ };
618
+ const getErrorResponseSimple = (id, error) => {
619
+ return {
620
+ error: {
621
+ code: Custom,
622
+ data: error,
623
+ // @ts-ignore
624
+ message: error.message
625
+ },
626
+ id,
627
+ jsonrpc: Two$1
628
+ };
629
+ };
630
+ const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
631
+ try {
632
+ const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
633
+ return getSuccessResponse(message, result);
634
+ } catch (error) {
635
+ if (ipc.canUseSimpleErrorResponse) {
636
+ return getErrorResponseSimple(message.id, error);
637
+ }
638
+ return getErrorResponse(message.id, error, preparePrettyError, logError);
639
+ }
640
+ };
641
+ const defaultPreparePrettyError = error => {
642
+ return error;
643
+ };
644
+ const defaultLogError = () => {
645
+ // ignore
646
+ };
647
+ const defaultRequiresSocket = () => {
648
+ return false;
649
+ };
650
+ const defaultResolve = resolve;
651
+
652
+ // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
653
+ const normalizeParams = args => {
654
+ if (args.length === 1) {
655
+ const options = args[0];
656
+ return {
657
+ execute: options.execute,
658
+ ipc: options.ipc,
659
+ logError: options.logError || defaultLogError,
660
+ message: options.message,
661
+ preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
662
+ requiresSocket: options.requiresSocket || defaultRequiresSocket,
663
+ resolve: options.resolve || defaultResolve
664
+ };
665
+ }
666
+ return {
667
+ execute: args[2],
668
+ ipc: args[0],
669
+ logError: args[5],
670
+ message: args[1],
671
+ preparePrettyError: args[4],
672
+ requiresSocket: args[6],
673
+ resolve: args[3]
674
+ };
675
+ };
676
+ const handleJsonRpcMessage = async (...args) => {
677
+ const options = normalizeParams(args);
678
+ const {
679
+ execute,
680
+ ipc,
681
+ logError,
682
+ message,
683
+ preparePrettyError,
684
+ requiresSocket,
685
+ resolve
686
+ } = options;
687
+ if ('id' in message) {
688
+ if ('method' in message) {
689
+ const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
690
+ try {
691
+ ipc.send(response);
692
+ } catch (error) {
693
+ const errorResponse = getErrorResponse(message.id, error, preparePrettyError, logError);
694
+ ipc.send(errorResponse);
695
+ }
696
+ return;
697
+ }
698
+ resolve(message.id, message);
699
+ return;
700
+ }
701
+ if ('method' in message) {
702
+ await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
703
+ return;
704
+ }
705
+ throw new JsonRpcError('unexpected message');
706
+ };
707
+
708
+ const Two = '2.0';
709
+
710
+ const create$5 = (method, params) => {
711
+ return {
712
+ jsonrpc: Two,
713
+ method,
714
+ params
715
+ };
716
+ };
717
+
718
+ const create$4 = (id, method, params) => {
719
+ const message = {
720
+ id,
721
+ jsonrpc: Two,
722
+ method,
723
+ params
724
+ };
725
+ return message;
726
+ };
727
+
728
+ let id = 0;
729
+ const create$3 = () => {
730
+ return ++id;
731
+ };
732
+
733
+ const registerPromise = map => {
734
+ const id = create$3();
735
+ const {
736
+ promise,
737
+ resolve
738
+ } = Promise.withResolvers();
739
+ map[id] = resolve;
740
+ return {
741
+ id,
742
+ promise
743
+ };
744
+ };
745
+
746
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
747
+ const {
748
+ id,
749
+ promise
750
+ } = registerPromise(callbacks);
751
+ const message = create$4(id, method, params);
752
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
753
+ ipc.sendAndTransfer(message);
754
+ } else {
755
+ ipc.send(message);
756
+ }
757
+ const responseMessage = await promise;
758
+ return unwrapJsonRpcResult(responseMessage);
759
+ };
760
+ const createRpc = ipc => {
761
+ const callbacks = Object.create(null);
762
+ ipc._resolve = (id, response) => {
763
+ const fn = callbacks[id];
764
+ if (!fn) {
765
+ console.warn(`callback ${id} may already be disposed`);
766
+ return;
767
+ }
768
+ fn(response);
769
+ delete callbacks[id];
770
+ };
771
+ const rpc = {
772
+ async dispose() {
773
+ await ipc?.dispose();
774
+ },
775
+ invoke(method, ...params) {
776
+ return invokeHelper(callbacks, ipc, method, params, false);
777
+ },
778
+ invokeAndTransfer(method, ...params) {
779
+ return invokeHelper(callbacks, ipc, method, params, true);
780
+ },
781
+ // @ts-ignore
782
+ ipc,
783
+ /**
784
+ * @deprecated
785
+ */
786
+ send(method, ...params) {
787
+ const message = create$5(method, params);
788
+ ipc.send(message);
789
+ }
790
+ };
791
+ return rpc;
792
+ };
793
+
794
+ const requiresSocket = () => {
795
+ return false;
796
+ };
797
+ const preparePrettyError = error => {
798
+ return error;
799
+ };
800
+ const logError = () => {
801
+ // handled by renderer worker
802
+ };
803
+ const handleMessage = event => {
804
+ const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
805
+ const actualExecute = event?.target?.execute || execute;
806
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
807
+ };
808
+
809
+ const handleIpc = ipc => {
810
+ if ('addEventListener' in ipc) {
811
+ ipc.addEventListener('message', handleMessage);
812
+ } else if ('on' in ipc) {
813
+ // deprecated
814
+ ipc.on('message', handleMessage);
815
+ }
816
+ };
817
+
818
+ const listen$1 = async (module, options) => {
819
+ const rawIpc = await module.listen(options);
820
+ if (module.signal) {
821
+ module.signal(rawIpc);
822
+ }
823
+ const ipc = module.wrap(rawIpc);
824
+ return ipc;
825
+ };
826
+
827
+ const create$2 = async ({
828
+ commandMap
829
+ }) => {
830
+ // TODO create a commandMap per rpc instance
831
+ register(commandMap);
832
+ const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
833
+ handleIpc(ipc);
834
+ const rpc = createRpc(ipc);
835
+ return rpc;
836
+ };
837
+
838
+ const toCommandId = key => {
839
+ const dotIndex = key.indexOf('.');
840
+ return key.slice(dotIndex + 1);
841
+ };
842
+ const create$1 = () => {
843
+ const states = Object.create(null);
844
+ const commandMapRef = {};
845
+ return {
846
+ clear() {
847
+ for (const key of Object.keys(states)) {
848
+ delete states[key];
849
+ }
850
+ },
851
+ diff(uid, modules, numbers) {
852
+ const {
853
+ newState,
854
+ oldState
855
+ } = states[uid];
856
+ const diffResult = [];
857
+ for (let i = 0; i < modules.length; i++) {
858
+ const fn = modules[i];
859
+ if (!fn(oldState, newState)) {
860
+ diffResult.push(numbers[i]);
861
+ }
862
+ }
863
+ return diffResult;
864
+ },
865
+ dispose(uid) {
866
+ delete states[uid];
867
+ },
868
+ get(uid) {
869
+ return states[uid];
870
+ },
871
+ getCommandIds() {
872
+ const keys = Object.keys(commandMapRef);
873
+ const ids = keys.map(toCommandId);
874
+ return ids;
875
+ },
876
+ getKeys() {
877
+ return Object.keys(states).map(key => {
878
+ return Number.parseFloat(key);
879
+ });
880
+ },
881
+ registerCommands(commandMap) {
882
+ Object.assign(commandMapRef, commandMap);
883
+ },
884
+ set(uid, oldState, newState) {
885
+ states[uid] = {
886
+ newState,
887
+ oldState
888
+ };
889
+ },
890
+ wrapCommand(fn) {
891
+ const wrapped = async (uid, ...args) => {
892
+ const {
893
+ newState,
894
+ oldState
895
+ } = states[uid];
896
+ const newerState = await fn(newState, ...args);
897
+ if (oldState === newerState || newState === newerState) {
898
+ return;
899
+ }
900
+ const latestOld = states[uid];
901
+ const latestNew = {
902
+ ...latestOld.newState,
903
+ ...newerState
904
+ };
905
+ states[uid] = {
906
+ newState: latestNew,
907
+ oldState: latestOld.oldState
908
+ };
909
+ };
910
+ return wrapped;
911
+ },
912
+ wrapGetter(fn) {
913
+ const wrapped = (uid, ...args) => {
914
+ const {
915
+ newState
916
+ } = states[uid];
917
+ return fn(newState, ...args);
918
+ };
919
+ return wrapped;
920
+ },
921
+ wrapLoadContent(fn) {
922
+ const wrapped = async (uid, ...args) => {
923
+ const {
924
+ newState,
925
+ oldState
926
+ } = states[uid];
927
+ const result = await fn(newState, ...args);
928
+ const {
929
+ error,
930
+ state
931
+ } = result;
932
+ if (oldState === state || newState === state) {
933
+ return {
934
+ error
935
+ };
936
+ }
937
+ const latestOld = states[uid];
938
+ const latestNew = {
939
+ ...latestOld.newState,
940
+ ...state
941
+ };
942
+ states[uid] = {
943
+ newState: latestNew,
944
+ oldState: latestOld.oldState
945
+ };
946
+ return {
947
+ error
948
+ };
949
+ };
950
+ return wrapped;
951
+ }
952
+ };
953
+ };
954
+ const terminate = () => {
955
+ globalThis.close();
956
+ };
957
+
958
+ const createEventCategoryFilterOptions = () => {
959
+ return [{
960
+ label: 'All',
961
+ value: All
962
+ }, {
963
+ label: 'Tools',
964
+ value: Tools
965
+ }, {
966
+ label: 'Network',
967
+ value: Network
968
+ }, {
969
+ label: 'UI',
970
+ value: Ui
971
+ }, {
972
+ label: 'Stream',
973
+ value: Stream
974
+ }];
975
+ };
976
+
977
+ const getEventCategoryFilterLabel = eventCategoryFilter => {
978
+ switch (eventCategoryFilter) {
979
+ case Network:
980
+ return 'Network';
981
+ case Stream:
982
+ return 'Stream';
983
+ case Tools:
984
+ return 'Tools';
985
+ case Ui:
986
+ return 'UI';
987
+ default:
988
+ return 'All';
989
+ }
990
+ };
991
+
992
+ const All = 'all';
993
+ const Tools = 'tools';
994
+ const Network = 'network';
995
+ const Ui = 'ui';
996
+ const Stream = 'stream';
997
+
998
+ const RE_SPACE = /\s+/;
999
+ const tokenToEventCategoryFilter = new Map([['@tools', Tools], ['@network', Network], ['@ui', Ui], ['@stream', Stream]]);
1000
+ const parseFilterValue = filterValue => {
1001
+ const normalizedFilter = filterValue.trim().toLowerCase();
1002
+ if (!normalizedFilter) {
1003
+ return {
1004
+ eventCategoryFilter: All,
1005
+ filterText: ''
1006
+ };
1007
+ }
1008
+ const parts = normalizedFilter.split(RE_SPACE);
1009
+ const eventCategoryFilter = parts.map(part => tokenToEventCategoryFilter.get(part)).find(Boolean) || All;
1010
+ const filterText = parts.filter(part => !tokenToEventCategoryFilter.has(part)).join(' ');
1011
+ return {
1012
+ eventCategoryFilter,
1013
+ filterText
1014
+ };
1015
+ };
1016
+
1017
+ const {
1018
+ get,
1019
+ getCommandIds,
1020
+ registerCommands,
1021
+ set,
1022
+ wrapCommand,
1023
+ wrapGetter
1024
+ } = create$1();
1025
+
1026
+ const Response = 'response';
1027
+ const Preview = 'preview';
1028
+ const Timing = 'timing';
1029
+ const detailTabs = [Preview, Response, Timing];
1030
+ const isDetailTab = value => {
1031
+ return value === Response || value === Preview || value === Timing;
1032
+ };
1033
+ const getDetailTabLabel = value => {
1034
+ if (value === Preview) {
1035
+ return 'Preview';
1036
+ }
1037
+ if (value === Timing) {
1038
+ return 'Timing';
1039
+ }
1040
+ return 'Response';
1041
+ };
1042
+
1043
+ const defaultTableWidth = 480;
1044
+ const minTableWidth = 240;
1045
+ const minDetailsWidth = 280;
1046
+ const sashWidth = 8;
1047
+ const viewPadding = 8;
1048
+ const timelineHorizontalPadding = 10;
1049
+ const horizontalPadding = viewPadding * 2;
1050
+ const leftPadding = viewPadding;
1051
+ const getMainWidth = width => {
1052
+ return Math.max(0, width - horizontalPadding);
1053
+ };
1054
+ const clampTableWidth = (width, tableWidth) => {
1055
+ const mainWidth = getMainWidth(width);
1056
+ const maxTableWidth = Math.max(0, mainWidth - minDetailsWidth - sashWidth);
1057
+ const minClampedTableWidth = Math.min(minTableWidth, maxTableWidth);
1058
+ return Math.max(minClampedTableWidth, Math.min(tableWidth, maxTableWidth));
1059
+ };
1060
+ const getDetailsWidth = (width, tableWidth) => {
1061
+ const mainWidth = getMainWidth(width);
1062
+ const clampedTableWidth = clampTableWidth(width, tableWidth);
1063
+ return Math.max(0, mainWidth - clampedTableWidth - sashWidth);
1064
+ };
1065
+ const getTableWidthFromClientX = (viewX, width, clientX) => {
1066
+ const nextTableWidth = clientX - viewX - leftPadding;
1067
+ return clampTableWidth(width, nextTableWidth);
1068
+ };
1069
+
1070
+ const createDefaultState = () => {
1071
+ return {
1072
+ assetDir: '',
1073
+ databaseName: 'lvce-chat-view-sessions',
1074
+ dataBaseVersion: 2,
1075
+ errorMessage: '',
1076
+ eventCategoryFilter: All,
1077
+ eventCategoryFilterOptions: createEventCategoryFilterOptions(),
1078
+ events: [],
1079
+ eventStoreName: 'chat-view-events',
1080
+ filterValue: '',
1081
+ height: 0,
1082
+ indexedDbSupportOverride: undefined,
1083
+ initial: false,
1084
+ platform: 0,
1085
+ selectedDetailTab: Response,
1086
+ selectedEvent: null,
1087
+ selectedEventId: null,
1088
+ selectedEventIndex: null,
1089
+ sessionId: '',
1090
+ sessionIdIndexName: 'sessionId',
1091
+ showEventStreamFinishedEvents: false,
1092
+ showInputEvents: false,
1093
+ showResponsePartEvents: false,
1094
+ tableWidth: defaultTableWidth,
1095
+ timelineEndSeconds: '',
1096
+ timelineSelectionActive: false,
1097
+ timelineSelectionAnchorSeconds: '',
1098
+ timelineSelectionFocusSeconds: '',
1099
+ timelineStartSeconds: '',
1100
+ uid: 0,
1101
+ uri: '',
1102
+ useDevtoolsLayout: true,
1103
+ width: 0,
1104
+ x: 0,
1105
+ y: 0
1106
+ };
1107
+ };
1108
+
1109
+ const validEventCategoryFilters = new Set([All, Network, Stream, Tools, Ui]);
1110
+ const getRestoredEventCategoryFilter = savedState => {
1111
+ if (typeof savedState.eventCategoryFilter === 'string' && validEventCategoryFilters.has(savedState.eventCategoryFilter)) {
1112
+ return savedState.eventCategoryFilter;
1113
+ }
1114
+ if (typeof savedState.filterValue === 'string') {
1115
+ return parseFilterValue(savedState.filterValue).eventCategoryFilter;
1116
+ }
1117
+ return All;
1118
+ };
1119
+ const create = (uid, uri, x, y, width, height, platform, assetDir, sessionId = '', databaseName = 'lvce-chat-view-sessions', dataBaseVersion = 2, eventStoreName = 'chat-view-events', sessionIdIndexName = 'sessionId', savedState = {}) => {
1120
+ const defaultState = createDefaultState();
1121
+ const {
1122
+ filterValue,
1123
+ selectedEventId,
1124
+ tableWidth,
1125
+ timelineEndSeconds,
1126
+ timelineStartSeconds
1127
+ } = savedState;
1128
+ const restoredEventCategoryFilter = getRestoredEventCategoryFilter(savedState);
1129
+ const state = {
1130
+ ...defaultState,
1131
+ assetDir,
1132
+ databaseName,
1133
+ dataBaseVersion,
1134
+ eventCategoryFilter: restoredEventCategoryFilter,
1135
+ eventStoreName,
1136
+ filterValue: filterValue ?? defaultState.filterValue,
1137
+ height,
1138
+ initial: true,
1139
+ platform,
1140
+ selectedEventId: selectedEventId ?? defaultState.selectedEventId,
1141
+ sessionId,
1142
+ sessionIdIndexName,
1143
+ tableWidth: tableWidth ?? defaultState.tableWidth,
1144
+ timelineEndSeconds: timelineEndSeconds ?? defaultState.timelineEndSeconds,
1145
+ timelineStartSeconds: timelineStartSeconds ?? defaultState.timelineStartSeconds,
1146
+ uid,
1147
+ uri,
1148
+ width,
1149
+ x,
1150
+ y
1151
+ };
1152
+ set(uid, state, state);
1153
+ };
1154
+
1155
+ const RenderItems = 1;
1156
+ const RenderCss = 2;
1157
+ const RenderIncremental = 3;
1158
+
1159
+ const diff = (oldState, newState) => {
1160
+ if (oldState.errorMessage !== newState.errorMessage || oldState.eventCategoryFilter !== newState.eventCategoryFilter || oldState.events !== newState.events || oldState.filterValue !== newState.filterValue || oldState.sessionId !== newState.sessionId || oldState.showEventStreamFinishedEvents !== newState.showEventStreamFinishedEvents || oldState.showInputEvents !== newState.showInputEvents || oldState.showResponsePartEvents !== newState.showResponsePartEvents || oldState.tableWidth !== newState.tableWidth || oldState.timelineEndSeconds !== newState.timelineEndSeconds || oldState.timelineSelectionActive !== newState.timelineSelectionActive || oldState.timelineSelectionAnchorSeconds !== newState.timelineSelectionAnchorSeconds || oldState.timelineSelectionFocusSeconds !== newState.timelineSelectionFocusSeconds || oldState.timelineStartSeconds !== newState.timelineStartSeconds || oldState.useDevtoolsLayout !== newState.useDevtoolsLayout || oldState.selectedDetailTab !== newState.selectedDetailTab || oldState.selectedEvent !== newState.selectedEvent || oldState.selectedEventIndex !== newState.selectedEventIndex || oldState.width !== newState.width || oldState.uid !== newState.uid) {
1161
+ return [RenderIncremental, RenderCss];
1162
+ }
1163
+ return [];
1164
+ };
1165
+
1166
+ const diff2 = uid => {
1167
+ const {
1168
+ newState,
1169
+ oldState
1170
+ } = get(uid);
1171
+ return diff(oldState, newState);
1172
+ };
1173
+
1174
+ const handleDetailsContextMenu = state => {
1175
+ return state;
1176
+ };
1177
+
1178
+ // cspell:ignore IDBP
1179
+
1180
+ const startedEventType$1 = 'tool-execution-started';
1181
+ const finishedEventType$1 = 'tool-execution-finished';
1182
+ const getRawEventBySessionIdAndEventId = async (store, sessionId, sessionIdIndexName, eventId) => {
1183
+ if (eventId < 1) {
1184
+ return undefined;
1185
+ }
1186
+ if (store.indexNames.contains(sessionIdIndexName)) {
1187
+ const index = store.index(sessionIdIndexName);
1188
+ const keys = await index.getAllKeys(sessionId, eventId);
1189
+ if (keys.length < eventId) {
1190
+ return undefined;
1191
+ }
1192
+ const key = keys.at(-1);
1193
+ if (key === undefined) {
1194
+ return undefined;
1195
+ }
1196
+ const event = await store.get(key);
1197
+ return event;
1198
+ }
1199
+ const all = await store.getAll();
1200
+ const events = all.filter(event => event.sessionId === sessionId);
1201
+ return events[eventId - 1];
1202
+ };
1203
+ const getTimestamp$1 = value => {
1204
+ return typeof value === 'string' || typeof value === 'number' ? value : undefined;
1205
+ };
1206
+ const hasMatchingToolName$1 = (startedEvent, finishedEvent) => {
1207
+ if (typeof startedEvent.toolName === 'string' && typeof finishedEvent.toolName === 'string') {
1208
+ return startedEvent.toolName === finishedEvent.toolName;
1209
+ }
1210
+ return true;
1211
+ };
1212
+ const mergeToolExecutionEvents$1 = (startedEvent, finishedEvent, eventId) => {
1213
+ const ended = getTimestamp$1(finishedEvent.ended) ?? getTimestamp$1(finishedEvent.endTime) ?? getTimestamp$1(finishedEvent.timestamp);
1214
+ const started = getTimestamp$1(startedEvent.started) ?? getTimestamp$1(startedEvent.startTime) ?? getTimestamp$1(startedEvent.timestamp);
1215
+ return {
1216
+ ...startedEvent,
1217
+ ...finishedEvent,
1218
+ ...(ended === undefined ? {} : {
1219
+ ended
1220
+ }),
1221
+ eventId,
1222
+ ...(started === undefined ? {} : {
1223
+ started
1224
+ }),
1225
+ type: 'tool-execution'
1226
+ };
1227
+ };
1228
+ const getEventDetailsBySessionIdAndEventId = async (store, sessionId, sessionIdIndexName, eventId, summaryType) => {
1229
+ const event = await getRawEventBySessionIdAndEventId(store, sessionId, sessionIdIndexName, eventId);
1230
+ if (!event) {
1231
+ return undefined;
1232
+ }
1233
+ if (summaryType !== 'tool-execution') {
1234
+ return {
1235
+ ...event,
1236
+ eventId
1237
+ };
1238
+ }
1239
+ if (event.type !== startedEventType$1) {
1240
+ return {
1241
+ ...event,
1242
+ eventId
1243
+ };
1244
+ }
1245
+ const nextEvent = await getRawEventBySessionIdAndEventId(store, sessionId, sessionIdIndexName, eventId + 1);
1246
+ if (!nextEvent || nextEvent.type !== finishedEventType$1 || nextEvent.sessionId !== sessionId || !hasMatchingToolName$1(event, nextEvent)) {
1247
+ return {
1248
+ ...event,
1249
+ eventId
1250
+ };
1251
+ }
1252
+ return mergeToolExecutionEvents$1(event, nextEvent, eventId);
1253
+ };
1254
+
1255
+ const instanceOfAny = (object, constructors) => constructors.some(c => object instanceof c);
1256
+ let idbProxyableTypes;
1257
+ let cursorAdvanceMethods;
1258
+ // This is a function to prevent it throwing up in node environments.
1259
+ function getIdbProxyableTypes() {
1260
+ return idbProxyableTypes || (idbProxyableTypes = [IDBDatabase, IDBObjectStore, IDBIndex, IDBCursor, IDBTransaction]);
1261
+ }
1262
+ // This is a function to prevent it throwing up in node environments.
1263
+ function getCursorAdvanceMethods() {
1264
+ return cursorAdvanceMethods || (cursorAdvanceMethods = [IDBCursor.prototype.advance, IDBCursor.prototype.continue, IDBCursor.prototype.continuePrimaryKey]);
1265
+ }
1266
+ const transactionDoneMap = new WeakMap();
1267
+ const transformCache = new WeakMap();
1268
+ const reverseTransformCache = new WeakMap();
1269
+ function promisifyRequest(request) {
1270
+ const promise = new Promise((resolve, reject) => {
1271
+ const unlisten = () => {
1272
+ request.removeEventListener('success', success);
1273
+ request.removeEventListener('error', error);
1274
+ };
1275
+ const success = () => {
1276
+ resolve(wrap(request.result));
1277
+ unlisten();
1278
+ };
1279
+ const error = () => {
1280
+ reject(request.error);
1281
+ unlisten();
1282
+ };
1283
+ request.addEventListener('success', success);
1284
+ request.addEventListener('error', error);
1285
+ });
1286
+ // This mapping exists in reverseTransformCache but doesn't exist in transformCache. This
1287
+ // is because we create many promises from a single IDBRequest.
1288
+ reverseTransformCache.set(promise, request);
1289
+ return promise;
1290
+ }
1291
+ function cacheDonePromiseForTransaction(tx) {
1292
+ // Early bail if we've already created a done promise for this transaction.
1293
+ if (transactionDoneMap.has(tx)) return;
1294
+ const done = new Promise((resolve, reject) => {
1295
+ const unlisten = () => {
1296
+ tx.removeEventListener('complete', complete);
1297
+ tx.removeEventListener('error', error);
1298
+ tx.removeEventListener('abort', error);
1299
+ };
1300
+ const complete = () => {
1301
+ resolve();
1302
+ unlisten();
1303
+ };
1304
+ const error = () => {
1305
+ reject(tx.error || new DOMException('AbortError', 'AbortError'));
1306
+ unlisten();
1307
+ };
1308
+ tx.addEventListener('complete', complete);
1309
+ tx.addEventListener('error', error);
1310
+ tx.addEventListener('abort', error);
1311
+ });
1312
+ // Cache it for later retrieval.
1313
+ transactionDoneMap.set(tx, done);
1314
+ }
1315
+ let idbProxyTraps = {
1316
+ get(target, prop, receiver) {
1317
+ if (target instanceof IDBTransaction) {
1318
+ // Special handling for transaction.done.
1319
+ if (prop === 'done') return transactionDoneMap.get(target);
1320
+ // Make tx.store return the only store in the transaction, or undefined if there are many.
1321
+ if (prop === 'store') {
1322
+ return receiver.objectStoreNames[1] ? undefined : receiver.objectStore(receiver.objectStoreNames[0]);
1323
+ }
1324
+ }
1325
+ // Else transform whatever we get back.
1326
+ return wrap(target[prop]);
1327
+ },
1328
+ set(target, prop, value) {
1329
+ target[prop] = value;
1330
+ return true;
1331
+ },
1332
+ has(target, prop) {
1333
+ if (target instanceof IDBTransaction && (prop === 'done' || prop === 'store')) {
1334
+ return true;
1335
+ }
1336
+ return prop in target;
1337
+ }
1338
+ };
1339
+ function replaceTraps(callback) {
1340
+ idbProxyTraps = callback(idbProxyTraps);
1341
+ }
1342
+ function wrapFunction(func) {
1343
+ // Due to expected object equality (which is enforced by the caching in `wrap`), we
1344
+ // only create one new func per func.
1345
+ // Cursor methods are special, as the behaviour is a little more different to standard IDB. In
1346
+ // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the
1347
+ // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense
1348
+ // with real promises, so each advance methods returns a new promise for the cursor object, or
1349
+ // undefined if the end of the cursor has been reached.
1350
+ if (getCursorAdvanceMethods().includes(func)) {
1351
+ return function (...args) {
1352
+ // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
1353
+ // the original object.
1354
+ func.apply(unwrap(this), args);
1355
+ return wrap(this.request);
1356
+ };
1357
+ }
1358
+ return function (...args) {
1359
+ // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
1360
+ // the original object.
1361
+ return wrap(func.apply(unwrap(this), args));
1362
+ };
1363
+ }
1364
+ function transformCachableValue(value) {
1365
+ if (typeof value === 'function') return wrapFunction(value);
1366
+ // This doesn't return, it just creates a 'done' promise for the transaction,
1367
+ // which is later returned for transaction.done (see idbObjectHandler).
1368
+ if (value instanceof IDBTransaction) cacheDonePromiseForTransaction(value);
1369
+ if (instanceOfAny(value, getIdbProxyableTypes())) return new Proxy(value, idbProxyTraps);
1370
+ // Return the same value back if we're not going to transform it.
1371
+ return value;
1372
+ }
1373
+ function wrap(value) {
1374
+ // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because
1375
+ // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.
1376
+ if (value instanceof IDBRequest) return promisifyRequest(value);
1377
+ // If we've already transformed this value before, reuse the transformed value.
1378
+ // This is faster, but it also provides object equality.
1379
+ if (transformCache.has(value)) return transformCache.get(value);
1380
+ const newValue = transformCachableValue(value);
1381
+ // Not all types are transformed.
1382
+ // These may be primitive types, so they can't be WeakMap keys.
1383
+ if (newValue !== value) {
1384
+ transformCache.set(value, newValue);
1385
+ reverseTransformCache.set(newValue, value);
1386
+ }
1387
+ return newValue;
1388
+ }
1389
+ const unwrap = value => reverseTransformCache.get(value);
1390
+
1391
+ /**
1392
+ * Open a database.
1393
+ *
1394
+ * @param name Name of the database.
1395
+ * @param version Schema version.
1396
+ * @param callbacks Additional callbacks.
1397
+ */
1398
+ function openDB(name, version, {
1399
+ blocked,
1400
+ upgrade,
1401
+ blocking,
1402
+ terminated
1403
+ } = {}) {
1404
+ const request = indexedDB.open(name, version);
1405
+ const openPromise = wrap(request);
1406
+ if (upgrade) {
1407
+ request.addEventListener('upgradeneeded', event => {
1408
+ upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);
1409
+ });
1410
+ }
1411
+ if (blocked) {
1412
+ request.addEventListener('blocked', event => blocked(
1413
+ // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405
1414
+ event.oldVersion, event.newVersion, event));
1415
+ }
1416
+ openPromise.then(db => {
1417
+ if (terminated) db.addEventListener('close', () => terminated());
1418
+ if (blocking) {
1419
+ db.addEventListener('versionchange', event => blocking(event.oldVersion, event.newVersion, event));
1420
+ }
1421
+ }).catch(() => {});
1422
+ return openPromise;
1423
+ }
1424
+ const readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];
1425
+ const writeMethods = ['put', 'add', 'delete', 'clear'];
1426
+ const cachedMethods = new Map();
1427
+ function getMethod(target, prop) {
1428
+ if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === 'string')) {
1429
+ return;
1430
+ }
1431
+ if (cachedMethods.get(prop)) return cachedMethods.get(prop);
1432
+ const targetFuncName = prop.replace(/FromIndex$/, '');
1433
+ const useIndex = prop !== targetFuncName;
1434
+ const isWrite = writeMethods.includes(targetFuncName);
1435
+ if (
1436
+ // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
1437
+ !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))) {
1438
+ return;
1439
+ }
1440
+ const method = async function (storeName, ...args) {
1441
+ // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(
1442
+ const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');
1443
+ let target = tx.store;
1444
+ if (useIndex) target = target.index(args.shift());
1445
+ // Must reject if op rejects.
1446
+ // If it's a write operation, must reject if tx.done rejects.
1447
+ // Must reject with op rejection first.
1448
+ // Must resolve with op value.
1449
+ // Must handle both promises (no unhandled rejections)
1450
+ return (await Promise.all([target[targetFuncName](...args), isWrite && tx.done]))[0];
1451
+ };
1452
+ cachedMethods.set(prop, method);
1453
+ return method;
1454
+ }
1455
+ replaceTraps(oldTraps => ({
1456
+ ...oldTraps,
1457
+ get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
1458
+ has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop)
1459
+ }));
1460
+ const advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];
1461
+ const methodMap = {};
1462
+ const advanceResults = new WeakMap();
1463
+ const ittrProxiedCursorToOriginalProxy = new WeakMap();
1464
+ const cursorIteratorTraps = {
1465
+ get(target, prop) {
1466
+ if (!advanceMethodProps.includes(prop)) return target[prop];
1467
+ let cachedFunc = methodMap[prop];
1468
+ if (!cachedFunc) {
1469
+ cachedFunc = methodMap[prop] = function (...args) {
1470
+ advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));
1471
+ };
1472
+ }
1473
+ return cachedFunc;
1474
+ }
1475
+ };
1476
+ async function* iterate(...args) {
1477
+ // tslint:disable-next-line:no-this-assignment
1478
+ let cursor = this;
1479
+ if (!(cursor instanceof IDBCursor)) {
1480
+ cursor = await cursor.openCursor(...args);
1481
+ }
1482
+ if (!cursor) return;
1483
+ cursor = cursor;
1484
+ const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);
1485
+ ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);
1486
+ // Map this double-proxy back to the original, so other cursor methods work.
1487
+ reverseTransformCache.set(proxiedCursor, unwrap(cursor));
1488
+ while (cursor) {
1489
+ yield proxiedCursor;
1490
+ // If one of the advancing methods was not called, call continue().
1491
+ cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());
1492
+ advanceResults.delete(proxiedCursor);
1493
+ }
1494
+ }
1495
+ function isIteratorProp(target, prop) {
1496
+ return prop === Symbol.asyncIterator && instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor]) || prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore]);
1497
+ }
1498
+ replaceTraps(oldTraps => ({
1499
+ ...oldTraps,
1500
+ get(target, prop, receiver) {
1501
+ if (isIteratorProp(target, prop)) return iterate;
1502
+ return oldTraps.get(target, prop, receiver);
1503
+ },
1504
+ has(target, prop) {
1505
+ return isIteratorProp(target, prop) || oldTraps.has(target, prop);
1506
+ }
1507
+ }));
1508
+
1509
+ const openDatabaseDependencies = {
1510
+ openDB: openDB
1511
+ };
1512
+ const openDatabase = async (databaseName, dataBaseVersion) => {
1513
+ return openDatabaseDependencies.openDB(databaseName, dataBaseVersion);
1514
+ };
1515
+
1516
+ const loadSelectedEventDependencies = {
1517
+ getEventDetailsBySessionIdAndEventId: getEventDetailsBySessionIdAndEventId,
1518
+ openDatabase: openDatabase
1519
+ };
1520
+ const loadSelectedEvent = async (databaseName, dataBaseVersion, eventStoreName, sessionId, sessionIdIndexName, eventId, type) => {
1521
+ const database = await loadSelectedEventDependencies.openDatabase(databaseName, dataBaseVersion);
1522
+ try {
1523
+ if (!database.objectStoreNames.contains(eventStoreName)) {
1524
+ return null;
1525
+ }
1526
+ const transaction = database.transaction(eventStoreName, 'readonly');
1527
+ const store = transaction.objectStore(eventStoreName);
1528
+ const event = await loadSelectedEventDependencies.getEventDetailsBySessionIdAndEventId(store, sessionId, sessionIdIndexName, eventId, type);
1529
+ return event ?? null;
1530
+ } finally {
1531
+ database.close();
1532
+ }
1533
+ };
1534
+
1535
+ const hasMatchingToolName = (startedEvent, finishedEvent) => {
1536
+ if (typeof startedEvent.toolName === 'string' && typeof finishedEvent.toolName === 'string') {
1537
+ return startedEvent.toolName === finishedEvent.toolName;
1538
+ }
1539
+ return true;
1540
+ };
1541
+
1542
+ const isMatchingToolExecutionPair = (startedEvent, finishedEvent) => {
1543
+ return startedEvent.sessionId === finishedEvent.sessionId && hasMatchingToolName(startedEvent, finishedEvent);
1544
+ };
1545
+
1546
+ const startedEventType = 'tool-execution-started';
1547
+ const finishedEventType = 'tool-execution-finished';
1548
+ const mergedEventType = 'tool-execution';
1549
+
1550
+ const isToolExecutionFinishedEvent = event => {
1551
+ return event.type === finishedEventType;
1552
+ };
1553
+
1554
+ const isToolExecutionStartedEvent = event => {
1555
+ return event.type === startedEventType;
1556
+ };
1557
+
1558
+ const getTimestamp = value => {
1559
+ return typeof value === 'string' || typeof value === 'number' ? value : undefined;
1560
+ };
1561
+
1562
+ const getEndedTimestamp = event => {
1563
+ return getTimestamp(event.ended) ?? getTimestamp(event.endTime) ?? getTimestamp(event.endTimestamp) ?? getTimestamp(event.timestamp);
1564
+ };
1565
+
1566
+ const eventStableIds = new WeakMap();
1567
+ const eventStableIdState = {
1568
+ nextStableEventId: 1
1569
+ };
1570
+
1571
+ const getOrCreateStableEventId = event => {
1572
+ const existingStableEventId = eventStableIds.get(event);
1573
+ if (existingStableEventId) {
1574
+ return existingStableEventId;
1575
+ }
1576
+ const stableEventId = `event-${eventStableIdState.nextStableEventId++}`;
1577
+ eventStableIds.set(event, stableEventId);
1578
+ return stableEventId;
1579
+ };
1580
+
1581
+ const getStartedTimestamp = event => {
1582
+ return getTimestamp(event.started) ?? getTimestamp(event.startTime) ?? getTimestamp(event.startTimestamp) ?? getTimestamp(event.timestamp);
1583
+ };
1584
+
1585
+ const setStableEventId = (event, stableEventId) => {
1586
+ eventStableIds.set(event, stableEventId);
1587
+ };
1588
+
1589
+ const mergeToolExecutionEvents = (startedEvent, finishedEvent) => {
1590
+ const ended = getEndedTimestamp(finishedEvent);
1591
+ const {
1592
+ eventId
1593
+ } = startedEvent;
1594
+ const started = getStartedTimestamp(startedEvent);
1595
+ const mergedEvent = {
1596
+ ...startedEvent,
1597
+ ...finishedEvent,
1598
+ ...(ended === undefined ? {} : {
1599
+ ended
1600
+ }),
1601
+ ...(eventId === undefined ? {} : {
1602
+ eventId
1603
+ }),
1604
+ ...(started === undefined ? {} : {
1605
+ started
1606
+ }),
1607
+ type: mergedEventType
1608
+ };
1609
+ const stableEventId = `${getOrCreateStableEventId(startedEvent)}:${getOrCreateStableEventId(finishedEvent)}`;
1610
+ setStableEventId(mergedEvent, stableEventId);
1611
+ return mergedEvent;
1612
+ };
1613
+
1614
+ const getStableEventId = event => {
1615
+ return getOrCreateStableEventId(event);
1616
+ };
1617
+
1618
+ const collapseToolExecutionEvents = events => {
1619
+ const collapsedEvents = [];
1620
+ for (let i = 0; i < events.length; i++) {
1621
+ const event = events[i];
1622
+ if (isToolExecutionStartedEvent(event)) {
1623
+ const nextEvent = events[i + 1];
1624
+ if (nextEvent && isToolExecutionFinishedEvent(nextEvent) && isMatchingToolExecutionPair(event, nextEvent)) {
1625
+ collapsedEvents.push(mergeToolExecutionEvents(event, nextEvent));
1626
+ i++;
1627
+ continue;
1628
+ }
1629
+ }
1630
+ collapsedEvents.push(event);
1631
+ }
1632
+ return collapsedEvents;
1633
+ };
1634
+
1635
+ const getVisibleEvents = (events, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents) => {
1636
+ return events.filter(event => {
1637
+ if (!showInputEvents && event.type === 'handle-input') {
1638
+ return false;
1639
+ }
1640
+ if (!showResponsePartEvents && event.type === 'sse-response-part') {
1641
+ return false;
1642
+ }
1643
+ if (!showEventStreamFinishedEvents && event.type === 'event-stream-finished') {
1644
+ return false;
1645
+ }
1646
+ // hide session creation events by default — not useful in the debug view
1647
+ if (event.type === 'chat-session-created') {
1648
+ return false;
1649
+ }
1650
+ return true;
1651
+ });
1652
+ };
1653
+
1654
+ const isNetworkEvent = event => {
1655
+ const normalizedType = event.type.toLowerCase();
1656
+ return normalizedType === 'request' || normalizedType === 'response' || normalizedType === 'handle-response' || normalizedType.includes('fetch') || normalizedType.includes('xhr');
1657
+ };
1658
+
1659
+ const isStreamEvent = event => {
1660
+ return event.type === 'sse-response-part' || event.type === 'event-stream-finished';
1661
+ };
1662
+
1663
+ const toolEventTypePrefix = 'tool-execution';
1664
+ const isToolEvent = event => {
1665
+ return event.type.startsWith(toolEventTypePrefix);
1666
+ };
1667
+
1668
+ const isUiEvent = event => {
1669
+ return event.type.startsWith('handle-') && event.type !== 'handle-response';
1670
+ };
1671
+
1672
+ const matchesEventCategoryFilter = (event, eventCategoryFilter) => {
1673
+ switch (eventCategoryFilter) {
1674
+ case Network:
1675
+ return isNetworkEvent(event);
1676
+ case Stream:
1677
+ return isStreamEvent(event);
1678
+ case Tools:
1679
+ return isToolEvent(event);
1680
+ case Ui:
1681
+ return isUiEvent(event);
1682
+ default:
1683
+ return true;
1684
+ }
1685
+ };
1686
+
1687
+ const getFilteredEvents = (events, filterValue, eventCategoryFilter, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents) => {
1688
+ const visibleEvents = getVisibleEvents(events, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents);
1689
+ const collapsedEvents = collapseToolExecutionEvents(visibleEvents);
1690
+ const parsedFilter = parseFilterValue(filterValue);
1691
+ const activeEventCategoryFilter = parsedFilter.eventCategoryFilter === All ? eventCategoryFilter : parsedFilter.eventCategoryFilter;
1692
+ const filteredByCategory = collapsedEvents.filter(event => matchesEventCategoryFilter(event, activeEventCategoryFilter));
1693
+ const {
1694
+ filterText
1695
+ } = parsedFilter;
1696
+ if (!filterText) {
1697
+ return filteredByCategory;
1698
+ }
1699
+ return filteredByCategory.filter(event => JSON.stringify(event).toLowerCase().includes(filterText));
1700
+ };
1701
+
1702
+ const toTimeNumber = value => {
1703
+ if (typeof value === 'number' && Number.isFinite(value)) {
1704
+ return value;
1705
+ }
1706
+ if (typeof value === 'string') {
1707
+ const timestamp = Date.parse(value);
1708
+ if (!Number.isNaN(timestamp)) {
1709
+ return timestamp;
1710
+ }
1711
+ }
1712
+ return undefined;
1713
+ };
1714
+
1715
+ const getEventTime = event => {
1716
+ return toTimeNumber(event.started ?? event.startTime ?? event.startTimestamp ?? event.timestamp);
1717
+ };
1718
+
1719
+ const maxBarUnits = 8;
1720
+ const parseTimelineSeconds = value => {
1721
+ const trimmed = value.trim();
1722
+ if (!trimmed) {
1723
+ return undefined;
1724
+ }
1725
+ const parsed = Number.parseFloat(trimmed);
1726
+ if (!Number.isFinite(parsed) || parsed < 0) {
1727
+ return undefined;
1728
+ }
1729
+ return parsed;
1730
+ };
1731
+ const roundSeconds = value => {
1732
+ return Number(value.toFixed(3));
1733
+ };
1734
+ const getEventsWithTime = events => {
1735
+ return events.flatMap(event => {
1736
+ const time = getEventTime(event);
1737
+ if (time === undefined) {
1738
+ return [];
1739
+ }
1740
+ return [{
1741
+ event,
1742
+ time
1743
+ }];
1744
+ });
1745
+ };
1746
+ const getTimelineDurationSeconds = events => {
1747
+ const eventsWithTime = getEventsWithTime(events);
1748
+ if (eventsWithTime.length === 0) {
1749
+ return 0;
1750
+ }
1751
+ const baseTime = eventsWithTime[0].time;
1752
+ const lastTime = eventsWithTime.at(-1)?.time ?? baseTime;
1753
+ return roundSeconds(Math.max(0, lastTime - baseTime) / 1000);
1754
+ };
1755
+ const getSelectionPercent = (value, durationSeconds) => {
1756
+ if (durationSeconds <= 0) {
1757
+ return 0;
1758
+ }
1759
+ return Number((value / durationSeconds * 100).toFixed(3));
1760
+ };
1761
+ const getNormalizedRange = (durationSeconds, startValue, endValue) => {
1762
+ const parsedStart = parseTimelineSeconds(startValue);
1763
+ const parsedEnd = parseTimelineSeconds(endValue);
1764
+ if (parsedStart === undefined && parsedEnd === undefined) {
1765
+ return {
1766
+ endSeconds: null,
1767
+ hasSelection: false,
1768
+ startSeconds: null
1769
+ };
1770
+ }
1771
+ const rawStart = parsedStart ?? 0;
1772
+ const rawEnd = parsedEnd ?? durationSeconds;
1773
+ const normalizedStart = Math.max(0, Math.min(durationSeconds, Math.min(rawStart, rawEnd)));
1774
+ const normalizedEnd = Math.max(0, Math.min(durationSeconds, Math.max(rawStart, rawEnd)));
1775
+ return {
1776
+ endSeconds: roundSeconds(normalizedEnd),
1777
+ hasSelection: true,
1778
+ startSeconds: roundSeconds(normalizedStart)
1779
+ };
1780
+ };
1781
+ const filterEventsByTimelineRange = (events, startValue, endValue) => {
1782
+ const eventsWithTime = getEventsWithTime(events);
1783
+ if (eventsWithTime.length === 0) {
1784
+ return events;
1785
+ }
1786
+ const baseTime = eventsWithTime[0].time;
1787
+ const lastTime = eventsWithTime.at(-1)?.time ?? baseTime;
1788
+ const durationSeconds = roundSeconds(Math.max(0, lastTime - baseTime) / 1000);
1789
+ const range = getNormalizedRange(durationSeconds, startValue, endValue);
1790
+ if (!range.hasSelection || range.startSeconds === null || range.endSeconds === null) {
1791
+ return events;
1792
+ }
1793
+ const startTime = baseTime + range.startSeconds * 1000;
1794
+ const endTime = baseTime + range.endSeconds * 1000;
1795
+ return eventsWithTime.filter(item => item.time >= startTime && item.time <= endTime).map(item => item.event);
1796
+ };
1797
+ const getTimelineInfo = (events, startValue, endValue) => {
1798
+ const eventsWithTime = getEventsWithTime(events);
1799
+ if (eventsWithTime.length === 0) {
1800
+ return {
1801
+ buckets: [],
1802
+ durationSeconds: 0,
1803
+ endSeconds: null,
1804
+ hasSelection: false,
1805
+ selectionEndPercent: null,
1806
+ selectionStartPercent: null,
1807
+ startSeconds: null
1808
+ };
1809
+ }
1810
+ const baseTime = eventsWithTime[0].time;
1811
+ const lastTime = eventsWithTime.at(-1)?.time ?? baseTime;
1812
+ const durationMs = Math.max(0, lastTime - baseTime);
1813
+ const durationSeconds = roundSeconds(durationMs / 1000);
1814
+ const range = getNormalizedRange(durationSeconds, startValue, endValue);
1815
+ const bucketCount = durationSeconds === 0 ? 1 : Math.max(12, Math.min(48, Math.ceil(durationSeconds)));
1816
+ const bucketDurationMs = durationMs === 0 ? 1000 : durationMs / bucketCount;
1817
+ const counts = Array.from({
1818
+ length: bucketCount
1819
+ }).fill(0);
1820
+ for (const item of eventsWithTime) {
1821
+ const offsetMs = item.time - baseTime;
1822
+ const index = durationMs === 0 ? 0 : Math.min(bucketCount - 1, Math.floor(offsetMs / durationMs * bucketCount));
1823
+ counts[index] += 1;
1824
+ }
1825
+ const maxCount = Math.max(...counts);
1826
+ const selectionStartPercent = range.hasSelection && range.startSeconds !== null ? getSelectionPercent(range.startSeconds, durationSeconds) : null;
1827
+ const selectionEndPercent = range.hasSelection && range.endSeconds !== null ? getSelectionPercent(range.endSeconds, durationSeconds) : null;
1828
+ const buckets = counts.map((count, index) => {
1829
+ const bucketStartMs = index * bucketDurationMs;
1830
+ const bucketEndMs = index === bucketCount - 1 ? durationMs : (index + 1) * bucketDurationMs;
1831
+ const hasSelection = range.hasSelection && range.startSeconds !== null && range.endSeconds !== null;
1832
+ const selectionStartMs = hasSelection ? range.startSeconds * 1000 : 0;
1833
+ const selectionEndMs = hasSelection ? range.endSeconds * 1000 : 0;
1834
+ return {
1835
+ count,
1836
+ endSeconds: roundSeconds(bucketEndMs / 1000),
1837
+ isSelected: hasSelection && bucketEndMs >= selectionStartMs && bucketStartMs <= selectionEndMs,
1838
+ startSeconds: roundSeconds(bucketStartMs / 1000),
1839
+ unitCount: count === 0 ? 0 : Math.max(1, Math.round(count / maxCount * maxBarUnits))
1840
+ };
1841
+ });
1842
+ return {
1843
+ buckets,
1844
+ durationSeconds,
1845
+ endSeconds: range.endSeconds,
1846
+ hasSelection: range.hasSelection,
1847
+ selectionEndPercent,
1848
+ selectionStartPercent,
1849
+ startSeconds: range.startSeconds
1850
+ };
1851
+ };
1852
+
1853
+ const getCurrentEvents$2 = state => {
1854
+ const filteredEvents = getFilteredEvents(state.events, state.filterValue, state.eventCategoryFilter, state.showInputEvents, state.showResponsePartEvents, state.showEventStreamFinishedEvents);
1855
+ return filterEventsByTimelineRange(filteredEvents, state.timelineStartSeconds, state.timelineEndSeconds);
1856
+ };
1857
+ const selectEventAtIndex = async (state, selectedEventIndex, dependencies) => {
1858
+ const currentEvents = getCurrentEvents$2(state);
1859
+ const selectedEvent = currentEvents[selectedEventIndex];
1860
+ if (!selectedEvent) {
1861
+ return {
1862
+ ...state,
1863
+ selectedEvent: null,
1864
+ selectedEventId: null,
1865
+ selectedEventIndex
1866
+ };
1867
+ }
1868
+ if (typeof selectedEvent.eventId !== 'number') {
1869
+ return {
1870
+ ...state,
1871
+ selectedEvent,
1872
+ selectedEventId: null,
1873
+ selectedEventIndex
1874
+ };
1875
+ }
1876
+ const selectedEventDetails = await dependencies.loadSelectedEvent(state.databaseName, state.dataBaseVersion, state.eventStoreName, state.sessionId, state.sessionIdIndexName, selectedEvent.eventId, selectedEvent.type);
1877
+ return {
1878
+ ...state,
1879
+ selectedEvent: selectedEventDetails ?? selectedEvent,
1880
+ selectedEventId: selectedEvent.eventId,
1881
+ selectedEventIndex
1882
+ };
1883
+ };
1884
+
1885
+ const handleEventRowClickDependencies = {
1886
+ loadSelectedEvent: loadSelectedEvent
1887
+ };
1888
+ const isPrimaryButton = button => {
1889
+ return button === 0;
1890
+ };
1891
+ const parseSelectedEventIndex$1 = value => {
1892
+ const parsed = Number.parseInt(value, 10);
1893
+ if (Number.isNaN(parsed) || parsed < 0) {
1894
+ return null;
1895
+ }
1896
+ return parsed;
1897
+ };
1898
+ const handleEventRowClick = async (state, value, button) => {
1899
+ if (!isPrimaryButton(button)) {
1900
+ return state;
1901
+ }
1902
+ const selectedEventIndex = parseSelectedEventIndex$1(value);
1903
+ if (selectedEventIndex === null) {
1904
+ return state;
1905
+ }
1906
+ return selectEventAtIndex(state, selectedEventIndex, handleEventRowClickDependencies);
1907
+ };
1908
+
1909
+ const handleHeaderContextMenu = state => {
1910
+ return state;
1911
+ };
1912
+
1913
+ const getBoolean = value => {
1914
+ return value === true || value === 'true' || value === 'on' || value === '1';
1915
+ };
1916
+
1917
+ const Filter = 'filter';
1918
+ const EventCategoryFilter = 'eventCategoryFilter';
1919
+ const ShowEventStreamFinishedEvents = 'showEventStreamFinishedEvents';
1920
+ const ShowInputEvents = 'showInputEvents';
1921
+ const ShowResponsePartEvents = 'showResponsePartEvents';
1922
+ const UseDevtoolsLayout = 'useDevtoolsLayout';
1923
+ const SelectedEventIndex = 'selectedEventIndex';
1924
+ const CloseDetails = 'closeDetails';
1925
+ const DetailTab = 'detailTab';
1926
+ const TimelineStartSeconds = 'timelineStartSeconds';
1927
+ const TimelineEndSeconds = 'timelineEndSeconds';
1928
+ const TimelineRangePreset = 'timelineRangePreset';
1929
+
1930
+ const getCurrentEvents$1 = state => {
1931
+ const filteredEvents = getFilteredEvents(state.events, state.filterValue, state.eventCategoryFilter, state.showInputEvents, state.showResponsePartEvents, state.showEventStreamFinishedEvents);
1932
+ return filterEventsByTimelineRange(filteredEvents, state.timelineStartSeconds, state.timelineEndSeconds);
1933
+ };
1934
+ const parseTimelineRangePreset = value => {
1935
+ if (!value) {
1936
+ return {
1937
+ timelineEndSeconds: '',
1938
+ timelineStartSeconds: ''
1939
+ };
1940
+ }
1941
+ const [timelineStartSeconds = '', timelineEndSeconds = ''] = value.split(':', 2);
1942
+ return {
1943
+ timelineEndSeconds,
1944
+ timelineStartSeconds
1945
+ };
1946
+ };
1947
+ const getEventIndexByStableId = (events, event) => {
1948
+ const stableEventId = getStableEventId(event);
1949
+ return events.findIndex(candidate => getStableEventId(candidate) === stableEventId);
1950
+ };
1951
+ const getSelectedEventIndex = state => {
1952
+ const {
1953
+ selectedEventIndex
1954
+ } = state;
1955
+ if (selectedEventIndex === null) {
1956
+ return null;
1957
+ }
1958
+ const filteredEvents = getCurrentEvents$1(state);
1959
+ const selectedEvent = filteredEvents[selectedEventIndex];
1960
+ if (!selectedEvent) {
1961
+ return null;
1962
+ }
1963
+ const newIndex = getEventIndexByStableId(filteredEvents, selectedEvent);
1964
+ if (newIndex === -1) {
1965
+ return null;
1966
+ }
1967
+ return newIndex;
1968
+ };
1969
+ const getPreservedSelectedEventIndex = (oldState, newState) => {
1970
+ const {
1971
+ selectedEventIndex
1972
+ } = oldState;
1973
+ if (selectedEventIndex === null) {
1974
+ return null;
1975
+ }
1976
+ const oldFilteredEvents = getCurrentEvents$1(oldState);
1977
+ const selectedEvent = oldFilteredEvents[selectedEventIndex];
1978
+ if (!selectedEvent) {
1979
+ return null;
1980
+ }
1981
+ const newFilteredEvents = getCurrentEvents$1(newState);
1982
+ const newIndex = getEventIndexByStableId(newFilteredEvents, selectedEvent);
1983
+ if (newIndex === -1) {
1984
+ return null;
1985
+ }
1986
+ return newIndex;
1987
+ };
1988
+ const parseSelectedEventIndex = value => {
1989
+ const parsed = Number.parseInt(value, 10);
1990
+ if (Number.isNaN(parsed) || parsed < 0) {
1991
+ return null;
1992
+ }
1993
+ return parsed;
1994
+ };
1995
+ const withPreservedSelection = (state, nextState) => {
1996
+ const selectedEventIndex = getPreservedSelectedEventIndex(state, nextState);
1997
+ return {
1998
+ ...nextState,
1999
+ selectedEvent: selectedEventIndex === null ? null : state.selectedEvent,
2000
+ selectedEventId: selectedEventIndex === null ? null : state.selectedEventId,
2001
+ selectedEventIndex
2002
+ };
2003
+ };
2004
+ const handleInput = (state, name, value, checked) => {
2005
+ if (name === Filter) {
2006
+ const nextState = {
2007
+ ...state,
2008
+ filterValue: value
2009
+ };
2010
+ return withPreservedSelection(state, nextState);
2011
+ }
2012
+ if (name === EventCategoryFilter) {
2013
+ const nextState = {
2014
+ ...state,
2015
+ eventCategoryFilter: value || All
2016
+ };
2017
+ return withPreservedSelection(state, nextState);
2018
+ }
2019
+ if (name === ShowEventStreamFinishedEvents) {
2020
+ const nextState = {
2021
+ ...state,
2022
+ showEventStreamFinishedEvents: getBoolean(checked)
2023
+ };
2024
+ return withPreservedSelection(state, nextState);
2025
+ }
2026
+ if (name === ShowInputEvents) {
2027
+ const nextState = {
2028
+ ...state,
2029
+ showInputEvents: getBoolean(checked)
2030
+ };
2031
+ return withPreservedSelection(state, nextState);
2032
+ }
2033
+ if (name === ShowResponsePartEvents) {
2034
+ const nextState = {
2035
+ ...state,
2036
+ showResponsePartEvents: getBoolean(checked)
2037
+ };
2038
+ return withPreservedSelection(state, nextState);
2039
+ }
2040
+ if (name === UseDevtoolsLayout) {
2041
+ const useDevtoolsLayout = getBoolean(checked);
2042
+ const selectedEventIndex = useDevtoolsLayout ? getSelectedEventIndex(state) : null;
2043
+ return {
2044
+ ...state,
2045
+ selectedEvent: useDevtoolsLayout && selectedEventIndex !== null ? state.selectedEvent : null,
2046
+ selectedEventId: useDevtoolsLayout && selectedEventIndex !== null ? state.selectedEventId : null,
2047
+ selectedEventIndex,
2048
+ useDevtoolsLayout
2049
+ };
2050
+ }
2051
+ if (name === SelectedEventIndex) {
2052
+ const selectedEventIndex = parseSelectedEventIndex(value);
2053
+ return {
2054
+ ...state,
2055
+ selectedEvent: selectedEventIndex === null ? null : state.selectedEvent,
2056
+ selectedEventId: selectedEventIndex === null ? null : state.selectedEventId,
2057
+ selectedEventIndex
2058
+ };
2059
+ }
2060
+ if (name === TimelineStartSeconds) {
2061
+ const nextState = {
2062
+ ...state,
2063
+ timelineStartSeconds: value
2064
+ };
2065
+ return withPreservedSelection(state, nextState);
2066
+ }
2067
+ if (name === TimelineEndSeconds) {
2068
+ const nextState = {
2069
+ ...state,
2070
+ timelineEndSeconds: value
2071
+ };
2072
+ return withPreservedSelection(state, nextState);
2073
+ }
2074
+ if (name === TimelineRangePreset) {
2075
+ const nextState = {
2076
+ ...state,
2077
+ ...parseTimelineRangePreset(value)
2078
+ };
2079
+ return withPreservedSelection(state, nextState);
2080
+ }
2081
+ if (name === CloseDetails) {
2082
+ return {
2083
+ ...state,
2084
+ selectedEvent: null,
2085
+ selectedEventId: null,
2086
+ selectedEventIndex: null
2087
+ };
2088
+ }
2089
+ if (name === DetailTab) {
2090
+ if (!isDetailTab(value)) {
2091
+ return state;
2092
+ }
2093
+ return {
2094
+ ...state,
2095
+ selectedDetailTab: value
2096
+ };
2097
+ }
2098
+ return state;
2099
+ };
2100
+
2101
+ const handleSashPointerDown = (state, eventX, eventY) => {
2102
+ return state;
2103
+ };
2104
+
2105
+ const handleSashPointerMove = (state, eventX, eventY) => {
2106
+ return {
2107
+ ...state,
2108
+ tableWidth: getTableWidthFromClientX(state.x, state.width, eventX)
2109
+ };
2110
+ };
2111
+
2112
+ const handleSashPointerUp = (state, eventX, eventY) => {
2113
+ return state;
2114
+ };
2115
+
2116
+ const handleTableBodyContextMenu = state => {
2117
+ return state;
2118
+ };
2119
+
2120
+ const clearTimelineSelectionState = state => {
2121
+ return {
2122
+ ...state,
2123
+ timelineSelectionActive: false,
2124
+ timelineSelectionAnchorSeconds: '',
2125
+ timelineSelectionFocusSeconds: ''
2126
+ };
2127
+ };
2128
+
2129
+ const handleTimelineDoubleClick = state => {
2130
+ const nextState = handleInput(state, TimelineRangePreset, '', false);
2131
+ return clearTimelineSelectionState(nextState);
2132
+ };
2133
+
2134
+ const getTimelineEvents = state => {
2135
+ const {
2136
+ eventCategoryFilter,
2137
+ events,
2138
+ filterValue,
2139
+ showEventStreamFinishedEvents,
2140
+ showInputEvents,
2141
+ showResponsePartEvents
2142
+ } = state;
2143
+ return getFilteredEvents(events, filterValue, eventCategoryFilter, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents);
2144
+ };
2145
+
2146
+ const getTimelineLeft = state => {
2147
+ return state.x + viewPadding + timelineHorizontalPadding;
2148
+ };
2149
+ const getTimelineWidth = state => {
2150
+ return Math.max(0, getMainWidth(state.width) - timelineHorizontalPadding * 2);
2151
+ };
2152
+
2153
+ const trailingZeroFractionRegex = /\.0+$/;
2154
+ const trailingFractionZeroRegex = /(\.\d*?)0+$/;
2155
+ const formatTimelinePresetValue = value => {
2156
+ return value.toFixed(3).replace(trailingZeroFractionRegex, '').replace(trailingFractionZeroRegex, '$1');
2157
+ };
2158
+
2159
+ const getTimelineSecondsFromClientX = (events, eventX, timelineLeft, timelineWidth) => {
2160
+ if (timelineWidth <= 0) {
2161
+ return undefined;
2162
+ }
2163
+ const durationSeconds = getTimelineDurationSeconds(events);
2164
+ const relativeX = Math.min(Math.max(eventX - timelineLeft, 0), timelineWidth);
2165
+ const ratio = relativeX / timelineWidth;
2166
+ return formatTimelinePresetValue(durationSeconds * ratio);
2167
+ };
2168
+
2169
+ const handleTimelinePointerDown = (state, eventX) => {
2170
+ const timelineEvents = getTimelineEvents(state);
2171
+ const timelineLeft = getTimelineLeft(state);
2172
+ const timelineWidth = getTimelineWidth(state);
2173
+ const clientX = state.x + eventX;
2174
+ const seconds = getTimelineSecondsFromClientX(timelineEvents, clientX, timelineLeft, timelineWidth);
2175
+ if (seconds === undefined) {
2176
+ return state;
2177
+ }
2178
+ return {
2179
+ ...state,
2180
+ timelineSelectionActive: true,
2181
+ timelineSelectionAnchorSeconds: seconds,
2182
+ timelineSelectionFocusSeconds: seconds
2183
+ };
2184
+ };
2185
+
2186
+ const handleTimelinePointerMove = (state, eventX) => {
2187
+ if (!state.timelineSelectionActive) {
2188
+ return state;
2189
+ }
2190
+ const timelineEvents = getTimelineEvents(state);
2191
+ const timelineLeft = getTimelineLeft(state);
2192
+ const timelineWidth = getTimelineWidth(state);
2193
+ const clientX = state.x + eventX;
2194
+ const seconds = getTimelineSecondsFromClientX(timelineEvents, clientX, timelineLeft, timelineWidth);
2195
+ if (seconds === undefined) {
2196
+ return state;
2197
+ }
2198
+ return {
2199
+ ...state,
2200
+ timelineSelectionFocusSeconds: seconds
2201
+ };
2202
+ };
2203
+
2204
+ const handleTimelinePointerUp = (state, eventX) => {
2205
+ if (!state.timelineSelectionActive) {
2206
+ return state;
2207
+ }
2208
+ const timelineEvents = getTimelineEvents(state);
2209
+ const timelineLeft = getTimelineLeft(state);
2210
+ const timelineWidth = getTimelineWidth(state);
2211
+ const clientX = state.x + eventX;
2212
+ const focusSeconds = getTimelineSecondsFromClientX(timelineEvents, clientX, timelineLeft, timelineWidth);
2213
+ if (focusSeconds === undefined) {
2214
+ return clearTimelineSelectionState(state);
2215
+ }
2216
+ const anchor = Number.parseFloat(state.timelineSelectionAnchorSeconds);
2217
+ const focus = Number.parseFloat(focusSeconds);
2218
+ const startSeconds = formatTimelinePresetValue(Math.min(anchor, focus));
2219
+ const endSeconds = formatTimelinePresetValue(Math.max(anchor, focus));
2220
+ const nextState = handleInput(state, TimelineRangePreset, `${startSeconds}:${endSeconds}`, false);
2221
+ return clearTimelineSelectionState(nextState);
2222
+ };
2223
+
2224
+ const getFailedToLoadMessage = sessionId => {
2225
+ return `Failed to load chat debug session "${sessionId}". Please try again.`;
2226
+ };
2227
+
2228
+ const getIndexedDbNotSupportedMessage = () => {
2229
+ return 'Unable to load chat debug session: IndexedDB is not supported in this environment.';
2230
+ };
2231
+
2232
+ const ParseChatDebugUriErrorCode = {
2233
+ InvalidSessionId: 'invalid-session-id',
2234
+ InvalidUriEncoding: 'invalid-uri-encoding',
2235
+ InvalidUriFormat: 'invalid-uri-format',
2236
+ MissingUri: 'missing-uri'
2237
+ };
2238
+
2239
+ const getInvalidUriMessage = (uri, code) => {
2240
+ if (code === ParseChatDebugUriErrorCode.MissingUri) {
2241
+ return 'Unable to load debug session: missing URI. Expected format: chat-debug://<sessionId>.';
2242
+ }
2243
+ return `Unable to load debug session: invalid URI "${uri}". Expected format: chat-debug://<sessionId>.`;
2244
+ };
2245
+
2246
+ const getSessionNotFoundMessage = sessionId => {
2247
+ return `No chat session found for sessionId "${sessionId}".`;
2248
+ };
2249
+
2250
+ const filterEventsBySessionId = (events, sessionId) => {
2251
+ return events.filter(event => event.sessionId === sessionId);
2252
+ };
2253
+
2254
+ // cspell:ignore IDBP
2255
+
2256
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
2257
+ const getAllEvents = async store => {
2258
+ const all = await store.getAll();
2259
+ return all;
2260
+ };
2261
+
2262
+ const getEndTime = event => {
2263
+ return event.ended ?? event.endTime ?? event.timestamp;
2264
+ };
2265
+
2266
+ const getStartTime = event => {
2267
+ return event.started ?? event.startTime ?? event.timestamp;
2268
+ };
2269
+
2270
+ const getDuration = event => {
2271
+ const explicitDuration = event.durationMs ?? event.duration;
2272
+ if (typeof explicitDuration === 'number' && Number.isFinite(explicitDuration)) {
2273
+ return explicitDuration;
2274
+ }
2275
+ const start = toTimeNumber(getStartTime(event));
2276
+ const end = toTimeNumber(getEndTime(event));
2277
+ if (start === undefined || end === undefined || !Number.isFinite(start) || !Number.isFinite(end)) {
2278
+ return 0;
2279
+ }
2280
+ return Math.max(0, end - start);
2281
+ };
2282
+
2283
+ const isTimeValue = value => {
2284
+ return typeof value === 'number' || typeof value === 'string';
2285
+ };
2286
+
2287
+ const getLightweightEvent = (event, fallbackEventId) => {
2288
+ const startTime = getStartTime(event);
2289
+ const endTime = getEndTime(event);
2290
+ return {
2291
+ duration: getDuration(event),
2292
+ ...(isTimeValue(endTime) ? {
2293
+ endTime
2294
+ } : {}),
2295
+ eventId: typeof event.eventId === 'number' ? event.eventId : fallbackEventId,
2296
+ ...(isTimeValue(startTime) ? {
2297
+ startTime
2298
+ } : {}),
2299
+ type: event.type
2300
+ };
2301
+ };
2302
+
2303
+ // cspell:ignore IDBP
2304
+
2305
+ const toLightweightEvents = events => {
2306
+ const eventsWithIds = events.map((event, index) => {
2307
+ return {
2308
+ ...event,
2309
+ eventId: index + 1
2310
+ };
2311
+ });
2312
+ return collapseToolExecutionEvents(eventsWithIds).map((event, index) => getLightweightEvent(event, index + 1));
2313
+ };
2314
+ const getEventsBySessionId = async (store, sessionId, sessionIdIndexName) => {
2315
+ if (store.indexNames.contains(sessionIdIndexName)) {
2316
+ const index = store.index(sessionIdIndexName);
2317
+ const events = await index.getAll(sessionId);
2318
+ return toLightweightEvents(filterEventsBySessionId(events, sessionId));
2319
+ }
2320
+ const all = await getAllEvents(store);
2321
+ return toLightweightEvents(filterEventsBySessionId(all, sessionId));
2322
+ };
2323
+
2324
+ let indexedDbSupportOverride;
2325
+ const getIndexedDbSupportOverride = () => {
2326
+ return indexedDbSupportOverride;
2327
+ };
2328
+ const setIndexedDbSupportOverride = supported => {
2329
+ indexedDbSupportOverride = supported;
2330
+ };
2331
+
2332
+ const isIndexedDbSupported = indexedDbSupportOverride => {
2333
+ if (typeof indexedDbSupportOverride === 'boolean') {
2334
+ return indexedDbSupportOverride;
2335
+ }
2336
+ const override = getIndexedDbSupportOverride();
2337
+ if (typeof override === 'boolean') {
2338
+ return override;
2339
+ }
2340
+ return globalThis.indexedDB !== undefined;
2341
+ };
2342
+
2343
+ const listChatViewEventsDependencies = {
2344
+ getEventsBySessionId: getEventsBySessionId,
2345
+ openDatabase: openDatabase
2346
+ };
2347
+ const listChatViewEvents = async (sessionId, databaseName, dataBaseVersion, eventStoreName, sessionIdIndexName, indexedDbSupportOverride) => {
2348
+ if (!isIndexedDbSupported(indexedDbSupportOverride)) {
2349
+ return {
2350
+ type: 'not-supported'
2351
+ };
2352
+ }
2353
+ try {
2354
+ const database = await listChatViewEventsDependencies.openDatabase(databaseName, dataBaseVersion);
2355
+ try {
2356
+ if (!database.objectStoreNames.contains(eventStoreName)) {
2357
+ return {
2358
+ events: [],
2359
+ type: 'success'
2360
+ };
2361
+ }
2362
+ const transaction = database.transaction(eventStoreName, 'readonly');
2363
+ const store = transaction.objectStore(eventStoreName);
2364
+ if (!sessionId) {
2365
+ return {
2366
+ events: [],
2367
+ type: 'success'
2368
+ };
2369
+ }
2370
+ const events = await listChatViewEventsDependencies.getEventsBySessionId(store, sessionId, sessionIdIndexName);
2371
+ return {
2372
+ events,
2373
+ type: 'success'
2374
+ };
2375
+ } finally {
2376
+ database.close();
2377
+ }
2378
+ } catch (error) {
2379
+ return {
2380
+ error,
2381
+ type: 'error'
2382
+ };
2383
+ }
2384
+ };
2385
+
2386
+ const chatDebugUriPattern = /^chat-debug:\/\/([^/?#]+)$/;
2387
+ const invalidSessionIdPattern = /[/?#]/;
2388
+ const parseChatDebugUri = uri => {
2389
+ if (!uri) {
2390
+ return {
2391
+ code: ParseChatDebugUriErrorCode.MissingUri,
2392
+ message: 'Missing URI',
2393
+ type: 'error'
2394
+ };
2395
+ }
2396
+ const match = uri.match(chatDebugUriPattern);
2397
+ if (!match) {
2398
+ return {
2399
+ code: ParseChatDebugUriErrorCode.InvalidUriFormat,
2400
+ message: 'Invalid URI format',
2401
+ type: 'error'
2402
+ };
2403
+ }
2404
+ const encodedSessionId = match[1];
2405
+ let sessionId;
2406
+ try {
2407
+ sessionId = decodeURIComponent(encodedSessionId);
2408
+ } catch {
2409
+ return {
2410
+ code: ParseChatDebugUriErrorCode.InvalidUriEncoding,
2411
+ message: 'Invalid URI encoding',
2412
+ type: 'error'
2413
+ };
2414
+ }
2415
+ if (!sessionId || invalidSessionIdPattern.test(sessionId)) {
2416
+ return {
2417
+ code: ParseChatDebugUriErrorCode.InvalidSessionId,
2418
+ message: 'Invalid session id',
2419
+ type: 'error'
2420
+ };
2421
+ }
2422
+ return {
2423
+ sessionId,
2424
+ type: 'success'
2425
+ };
2426
+ };
2427
+
2428
+ const loadEventsDependencies = {
2429
+ listChatViewEvents: listChatViewEvents,
2430
+ loadSelectedEvent: loadSelectedEvent
2431
+ };
2432
+ const getCurrentEvents = state => {
2433
+ const filteredEvents = getFilteredEvents(state.events, state.filterValue, state.eventCategoryFilter, state.showInputEvents, state.showResponsePartEvents, state.showEventStreamFinishedEvents);
2434
+ return filterEventsByTimelineRange(filteredEvents, state.timelineStartSeconds, state.timelineEndSeconds);
2435
+ };
2436
+ const restoreSelectedEvent = async state => {
2437
+ if (state.selectedEventId === null) {
2438
+ return {
2439
+ ...state,
2440
+ selectedEvent: null,
2441
+ selectedEventIndex: null
2442
+ };
2443
+ }
2444
+ const currentEvents = getCurrentEvents(state);
2445
+ const selectedEventIndex = currentEvents.findIndex(event => event.eventId === state.selectedEventId);
2446
+ if (selectedEventIndex === -1) {
2447
+ return {
2448
+ ...state,
2449
+ selectedEvent: null,
2450
+ selectedEventId: null,
2451
+ selectedEventIndex: null
2452
+ };
2453
+ }
2454
+ const selectedEvent = currentEvents[selectedEventIndex];
2455
+ if (!selectedEvent || typeof selectedEvent.eventId !== 'number') {
2456
+ return {
2457
+ ...state,
2458
+ selectedEvent: null,
2459
+ selectedEventId: null,
2460
+ selectedEventIndex: null
2461
+ };
2462
+ }
2463
+ const selectedEventDetails = await loadEventsDependencies.loadSelectedEvent(state.databaseName, state.dataBaseVersion, state.eventStoreName, state.sessionId, state.sessionIdIndexName, selectedEvent.eventId, selectedEvent.type);
2464
+ return {
2465
+ ...state,
2466
+ selectedEvent: selectedEventDetails,
2467
+ selectedEventId: selectedEvent.eventId,
2468
+ selectedEventIndex
2469
+ };
2470
+ };
2471
+ const getStateWithInvalidUri = state => {
2472
+ const parsed = parseChatDebugUri(state.uri);
2473
+ if (parsed.type !== 'error') {
2474
+ return state;
2475
+ }
2476
+ return {
2477
+ ...state,
2478
+ errorMessage: getInvalidUriMessage(state.uri, parsed.code),
2479
+ events: [],
2480
+ initial: false,
2481
+ selectedEvent: null,
2482
+ selectedEventId: null,
2483
+ selectedEventIndex: null,
2484
+ sessionId: ''
2485
+ };
2486
+ };
2487
+ const getSessionIdFromUri = state => {
2488
+ const parsed = parseChatDebugUri(state.uri);
2489
+ if (parsed.type === 'error') {
2490
+ return undefined;
2491
+ }
2492
+ return parsed.sessionId;
2493
+ };
2494
+ const loadEventsForSessionId = async (state, sessionId) => {
2495
+ const {
2496
+ databaseName,
2497
+ dataBaseVersion,
2498
+ eventStoreName,
2499
+ indexedDbSupportOverride,
2500
+ sessionIdIndexName
2501
+ } = state;
2502
+ const result = await loadEventsDependencies.listChatViewEvents(sessionId, databaseName, dataBaseVersion, eventStoreName, sessionIdIndexName, indexedDbSupportOverride);
2503
+ if (result.type === 'not-supported') {
2504
+ return {
2505
+ ...state,
2506
+ errorMessage: getIndexedDbNotSupportedMessage(),
2507
+ events: [],
2508
+ initial: false,
2509
+ selectedEvent: null,
2510
+ selectedEventId: null,
2511
+ selectedEventIndex: null,
2512
+ sessionId
2513
+ };
2514
+ }
2515
+ if (result.type === 'error') {
2516
+ return {
2517
+ ...state,
2518
+ errorMessage: getFailedToLoadMessage(sessionId),
2519
+ events: [],
2520
+ initial: false,
2521
+ selectedEvent: null,
2522
+ selectedEventId: null,
2523
+ selectedEventIndex: null,
2524
+ sessionId
2525
+ };
2526
+ }
2527
+ const {
2528
+ events
2529
+ } = result;
2530
+ if (events.length === 0) {
2531
+ return {
2532
+ ...state,
2533
+ errorMessage: getSessionNotFoundMessage(sessionId),
2534
+ events: [],
2535
+ initial: false,
2536
+ selectedEvent: null,
2537
+ selectedEventId: null,
2538
+ selectedEventIndex: null,
2539
+ sessionId
2540
+ };
2541
+ }
2542
+ const nextState = {
2543
+ ...state,
2544
+ errorMessage: '',
2545
+ events,
2546
+ initial: false,
2547
+ sessionId
2548
+ };
2549
+ return restoreSelectedEvent(nextState);
2550
+ };
2551
+ const loadEventsFromUri = async state => {
2552
+ const sessionId = getSessionIdFromUri(state);
2553
+ if (!sessionId) {
2554
+ return getStateWithInvalidUri(state);
2555
+ }
2556
+ return loadEventsForSessionId(state, sessionId);
2557
+ };
2558
+ const refreshEvents = async state => {
2559
+ const sessionId = state.sessionId || getSessionIdFromUri(state);
2560
+ if (!sessionId) {
2561
+ return getStateWithInvalidUri(state);
2562
+ }
2563
+ return loadEventsForSessionId(state, sessionId);
2564
+ };
2565
+
2566
+ const loadContent = async state => {
2567
+ return loadEventsFromUri(state);
2568
+ };
2569
+
2570
+ const refresh = async state => {
2571
+ return refreshEvents(state);
2572
+ };
2573
+
2574
+ const ClientX = 'event.clientX';
2575
+ const ClientY = 'event.clientY';
2576
+ const TargetChecked = 'event.target.checked';
2577
+ const TargetName = 'event.target.name';
2578
+ const TargetValue = 'event.target.value';
2579
+
2580
+ const SetCss = 'Viewlet.setCss';
2581
+ const SetDom2 = 'Viewlet.setDom2';
2582
+ const SetPatches = 'Viewlet.setPatches';
2583
+
2584
+ const getCss = state => {
2585
+ const tableWidth = clampTableWidth(state.width, state.tableWidth);
2586
+ const detailsWidth = getDetailsWidth(state.width, state.tableWidth);
2587
+ return `
2588
+ .ChatDebugView {
2589
+ --ChatDebugViewDetailsWidth: ${detailsWidth}px;
2590
+ --ChatDebugViewSashWidth: ${sashWidth}px;
2591
+ --ChatDebugViewTableWidth: ${tableWidth}px;
2592
+ padding: ${viewPadding}px;
2593
+ display: flex;
2594
+ flex-direction: column;
2595
+ height: 100%;
2596
+ box-sizing: border-box;
2597
+ gap: 8px;
2598
+ contain: strict;
2599
+ }
2600
+
2601
+ .ChatDebugView--devtools {
2602
+ gap: 4px;
2603
+ }
2604
+
2605
+ .ChatDebugViewTop {
2606
+ display: flex;
2607
+ align-items: center;
2608
+ gap: 12px;
2609
+ flex-wrap: wrap;
2610
+ contain: content;
2611
+ }
2612
+
2613
+ .ChatDebugViewTop--devtools {
2614
+ align-items: stretch;
2615
+ }
2616
+
2617
+ .ChatDebugViewFilterInput {
2618
+ flex: 1;
2619
+ min-width: 0;
2620
+ max-width: 500px;
2621
+ contain: content;
2622
+ }
2623
+
2624
+ .ChatDebugViewFilterInput--devtools {
2625
+ flex: 0 1 80px;
2626
+ width: 100%;
2627
+ max-width: 80px;
2628
+ }
2629
+
2630
+ .ChatDebugViewQuickFilterPill {
2631
+ display: flex;
2632
+ align-items: center;
2633
+ justify-content: center;
2634
+ min-height: 22px;
2635
+ padding: 0 10px;
2636
+ border: 1px solid var(--vscode-editorWidget-border, #454545);
2637
+ border-radius: 999px;
2638
+ cursor: pointer;
2639
+ white-space: nowrap;
2640
+ transition:
2641
+ background 120ms ease-out,
2642
+ border-color 120ms ease-out,
2643
+ color 120ms ease-out,
2644
+ transform 120ms ease-out;
2645
+ contain: content;
2646
+ }
2647
+
2648
+ .ChatDebugViewQuickFilterPill:not(.ChatDebugViewQuickFilterPillSelected):hover {
2649
+ border-color: var(--vscode-focusBorder, #007fd4);
2650
+ background: color-mix(in srgb, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.16)) 82%, transparent 18%);
2651
+ color: var(--vscode-list-hoverForeground, inherit);
2652
+ transform: translateY(-1px);
2653
+ }
2654
+
2655
+
2656
+ .ChatDebugViewQuickFilters {
2657
+ display: flex;
2658
+ align-items: center;
2659
+ gap: 8px;
2660
+ justify-content: center;
2661
+ min-height: 28px;
2662
+ font-size: 12px;
2663
+ line-height: 1;
2664
+ contain: content;
2665
+ }
2666
+
2667
+ .ChatDebugViewQuickFilterPillSelected {
2668
+ border-color: var(--vscode-focusBorder, #007fd4);
2669
+ background: var(--vscode-list-activeSelectionBackground, rgba(14, 99, 156, 0.35));
2670
+ color: var(--vscode-list-activeSelectionForeground, inherit);
2671
+ }
2672
+
2673
+ .ChatDebugViewQuickFilterInput {
2674
+ position: absolute;
2675
+ opacity: 0;
2676
+ pointer-events: none;
2677
+ contain: content;
2678
+ }
2679
+
2680
+ .ChatDebugViewEvents {
2681
+ display: flex;
2682
+ flex-direction: column;
2683
+ overflow: auto;
2684
+ min-width: 0;
2685
+ min-height: 0;
2686
+ scrollbar-width: thin;
2687
+ scrollbar-color: var(--vscode-scrollbarSlider-background, rgba(121, 121, 121, 0.4)) transparent;
2688
+ contain: strict;
2689
+ }
2690
+
2691
+ .ChatDebugView--devtools .ChatDebugViewEvents {
2692
+ border-radius: 6px;
2693
+ margin-bottom: 0;
2694
+ overflow: hidden;
2695
+ }
2696
+
2697
+ .ChatDebugViewEventsFullWidth {
2698
+ flex: 1 1 100%;
2699
+ }
2700
+
2701
+ .ChatDebugViewDevtoolsMain {
2702
+ display: flex;
2703
+ flex-direction: column;
2704
+ flex: 1;
2705
+ align-items: stretch;
2706
+ gap: 0;
2707
+ min-width: 0;
2708
+ min-height: 0;
2709
+ contain: strict;
2710
+ }
2711
+
2712
+ .ChatDebugViewDevtoolsMain > .ChatDebugViewTimeline {
2713
+ flex: 0 0 auto;
2714
+ }
2715
+
2716
+ .ChatDebugViewDevtoolsSplit {
2717
+ display: flex;
2718
+ flex: 1;
2719
+ align-items: stretch;
2720
+ gap: 0;
2721
+ min-width: 0;
2722
+ min-height: 0;
2723
+ overflow: hidden;
2724
+ contain: strict;
2725
+ }
2726
+
2727
+ .ChatDebugViewDevtoolsSplit > .ChatDebugViewEvents {
2728
+ flex: 0 1 var(--ChatDebugViewTableWidth);
2729
+ min-width: 0;
2730
+ }
2731
+
2732
+ .ChatDebugViewDevtoolsSplit > .ChatDebugViewEvents.ChatDebugViewEventsFullWidth {
2733
+ flex: 1 1 100%;
2734
+ }
2735
+
2736
+ .ChatDebugViewDevtoolsSplit > .ChatDebugViewDetails {
2737
+ border-left: 0;
2738
+ border-top-left-radius: 0;
2739
+ border-bottom-left-radius: 0;
2740
+ flex: 1;
2741
+ }
2742
+
2743
+ .ChatDebugViewSash {
2744
+ flex: 0 0 var(--ChatDebugViewSashWidth);
2745
+ position: relative;
2746
+ cursor: col-resize;
2747
+ display: flex;
2748
+ justify-content: center;
2749
+ min-height: 0;
2750
+ contain: strict;
2751
+ }
2752
+
2753
+ .ChatDebugViewSashLine {
2754
+ width: 1px;
2755
+ height: 100%;
2756
+ background: var(--vscode-editorWidget-border, #454545);
2757
+ pointer-events: none;
2758
+ contain: strict;
2759
+ }
2760
+
2761
+ .ChatDebugViewSash:hover .ChatDebugViewSashLine {
2762
+ background: var(--vscode-focusBorder, #007fd4);
2763
+ }
2764
+
2765
+ .ChatDebugViewTable {
2766
+ display: flex;
2767
+ flex-direction: column;
2768
+ min-height: 0;
2769
+ flex: 1 1 auto;
2770
+ contain: strict;
2771
+ }
2772
+
2773
+ .ChatDebugViewTimeline {
2774
+ display: flex;
2775
+ flex-direction: column;
2776
+ gap: 6px;
2777
+ padding: 6px ${timelineHorizontalPadding}px 8px;
2778
+ border-bottom: 1px solid var(--vscode-editorWidget-border, #454545);
2779
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, transparent) 82%, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.12)) 18%);
2780
+ contain: content;
2781
+ }
2782
+
2783
+ .ChatDebugViewTimelineTop {
2784
+ display: flex;
2785
+ align-items: center;
2786
+ contain: content;
2787
+ }
2788
+
2789
+ .ChatDebugViewTimelineSummary {
2790
+ display: flex;
2791
+ align-items: center;
2792
+ font-size: 12px;
2793
+ line-height: 16px;
2794
+ opacity: 0.8;
2795
+ contain: content;
2796
+ }
2797
+
2798
+ .ChatDebugViewTimelineControls {
2799
+ display: flex;
2800
+ align-items: center;
2801
+ gap: 8px;
2802
+ flex-wrap: wrap;
2803
+ contain: content;
2804
+ }
2805
+
2806
+ .ChatDebugViewTimelineBuckets {
2807
+ display: flex;
2808
+ align-items: end;
2809
+ gap: 3px;
2810
+ flex: 1 1 auto;
2811
+ min-height: 52px;
2812
+ pointer-events: none;
2813
+ contain: strict;
2814
+ }
2815
+
2816
+ .ChatDebugViewTimelineInteractive {
2817
+ display: flex;
2818
+ position: relative;
2819
+ min-height: 52px;
2820
+ cursor: crosshair;
2821
+ user-select: none;
2822
+ contain: strict;
2823
+ }
2824
+
2825
+ .ChatDebugViewTimelineSelectionOverlay {
2826
+ position: absolute;
2827
+ inset: 0;
2828
+ pointer-events: none;
2829
+ contain: strict;
2830
+ }
2831
+
2832
+ .ChatDebugViewTimelineSelectionRange {
2833
+ position: absolute;
2834
+ top: 0;
2835
+ bottom: 0;
2836
+ background: color-mix(in srgb, var(--vscode-charts-blue, #75beff) 20%, transparent 80%);
2837
+ border-left: 1px solid color-mix(in srgb, var(--vscode-charts-blue, #75beff) 65%, transparent 35%);
2838
+ border-right: 1px solid color-mix(in srgb, var(--vscode-charts-blue, #75beff) 65%, transparent 35%);
2839
+ contain: strict;
2840
+ }
2841
+
2842
+ .ChatDebugViewTimelineSelectionMarker {
2843
+ position: absolute;
2844
+ top: 0;
2845
+ bottom: 0;
2846
+ width: 1px;
2847
+ margin-left: -0.5px;
2848
+ background: var(--vscode-focusBorder, #007fd4);
2849
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--vscode-focusBorder, #007fd4) 24%, transparent 76%);
2850
+ contain: strict;
2851
+ }
2852
+
2853
+ .ChatDebugViewTimelineBucket {
2854
+ --ChatDebugViewTimelineBucketBarBackground: color-mix(in srgb, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.16)) 74%, transparent 26%);
2855
+ --ChatDebugViewTimelineBucketBarBorderColor: transparent;
2856
+ display: flex;
2857
+ align-items: stretch;
2858
+ flex: 1 1 10px;
2859
+ min-width: 10px;
2860
+ min-height: 52px;
2861
+ contain: strict;
2862
+ }
2863
+
2864
+ .ChatDebugViewTimelineBucketSelected {
2865
+ --ChatDebugViewTimelineBucketBarBackground: color-mix(in srgb, var(--vscode-charts-blue, #75beff) 72%, transparent 28%);
2866
+ --ChatDebugViewTimelineBucketBarBorderColor: var(--vscode-focusBorder, #007fd4);
2867
+ }
2868
+
2869
+ .ChatDebugViewTimelinePresetInput {
2870
+ position: absolute;
2871
+ opacity: 0;
2872
+ pointer-events: none;
2873
+ contain: content;
2874
+ }
2875
+
2876
+ .ChatDebugViewTimelineBucketBar {
2877
+ display: flex;
2878
+ flex-direction: column;
2879
+ justify-content: flex-end;
2880
+ gap: 2px;
2881
+ padding: 6px 1px 2px;
2882
+ border: 1px solid transparent;
2883
+ border-radius: 2px;
2884
+ width: 100%;
2885
+ background: var(--ChatDebugViewTimelineBucketBarBackground);
2886
+ border-color: var(--ChatDebugViewTimelineBucketBarBorderColor);
2887
+ contain: strict;
2888
+ }
2889
+
2890
+ .ChatDebugViewTimelineBucketBarSelected {
2891
+ background: color-mix(in srgb, var(--vscode-charts-blue, #75beff) 72%, transparent 28%);
2892
+ border-color: var(--vscode-focusBorder, #007fd4);
2893
+ }
2894
+
2895
+ .ChatDebugViewTimelineBucketUnit {
2896
+ width: 100%;
2897
+ height: 4px;
2898
+ border-radius: 999px;
2899
+ background: var(--vscode-charts-blue, #75beff);
2900
+ contain: strict;
2901
+ }
2902
+
2903
+ .ChatDebugViewTimelineBucketUnitEmpty {
2904
+ opacity: 0.35;
2905
+ background: var(--vscode-editorWidget-border, #454545);
2906
+ }
2907
+
2908
+ .ChatDebugViewTableHeaderRow,
2909
+ .ChatDebugViewEventRow {
2910
+ display: flex;
2911
+ align-items: center;
2912
+ gap: 8px;
2913
+ contain: content;
2914
+ }
2915
+
2916
+ .ChatDebugViewTableHeader {
2917
+ padding: 3px 8px;
2918
+ border-bottom: 1px solid var(--vscode-editorWidget-border, #454545);
2919
+ background: var(--vscode-editorWidget-background, transparent);
2920
+ position: sticky;
2921
+ top: 0;
2922
+ z-index: 1;
2923
+ contain: content;
2924
+ }
2925
+
2926
+ .ChatDebugViewHeaderCell {
2927
+ display: flex;
2928
+ align-items: center;
2929
+ overflow: hidden;
2930
+ text-overflow: ellipsis;
2931
+ white-space: nowrap;
2932
+ min-width: 0;
2933
+ font-size: 11px;
2934
+ letter-spacing: 0.04em;
2935
+ opacity: 0.8;
2936
+ contain: content;
2937
+ }
2938
+
2939
+ .ChatDebugViewTableHeaderRow > .ChatDebugViewHeaderCell:nth-child(1) {
2940
+ flex: 1 1 140px;
2941
+ min-width: 0;
2942
+ }
2943
+
2944
+ .ChatDebugViewTableHeaderRow > .ChatDebugViewHeaderCell:nth-child(2) {
2945
+ flex: 0 0 90px;
2946
+ justify-content: flex-end;
2947
+ }
2948
+
2949
+ .ChatDebugViewTableHeaderRow > .ChatDebugViewHeaderCell:nth-child(3) {
2950
+ flex: 0 0 96px;
2951
+ justify-content: flex-end;
2952
+ }
2953
+
2954
+ .ChatDebugViewTableBody {
2955
+ display: flex;
2956
+ flex-direction: column;
2957
+ overflow: auto;
2958
+ min-height: 0;
2959
+ flex: 1 1 auto;
2960
+ contain: strict;
2961
+ }
2962
+
2963
+ .ChatDebugViewEventRowLabel {
2964
+ display: block;
2965
+ contain: content;
2966
+ }
2967
+
2968
+ .ChatDebugViewEventRowLabelSelected .ChatDebugViewEventRow,
2969
+ .ChatDebugViewEventRowSelected {
2970
+ background: var(--vscode-list-activeSelectionBackground, rgba(14, 99, 156, 0.35));
2971
+ color: var(--vscode-list-activeSelectionForeground, inherit);
2972
+ }
2973
+
2974
+ .ChatDebugViewEventRowInput {
2975
+ position: absolute;
2976
+ opacity: 0;
2977
+ pointer-events: none;
2978
+ contain: content;
2979
+ }
2980
+
2981
+ .ChatDebugViewEventRow {
2982
+ padding: 2px 8px;
2983
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, transparent) 92%, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.31)) 8%);
2984
+ cursor: default;
2985
+ }
2986
+
2987
+ .ChatDebugViewTableBody > .ChatDebugViewEventRow:nth-child(even) {
2988
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, transparent) 84%, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.31)) 16%);
2989
+ }
2990
+
2991
+ .ChatDebugViewEventRow:hover {
2992
+ background: var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.31));
2993
+ color: var(--vscode-list-hoverForeground, inherit);
2994
+ }
2995
+
2996
+ .ChatDebugViewCell {
2997
+ display: flex;
2998
+ align-items: center;
2999
+ overflow: hidden;
3000
+ text-overflow: ellipsis;
3001
+ white-space: nowrap;
3002
+ min-width: 0;
3003
+ pointer-events: none;
3004
+ contain: content;
3005
+ }
3006
+
3007
+ .ChatDebugViewCellType {
3008
+ flex: 1 1 140px;
3009
+ min-width: 0;
3010
+ }
3011
+
3012
+ .ChatDebugViewCellTime {
3013
+ flex: 1 1 180px;
3014
+ min-width: 0;
3015
+ }
3016
+
3017
+ .ChatDebugViewCellDuration {
3018
+ flex: 0 0 90px;
3019
+ justify-content: flex-end;
3020
+ text-align: right;
3021
+ }
3022
+
3023
+ .ChatDebugViewCellStatus {
3024
+ flex: 0 0 64px;
3025
+ justify-content: flex-end;
3026
+ text-align: right;
3027
+ }
3028
+
3029
+ .ChatDebugViewCellStatusError {
3030
+ color: var(--vscode-errorForeground, #f14c4c);
3031
+ }
3032
+
3033
+ .ChatDebugViewDetails {
3034
+ border: 1px solid var(--vscode-editorWidget-border, #454545);
3035
+ border-radius: 6px;
3036
+ overflow: hidden;
3037
+ min-width: 0;
3038
+ min-height: 0;
3039
+ display: flex;
3040
+ flex-direction: column;
3041
+ contain: strict;
3042
+ }
3043
+
3044
+ .ChatDebugViewDetailsTop {
3045
+ display: flex;
3046
+ align-items: stretch;
3047
+ justify-content: flex-start;
3048
+ gap: 8px;
3049
+ padding: 0 8px;
3050
+ border-bottom: 1px solid var(--vscode-editorWidget-border, #454545);
3051
+ background: color-mix(in srgb, var(--vscode-editorWidget-background, transparent) 72%, var(--vscode-list-hoverBackground, rgba(90, 93, 94, 0.18)) 28%);
3052
+ contain: content;
3053
+ }
3054
+
3055
+ .ChatDebugViewDetailsClose {
3056
+ width: 18px;
3057
+ height: 18px;
3058
+ appearance: none;
3059
+ border: none;
3060
+ border-radius: 4px;
3061
+ cursor: pointer;
3062
+ position: relative;
3063
+ color: var(--vscode-foreground, #cccccc);
3064
+ background: transparent;
3065
+ align-self: center;
3066
+ flex: 0 0 auto;
3067
+ contain: strict;
3068
+ }
3069
+
3070
+ .ChatDebugViewDetailsClose:hover {
3071
+ background: var(--vscode-toolbar-hoverBackground, rgba(90, 93, 94, 0.31));
3072
+ }
3073
+
3074
+ .ChatDebugViewDetailsClose::before,
3075
+ .ChatDebugViewDetailsClose::after {
3076
+ content: '';
3077
+ position: absolute;
3078
+ left: 50%;
3079
+ top: 50%;
3080
+ width: 10px;
3081
+ height: 1px;
3082
+ background: currentColor;
3083
+ }
3084
+
3085
+ .ChatDebugViewDetailsClose::before {
3086
+ transform: translate(-50%, -50%) rotate(45deg);
3087
+ }
3088
+
3089
+ .ChatDebugViewDetailsClose::after {
3090
+ transform: translate(-50%, -50%) rotate(-45deg);
3091
+ }
3092
+
3093
+ .ChatDebugViewDetailsBody {
3094
+ display: flex;
3095
+ flex-direction: column;
3096
+ overflow: hidden;
3097
+ padding: 0;
3098
+ flex: 1 1 auto;
3099
+ min-height: 0;
3100
+ align-items: stretch;
3101
+ contain: strict;
3102
+ }
3103
+
3104
+ .ChatDebugViewDetailsTabs {
3105
+ display: flex;
3106
+ align-items: center;
3107
+ flex: 1 1 auto;
3108
+ gap: 2px;
3109
+ min-width: 0;
3110
+ padding: 0;
3111
+ overflow-x: auto;
3112
+ contain: content;
3113
+ }
3114
+
3115
+ .ChatDebugViewDetailsTab {
3116
+ display: flex;
3117
+ align-items: center;
3118
+ justify-content: center;
3119
+ min-height: 32px;
3120
+ padding: 0 10px;
3121
+ appearance: none;
3122
+ background: transparent;
3123
+ border: 0;
3124
+ border-bottom: 2px solid transparent;
3125
+ color: var(--vscode-descriptionForeground, var(--vscode-foreground, #cccccc));
3126
+ cursor: pointer;
3127
+ white-space: nowrap;
3128
+ contain: content;
3129
+ }
3130
+
3131
+ .ChatDebugViewDetailsTab:hover {
3132
+ color: var(--vscode-foreground, #cccccc);
3133
+ }
3134
+
3135
+ .ChatDebugViewDetailsTabSelected {
3136
+ border-bottom-color: var(--vscode-focusBorder, #007fd4);
3137
+ color: var(--vscode-focusBorder, #007fd4);
3138
+ }
3139
+
3140
+ .ChatDebugViewDetailsPanel {
3141
+ display: flex;
3142
+ flex-direction: column;
3143
+ overflow: auto;
3144
+ padding: 8px;
3145
+ flex: 1 1 auto;
3146
+ min-height: 0;
3147
+ align-items: flex-start;
3148
+ contain: strict;
3149
+ }
3150
+
3151
+ .ChatDebugViewEvents::-webkit-scrollbar {
3152
+ width: 10px;
3153
+ height: 10px;
3154
+ }
3155
+
3156
+ .ChatDebugViewEvents::-webkit-scrollbar-track {
3157
+ background: transparent;
3158
+ }
3159
+
3160
+ .ChatDebugViewEvents::-webkit-scrollbar-thumb {
3161
+ background: var(--vscode-scrollbarSlider-background, rgba(121, 121, 121, 0.4));
3162
+ border-radius: 999px;
3163
+ border: 2px solid transparent;
3164
+ background-clip: content-box;
3165
+ }
3166
+
3167
+ .ChatDebugViewEvents::-webkit-scrollbar-thumb:hover {
3168
+ background: var(--vscode-scrollbarSlider-hoverBackground, rgba(100, 100, 100, 0.7));
3169
+ }
3170
+
3171
+ .ChatDebugViewEvents::-webkit-scrollbar-thumb:active {
3172
+ background: var(--vscode-scrollbarSlider-activeBackground, rgba(191, 191, 191, 0.4));
3173
+ }
3174
+
3175
+ .ChatDebugViewEvent {
3176
+ display: flex;
3177
+ flex-direction: column;
3178
+ width: max-content;
3179
+ min-width: 100%;
3180
+ margin: 0;
3181
+ padding: 8px;
3182
+ border: 1px solid var(--vscode-editorWidget-border, #454545);
3183
+ border-radius: 6px;
3184
+ margin-bottom: 8px;
3185
+ white-space: nowrap;
3186
+ font-family: var(--vscode-editor-font-family, monospace);
3187
+ font-size: 12px;
3188
+ user-select: text;
3189
+ contain: content;
3190
+ }
3191
+
3192
+ .row {
3193
+ display: flex;
3194
+ align-items: baseline;
3195
+ gap: 12px;
3196
+ min-width: 100%;
3197
+ width: max-content;
3198
+ white-space: nowrap;
3199
+ contain: strict;
3200
+ height: 20px;
3201
+ }
3202
+
3203
+ .ChatDebugViewEventLineNumber {
3204
+ display: flex;
3205
+ justify-content: flex-end;
3206
+ flex: 0 0 3ch;
3207
+ opacity: 0.6;
3208
+ user-select: none;
3209
+ contain: content;
3210
+ }
3211
+
3212
+ .ChatDebugViewEventLineContent {
3213
+ display: flex;
3214
+ white-space: pre;
3215
+ contain: content;
3216
+ }
3217
+
3218
+ .ChatDebugViewDetailsPanel > .ChatDebugViewEvent {
3219
+ border: 0;
3220
+ border-radius: 0;
3221
+ margin-bottom: 0;
3222
+ }
3223
+
3224
+ .ChatDebugViewTiming {
3225
+ display: flex;
3226
+ flex-direction: column;
3227
+ width: 100%;
3228
+ contain: strict;
3229
+ flex: 1;
3230
+ }
3231
+
3232
+ .ChatDebugViewTimingRow {
3233
+ display: flex;
3234
+ align-items: center;
3235
+ justify-content: space-between;
3236
+ gap: 12px;
3237
+ padding: 8px 10px;
3238
+ border-bottom: 1px solid var(--vscode-editorWidget-border, #454545);
3239
+ contain: content;
3240
+ }
3241
+
3242
+ .ChatDebugViewTimingRow:last-child {
3243
+ border-bottom: 0;
3244
+ }
3245
+
3246
+ .ChatDebugViewTimingLabel {
3247
+ opacity: 0.8;
3248
+ contain: content;
3249
+ }
3250
+
3251
+ .ChatDebugViewTimingValue {
3252
+ text-align: right;
3253
+ font-family: var(--vscode-editor-font-family, monospace);
3254
+ contain: content;
3255
+ }
3256
+
3257
+ .ChatDebugViewEmpty {
3258
+ display: flex;
3259
+ align-items: center;
3260
+ opacity: 0.8;
3261
+ contain: content;
3262
+ }
3263
+
3264
+ .ChatDebugViewError {
3265
+ display: flex;
3266
+ color: var(--vscode-errorForeground, #f14c4c);
3267
+ white-space: normal;
3268
+ contain: content;
3269
+ }
3270
+
3271
+ .TokenText {
3272
+ color: var(--vscode-editor-foreground, inherit);
3273
+ }
3274
+
3275
+ .TokenKey {
3276
+ color: var(--vscode-symbolIcon-propertyForeground, var(--vscode-editor-foreground, inherit));
3277
+ }
3278
+
3279
+ .TokenString {
3280
+ color: var(--vscode-debugTokenExpression-string, var(--vscode-charts-green, #89d185));
3281
+ }
3282
+
3283
+ .TokenNumeric {
3284
+ color: var(--vscode-debugTokenExpression-number, var(--vscode-charts-blue, #75beff));
3285
+ }
3286
+
3287
+ .TokenBoolean {
3288
+ color: var(--vscode-debugTokenExpression-boolean, var(--vscode-charts-yellow, #dcdcaa));
3289
+ }
3290
+
3291
+ .ChatOrderedList{
3292
+ display:flex;
3293
+ flex-direction:column;
3294
+ margin:0;
3295
+ padding:0;
3296
+ padding-left:10px;
3297
+ contain: content;
3298
+ }
3299
+
3300
+ .ChatOrderedListItem{
3301
+ display:flex;
3302
+ margin:0;
3303
+ padding:0;
3304
+ contain: content;
3305
+ }
3306
+
3307
+ .ChatToolCalls{
3308
+ display:flex;
3309
+ flex-direction:column;
3310
+ margin:0;
3311
+ padding:0;
3312
+ contain: content;
3313
+ }
3314
+ `;
3315
+ };
3316
+
3317
+ const renderCss = (oldState, newState) => {
3318
+ const css = getCss(newState);
3319
+ return [SetCss, newState.uid, css];
3320
+ };
3321
+
3322
+ const Button = 1;
3323
+ const Div = 4;
3324
+ const Input = 6;
3325
+ const Span = 8;
3326
+ const Table = 9;
3327
+ const TBody = 10;
3328
+ const Td = 11;
3329
+ const Text = 12;
3330
+ const Th = 13;
3331
+ const THead = 14;
3332
+ const Tr = 15;
3333
+ const Search = 42;
3334
+ const Label = 66;
3335
+ const Reference = 100;
3336
+
3337
+ const text = data => {
3338
+ return {
3339
+ childCount: 0,
3340
+ text: data,
3341
+ type: Text
3342
+ };
3343
+ };
3344
+
3345
+ const SetText = 1;
3346
+ const Replace = 2;
3347
+ const SetAttribute = 3;
3348
+ const RemoveAttribute = 4;
3349
+ const Add = 6;
3350
+ const NavigateChild = 7;
3351
+ const NavigateParent = 8;
3352
+ const RemoveChild = 9;
3353
+ const NavigateSibling = 10;
3354
+ const SetReferenceNodeUid = 11;
3355
+
3356
+ const isKey = key => {
3357
+ return key !== 'type' && key !== 'childCount';
3358
+ };
3359
+
3360
+ const getKeys = node => {
3361
+ const keys = Object.keys(node).filter(isKey);
3362
+ return keys;
3363
+ };
3364
+
3365
+ const arrayToTree = nodes => {
3366
+ const result = [];
3367
+ let i = 0;
3368
+ while (i < nodes.length) {
3369
+ const node = nodes[i];
3370
+ const {
3371
+ children,
3372
+ nodesConsumed
3373
+ } = getChildrenWithCount(nodes, i + 1, node.childCount || 0);
3374
+ result.push({
3375
+ node,
3376
+ children
3377
+ });
3378
+ i += 1 + nodesConsumed;
3379
+ }
3380
+ return result;
3381
+ };
3382
+ const getChildrenWithCount = (nodes, startIndex, childCount) => {
3383
+ if (childCount === 0) {
3384
+ return {
3385
+ children: [],
3386
+ nodesConsumed: 0
3387
+ };
3388
+ }
3389
+ const children = [];
3390
+ let i = startIndex;
3391
+ let remaining = childCount;
3392
+ let totalConsumed = 0;
3393
+ while (remaining > 0 && i < nodes.length) {
3394
+ const node = nodes[i];
3395
+ const nodeChildCount = node.childCount || 0;
3396
+ const {
3397
+ children: nodeChildren,
3398
+ nodesConsumed
3399
+ } = getChildrenWithCount(nodes, i + 1, nodeChildCount);
3400
+ children.push({
3401
+ node,
3402
+ children: nodeChildren
3403
+ });
3404
+ const nodeSize = 1 + nodesConsumed;
3405
+ i += nodeSize;
3406
+ totalConsumed += nodeSize;
3407
+ remaining--;
3408
+ }
3409
+ return {
3410
+ children,
3411
+ nodesConsumed: totalConsumed
3412
+ };
3413
+ };
3414
+
3415
+ const compareNodes = (oldNode, newNode) => {
3416
+ const patches = [];
3417
+ // Check if node type changed - return null to signal incompatible nodes
3418
+ // (caller should handle this with a Replace operation)
3419
+ if (oldNode.type !== newNode.type) {
3420
+ return null;
3421
+ }
3422
+ // Handle reference nodes - special handling for uid changes
3423
+ if (oldNode.type === Reference) {
3424
+ if (oldNode.uid !== newNode.uid) {
3425
+ patches.push({
3426
+ type: SetReferenceNodeUid,
3427
+ uid: newNode.uid
3428
+ });
3429
+ }
3430
+ return patches;
3431
+ }
3432
+ // Handle text nodes
3433
+ if (oldNode.type === Text && newNode.type === Text) {
3434
+ if (oldNode.text !== newNode.text) {
3435
+ patches.push({
3436
+ type: SetText,
3437
+ value: newNode.text
3438
+ });
3439
+ }
3440
+ return patches;
3441
+ }
3442
+ // Compare attributes
3443
+ const oldKeys = getKeys(oldNode);
3444
+ const newKeys = getKeys(newNode);
3445
+ // Check for attribute changes
3446
+ for (const key of newKeys) {
3447
+ if (oldNode[key] !== newNode[key]) {
3448
+ patches.push({
3449
+ type: SetAttribute,
3450
+ key,
3451
+ value: newNode[key]
3452
+ });
3453
+ }
3454
+ }
3455
+ // Check for removed attributes
3456
+ for (const key of oldKeys) {
3457
+ if (!(key in newNode)) {
3458
+ patches.push({
3459
+ type: RemoveAttribute,
3460
+ key
3461
+ });
3462
+ }
3463
+ }
3464
+ return patches;
3465
+ };
3466
+
3467
+ const treeToArray = node => {
3468
+ const result = [node.node];
3469
+ for (const child of node.children) {
3470
+ result.push(...treeToArray(child));
3471
+ }
3472
+ return result;
3473
+ };
3474
+
3475
+ const diffChildren = (oldChildren, newChildren, patches) => {
3476
+ const maxLength = Math.max(oldChildren.length, newChildren.length);
3477
+ // Track where we are: -1 means at parent, >= 0 means at child index
3478
+ let currentChildIndex = -1;
3479
+ // Collect indices of children to remove (we'll add these patches at the end in reverse order)
3480
+ const indicesToRemove = [];
3481
+ for (let i = 0; i < maxLength; i++) {
3482
+ const oldNode = oldChildren[i];
3483
+ const newNode = newChildren[i];
3484
+ if (!oldNode && !newNode) {
3485
+ continue;
3486
+ }
3487
+ if (!oldNode) {
3488
+ // Add new node - we should be at the parent
3489
+ if (currentChildIndex >= 0) {
3490
+ // Navigate back to parent
3491
+ patches.push({
3492
+ type: NavigateParent
3493
+ });
3494
+ currentChildIndex = -1;
3495
+ }
3496
+ // Flatten the entire subtree so renderInternal can handle it
3497
+ const flatNodes = treeToArray(newNode);
3498
+ patches.push({
3499
+ type: Add,
3500
+ nodes: flatNodes
3501
+ });
3502
+ } else if (newNode) {
3503
+ // Compare nodes to see if we need any patches
3504
+ const nodePatches = compareNodes(oldNode.node, newNode.node);
3505
+ // If nodePatches is null, the node types are incompatible - need to replace
3506
+ if (nodePatches === null) {
3507
+ // Navigate to this child
3508
+ if (currentChildIndex === -1) {
3509
+ patches.push({
3510
+ type: NavigateChild,
3511
+ index: i
3512
+ });
3513
+ currentChildIndex = i;
3514
+ } else if (currentChildIndex !== i) {
3515
+ patches.push({
3516
+ type: NavigateSibling,
3517
+ index: i
3518
+ });
3519
+ currentChildIndex = i;
3520
+ }
3521
+ // Replace the entire subtree
3522
+ const flatNodes = treeToArray(newNode);
3523
+ patches.push({
3524
+ type: Replace,
3525
+ nodes: flatNodes
3526
+ });
3527
+ // After replace, we're at the new element (same position)
3528
+ continue;
3529
+ }
3530
+ // Check if we need to recurse into children
3531
+ const hasChildrenToCompare = oldNode.children.length > 0 || newNode.children.length > 0;
3532
+ // Only navigate to this element if we need to do something
3533
+ if (nodePatches.length > 0 || hasChildrenToCompare) {
3534
+ // Navigate to this child if not already there
3535
+ if (currentChildIndex === -1) {
3536
+ patches.push({
3537
+ type: NavigateChild,
3538
+ index: i
3539
+ });
3540
+ currentChildIndex = i;
3541
+ } else if (currentChildIndex !== i) {
3542
+ patches.push({
3543
+ type: NavigateSibling,
3544
+ index: i
3545
+ });
3546
+ currentChildIndex = i;
3547
+ }
3548
+ // Apply node patches (these apply to the current element, not children)
3549
+ if (nodePatches.length > 0) {
3550
+ patches.push(...nodePatches);
3551
+ }
3552
+ // Compare children recursively
3553
+ if (hasChildrenToCompare) {
3554
+ diffChildren(oldNode.children, newNode.children, patches);
3555
+ }
3556
+ }
3557
+ } else {
3558
+ // Remove old node - collect the index for later removal
3559
+ indicesToRemove.push(i);
3560
+ }
3561
+ }
3562
+ // Navigate back to parent if we ended at a child
3563
+ if (currentChildIndex >= 0) {
3564
+ patches.push({
3565
+ type: NavigateParent
3566
+ });
3567
+ currentChildIndex = -1;
3568
+ }
3569
+ // Add remove patches in reverse order (highest index first)
3570
+ // This ensures indices remain valid as we remove
3571
+ for (let j = indicesToRemove.length - 1; j >= 0; j--) {
3572
+ patches.push({
3573
+ type: RemoveChild,
3574
+ index: indicesToRemove[j]
3575
+ });
3576
+ }
3577
+ };
3578
+ const diffTrees = (oldTree, newTree, patches, path) => {
3579
+ // At the root level (path.length === 0), we're already AT the element
3580
+ // So we compare the root node directly, then compare its children
3581
+ if (path.length === 0 && oldTree.length === 1 && newTree.length === 1) {
3582
+ const oldNode = oldTree[0];
3583
+ const newNode = newTree[0];
3584
+ // Compare root nodes
3585
+ const nodePatches = compareNodes(oldNode.node, newNode.node);
3586
+ // If nodePatches is null, the root node types are incompatible - need to replace
3587
+ if (nodePatches === null) {
3588
+ const flatNodes = treeToArray(newNode);
3589
+ patches.push({
3590
+ type: Replace,
3591
+ nodes: flatNodes
3592
+ });
3593
+ return;
3594
+ }
3595
+ if (nodePatches.length > 0) {
3596
+ patches.push(...nodePatches);
3597
+ }
3598
+ // Compare children
3599
+ if (oldNode.children.length > 0 || newNode.children.length > 0) {
3600
+ diffChildren(oldNode.children, newNode.children, patches);
3601
+ }
3602
+ } else {
3603
+ // Non-root level or multiple root elements - use the regular comparison
3604
+ diffChildren(oldTree, newTree, patches);
3605
+ }
3606
+ };
3607
+
3608
+ const removeTrailingNavigationPatches = patches => {
3609
+ // Find the last non-navigation patch
3610
+ let lastNonNavigationIndex = -1;
3611
+ for (let i = patches.length - 1; i >= 0; i--) {
3612
+ const patch = patches[i];
3613
+ if (patch.type !== NavigateChild && patch.type !== NavigateParent && patch.type !== NavigateSibling) {
3614
+ lastNonNavigationIndex = i;
3615
+ break;
3616
+ }
3617
+ }
3618
+ // Return patches up to and including the last non-navigation patch
3619
+ return lastNonNavigationIndex === -1 ? [] : patches.slice(0, lastNonNavigationIndex + 1);
3620
+ };
3621
+
3622
+ const diffTree = (oldNodes, newNodes) => {
3623
+ // Step 1: Convert flat arrays to tree structures
3624
+ const oldTree = arrayToTree(oldNodes);
3625
+ const newTree = arrayToTree(newNodes);
3626
+ // Step 3: Compare the trees
3627
+ const patches = [];
3628
+ diffTrees(oldTree, newTree, patches, []);
3629
+ // Remove trailing navigation patches since they serve no purpose
3630
+ return removeTrailingNavigationPatches(patches);
3631
+ };
3632
+
3633
+ const ChatDebugView = 'ChatDebugView';
3634
+ const ChatDebugViewDevtools = 'ChatDebugView--devtools';
3635
+ const ChatDebugViewDetails = 'ChatDebugViewDetails';
3636
+ const ChatDebugViewDetailsBody = 'ChatDebugViewDetailsBody';
3637
+ const ChatDebugViewDetailsClose = 'ChatDebugViewDetailsClose';
3638
+ const ChatDebugViewDetailsPanel = 'ChatDebugViewDetailsPanel';
3639
+ const ChatDebugViewDetailsTab = 'ChatDebugViewDetailsTab';
3640
+ const ChatDebugViewDetailsTabSelected = 'ChatDebugViewDetailsTabSelected';
3641
+ const ChatDebugViewDetailsTabs = 'ChatDebugViewDetailsTabs';
3642
+ const ChatDebugViewDetailsTop = 'ChatDebugViewDetailsTop';
3643
+ const ChatDebugViewDevtoolsMain = 'ChatDebugViewDevtoolsMain';
3644
+ const ChatDebugViewDevtoolsSplit = 'ChatDebugViewDevtoolsSplit';
3645
+ const ChatDebugViewEmpty = 'ChatDebugViewEmpty';
3646
+ const ChatDebugViewError = 'ChatDebugViewError';
3647
+ const ChatDebugViewEvent = 'ChatDebugViewEvent';
3648
+ const ChatDebugViewEventLineContent = 'ChatDebugViewEventLineContent';
3649
+ const ChatDebugViewEventLineNumber = 'ChatDebugViewEventLineNumber';
3650
+ const ChatDebugViewEventRow = 'ChatDebugViewEventRow';
3651
+ const ChatDebugViewEventRowSelected = 'ChatDebugViewEventRowSelected';
3652
+ const ChatDebugViewEvents = 'ChatDebugViewEvents';
3653
+ const ChatDebugViewEventsFullWidth = 'ChatDebugViewEventsFullWidth';
3654
+ const ChatDebugViewFilterInput = 'ChatDebugViewFilterInput';
3655
+ const ChatDebugViewFilterInputDevtools = 'ChatDebugViewFilterInput--devtools';
3656
+ const ChatDebugViewHeaderCell = 'ChatDebugViewHeaderCell';
3657
+ const ChatDebugViewQuickFilterInput = 'ChatDebugViewQuickFilterInput';
3658
+ const ChatDebugViewQuickFilterPill = 'ChatDebugViewQuickFilterPill';
3659
+ const ChatDebugViewQuickFilterPillSelected = 'ChatDebugViewQuickFilterPillSelected';
3660
+ const ChatDebugViewQuickFilters = 'ChatDebugViewQuickFilters';
3661
+ const ChatDebugViewSash = 'ChatDebugViewSash';
3662
+ const ChatDebugViewSashLine = 'ChatDebugViewSashLine';
3663
+ const ChatDebugViewTable = 'ChatDebugViewTable';
3664
+ const ChatDebugViewTableBody = 'ChatDebugViewTableBody';
3665
+ const ChatDebugViewTableHeader = 'ChatDebugViewTableHeader';
3666
+ const ChatDebugViewTableHeaderRow = 'ChatDebugViewTableHeaderRow';
3667
+ const ChatDebugViewTimeline = 'ChatDebugViewTimeline';
3668
+ const ChatDebugViewTimelineBucket = 'ChatDebugViewTimelineBucket';
3669
+ const ChatDebugViewTimelineBucketBar = 'ChatDebugViewTimelineBucketBar';
3670
+ const ChatDebugViewTimelineBucketBarSelected = 'ChatDebugViewTimelineBucketBarSelected';
3671
+ const ChatDebugViewTimelineBucketSelected = 'ChatDebugViewTimelineBucketSelected';
3672
+ const ChatDebugViewTimelineBucketUnit = 'ChatDebugViewTimelineBucketUnit';
3673
+ const ChatDebugViewTimelineBucketUnitEmpty = 'ChatDebugViewTimelineBucketUnitEmpty';
3674
+ const ChatDebugViewTimelineBuckets = 'ChatDebugViewTimelineBuckets';
3675
+ const ChatDebugViewTimelineInteractive = 'ChatDebugViewTimelineInteractive';
3676
+ const ChatDebugViewTimelinePresetInput = 'ChatDebugViewTimelinePresetInput';
3677
+ const ChatDebugViewTimelineSelectionMarker = 'ChatDebugViewTimelineSelectionMarker';
3678
+ const ChatDebugViewTimelineSelectionMarkerEnd = 'ChatDebugViewTimelineSelectionMarkerEnd';
3679
+ const ChatDebugViewTimelineSelectionMarkerStart = 'ChatDebugViewTimelineSelectionMarkerStart';
3680
+ const ChatDebugViewTimelineSelectionOverlay = 'ChatDebugViewTimelineSelectionOverlay';
3681
+ const ChatDebugViewTimelineSelectionRange = 'ChatDebugViewTimelineSelectionRange';
3682
+ const ChatDebugViewTimelineSummary = 'ChatDebugViewTimelineSummary';
3683
+ const ChatDebugViewTimelineTop = 'ChatDebugViewTimelineTop';
3684
+ const ChatDebugViewTiming = 'ChatDebugViewTiming';
3685
+ const ChatDebugViewTimingLabel = 'ChatDebugViewTimingLabel';
3686
+ const ChatDebugViewTimingRow = 'ChatDebugViewTimingRow';
3687
+ const ChatDebugViewTimingValue = 'ChatDebugViewTimingValue';
3688
+ const ChatDebugViewTop = 'ChatDebugViewTop';
3689
+ const ChatDebugViewTopDevtools = 'ChatDebugViewTop--devtools';
3690
+ const ChatDebugViewCell = 'ChatDebugViewCell';
3691
+ const ChatDebugViewCellDuration = 'ChatDebugViewCellDuration';
3692
+ const ChatDebugViewCellStatus = 'ChatDebugViewCellStatus';
3693
+ const ChatDebugViewCellStatusError = 'ChatDebugViewCellStatusError';
3694
+ const ChatDebugViewCellType = 'ChatDebugViewCellType';
3695
+ const InputBox = 'InputBox';
3696
+ const Row = 'row';
3697
+ const TokenBoolean = 'TokenBoolean';
3698
+ const TokenKey = 'TokenKey';
3699
+ const TokenNumeric = 'TokenNumeric';
3700
+ const TokenString = 'TokenString';
3701
+ const TokenText = 'TokenText';
3702
+ const joinClassNames = (...classNames) => {
3703
+ return classNames.filter(Boolean).join(' ');
3704
+ };
3705
+
3706
+ const getDebugErrorDom = errorMessage => {
3707
+ return [{
3708
+ childCount: 1,
3709
+ className: ChatDebugView,
3710
+ type: Div
3711
+ }, {
3712
+ childCount: 1,
3713
+ className: ChatDebugViewError,
3714
+ type: Div
3715
+ }, text(errorMessage)];
3716
+ };
3717
+
3718
+ const HandleInput = 4;
3719
+ const HandleFilterInput = 5;
3720
+ const HandleSimpleInput = 6;
3721
+ const HandleEventRowClick = 7;
3722
+ const HandleHeaderContextMenu = 8;
3723
+ const HandleSashPointerDown = 9;
3724
+ const HandleSashPointerMove = 10;
3725
+ const HandleSashPointerUp = 11;
3726
+ const HandleTableBodyContextMenu = 12;
3727
+ const HandleDetailsContextMenu = 13;
3728
+ const HandleTimelinePointerDown = 14;
3729
+ const HandleTimelinePointerMove = 15;
3730
+ const HandleTimelinePointerUp = 16;
3731
+ const HandleTimelineDoubleClick = 17;
3732
+ const HandleTableKeyDown = 18;
3733
+
3734
+ const getDebugViewTopDom = (filterValue, useDevtoolsLayout, quickFilterNodes) => {
3735
+ if (useDevtoolsLayout) {
3736
+ return [{
3737
+ childCount: 1 + (quickFilterNodes.length > 0 ? 1 : 0),
3738
+ className: joinClassNames(ChatDebugViewTop, ChatDebugViewTopDevtools),
3739
+ onContextMenu: HandleHeaderContextMenu,
3740
+ type: Search
3741
+ }, {
3742
+ autocomplete: 'off',
3743
+ childCount: 0,
3744
+ className: joinClassNames(InputBox, ChatDebugViewFilterInput, ChatDebugViewFilterInputDevtools),
3745
+ inputType: 'search',
3746
+ name: Filter,
3747
+ onInput: HandleFilterInput,
3748
+ placeholder: 'Filter events',
3749
+ type: Input,
3750
+ value: filterValue
3751
+ }, ...quickFilterNodes];
3752
+ }
3753
+ return [{
3754
+ childCount: 1,
3755
+ className: ChatDebugViewTop,
3756
+ onContextMenu: HandleHeaderContextMenu,
3757
+ type: Search
3758
+ }, {
3759
+ autocomplete: 'off',
3760
+ childCount: 0,
3761
+ className: joinClassNames(InputBox, ChatDebugViewFilterInput),
3762
+ inputType: 'search',
3763
+ name: Filter,
3764
+ onInput: HandleFilterInput,
3765
+ placeholder: 'Filter events',
3766
+ type: Input,
3767
+ value: filterValue
3768
+ }];
3769
+ };
3770
+
3771
+ const getDurationText = event => {
3772
+ const explicitDuration = event.durationMs ?? event.duration;
3773
+ if (typeof explicitDuration === 'number' && Number.isFinite(explicitDuration)) {
3774
+ return `${explicitDuration}ms`;
3775
+ }
3776
+ const start = toTimeNumber(event.started ?? event.startTime ?? event.startTimestamp ?? event.timestamp);
3777
+ const end = toTimeNumber(event.ended ?? event.endTime ?? event.endTimestamp ?? event.timestamp);
3778
+ if (start === undefined || end === undefined || end < start) {
3779
+ return '-';
3780
+ }
3781
+ return `${end - start}ms`;
3782
+ };
3783
+
3784
+ const timestampFormatter = new Intl.DateTimeFormat('en-US', {
3785
+ day: '2-digit',
3786
+ fractionalSecondDigits: 3,
3787
+ hour: '2-digit',
3788
+ hourCycle: 'h23',
3789
+ minute: '2-digit',
3790
+ month: 'short',
3791
+ second: '2-digit',
3792
+ timeZone: 'UTC',
3793
+ year: 'numeric'
3794
+ });
3795
+ const formatTimestamp = date => {
3796
+ return `${timestampFormatter.format(date)} UTC`;
3797
+ };
3798
+
3799
+ const getTimestampText = value => {
3800
+ if (typeof value === 'string') {
3801
+ const timestamp = Date.parse(value);
3802
+ if (!Number.isNaN(timestamp)) {
3803
+ return formatTimestamp(new Date(timestamp));
3804
+ }
3805
+ return value;
3806
+ }
3807
+ if (typeof value === 'number' && Number.isFinite(value)) {
3808
+ return formatTimestamp(new Date(value));
3809
+ }
3810
+ return '-';
3811
+ };
3812
+
3813
+ const getEndText = event => {
3814
+ return getTimestampText(event.ended ?? event.endTime ?? event.endTimestamp ?? event.timestamp);
3815
+ };
3816
+
3817
+ const getStartText = event => {
3818
+ return getTimestampText(event.started ?? event.startTime ?? event.startTimestamp ?? event.timestamp);
3819
+ };
3820
+
3821
+ const getTimingRowDom = (label, value) => {
3822
+ return [{
3823
+ childCount: 2,
3824
+ className: ChatDebugViewTimingRow,
3825
+ type: Div
3826
+ }, {
3827
+ childCount: 1,
3828
+ className: ChatDebugViewTimingLabel,
3829
+ type: Span
3830
+ }, text(label), {
3831
+ childCount: 1,
3832
+ className: ChatDebugViewTimingValue,
3833
+ type: Span
3834
+ }, text(value)];
3835
+ };
3836
+ const getTimingDetailsDom = event => {
3837
+ return [{
3838
+ childCount: 3,
3839
+ className: ChatDebugViewTiming,
3840
+ type: Div
3841
+ }, ...getTimingRowDom('Started', getStartText(event)), ...getTimingRowDom('Ended', getEndText(event)), ...getTimingRowDom('Duration', getDurationText(event))];
3842
+ };
3843
+
3844
+ const getTabId = detailTab => {
3845
+ return `ChatDebugViewDetailsTab-${detailTab}`;
3846
+ };
3847
+ const getPanelId = detailTab => {
3848
+ return `ChatDebugViewDetailsPanel-${detailTab}`;
3849
+ };
3850
+ const getTabNodes = selectedDetailTab => {
3851
+ return detailTabs.flatMap(detailTab => {
3852
+ const isSelected = detailTab === selectedDetailTab;
3853
+ return [{
3854
+ 'aria-controls': getPanelId(detailTab),
3855
+ 'aria-selected': isSelected,
3856
+ childCount: 1,
3857
+ className: joinClassNames(ChatDebugViewDetailsTab, isSelected && ChatDebugViewDetailsTabSelected),
3858
+ id: getTabId(detailTab),
3859
+ name: DetailTab,
3860
+ onChange: HandleSimpleInput,
3861
+ onClick: HandleSimpleInput,
3862
+ role: 'tab',
3863
+ tabIndex: isSelected ? 0 : -1,
3864
+ type: Button,
3865
+ value: detailTab
3866
+ }, text(getDetailTabLabel(detailTab))];
3867
+ });
3868
+ };
3869
+ const getDetailsDom = (previewEventNodes, responseEventNodes = previewEventNodes, selectedEvent = null, selectedDetailTab = Response) => {
3870
+ if (previewEventNodes.length === 0 && responseEventNodes.length === 0) {
3871
+ return [];
3872
+ }
3873
+ const contentNodes = selectedDetailTab === Timing && selectedEvent ? getTimingDetailsDom(selectedEvent) : selectedDetailTab === Preview ? previewEventNodes : responseEventNodes;
3874
+ return [{
3875
+ childCount: 2,
3876
+ className: ChatDebugViewDetails,
3877
+ type: Div
3878
+ }, {
3879
+ childCount: 2,
3880
+ className: ChatDebugViewDetailsTop,
3881
+ type: Div
3882
+ }, {
3883
+ 'aria-label': 'Close details',
3884
+ childCount: 0,
3885
+ className: ChatDebugViewDetailsClose,
3886
+ name: CloseDetails,
3887
+ onChange: HandleSimpleInput,
3888
+ onClick: HandleSimpleInput,
3889
+ type: Button,
3890
+ value: 'close'
3891
+ }, {
3892
+ 'aria-label': 'Detail sections',
3893
+ childCount: detailTabs.length,
3894
+ className: ChatDebugViewDetailsTabs,
3895
+ role: 'tablist',
3896
+ type: Div
3897
+ }, ...getTabNodes(selectedDetailTab), {
3898
+ childCount: 1,
3899
+ className: ChatDebugViewDetailsBody,
3900
+ role: 'document',
3901
+ type: Div
3902
+ }, {
3903
+ 'aria-labelledby': getTabId(selectedDetailTab),
3904
+ childCount: 1,
3905
+ className: ChatDebugViewDetailsPanel,
3906
+ id: getPanelId(selectedDetailTab),
3907
+ onContextMenu: HandleDetailsContextMenu,
3908
+ role: 'tabpanel',
3909
+ type: Div
3910
+ }, ...contentNodes];
3911
+ };
3912
+
3913
+ const toolExecutionTypePrefix = 'tool-execution';
3914
+ const getToolName = event => {
3915
+ if (typeof event.toolName === 'string' && event.toolName) {
3916
+ return event.toolName;
3917
+ }
3918
+ if (typeof event.name === 'string' && event.name) {
3919
+ return event.name;
3920
+ }
3921
+ const {
3922
+ arguments: toolArguments
3923
+ } = event;
3924
+ if (!toolArguments || typeof toolArguments !== 'object') {
3925
+ return undefined;
3926
+ }
3927
+ const {
3928
+ name
3929
+ } = toolArguments;
3930
+ if (typeof name !== 'string' || !name) {
3931
+ return undefined;
3932
+ }
3933
+ return name;
3934
+ };
3935
+ const getEventTypeLabel = event => {
3936
+ if (!event.type.startsWith(toolExecutionTypePrefix)) {
3937
+ return event.type;
3938
+ }
3939
+ const toolName = getToolName(event);
3940
+ if (!toolName) {
3941
+ return event.type;
3942
+ }
3943
+ return `${event.type}, ${toolName}`;
3944
+ };
3945
+
3946
+ const isRecord = value => {
3947
+ return typeof value === 'object' && value !== null;
3948
+ };
3949
+ const isErrorStatusCode = value => {
3950
+ if (typeof value === 'number') {
3951
+ return value >= 400;
3952
+ }
3953
+ if (typeof value === 'string') {
3954
+ const parsedStatus = Number(value);
3955
+ return Number.isFinite(parsedStatus) && parsedStatus >= 400;
3956
+ }
3957
+ return false;
3958
+ };
3959
+ const hasErrorStatus = event => {
3960
+ if (event.type === 'error') {
3961
+ return true;
3962
+ }
3963
+ if (event.success === false || event.ok === false) {
3964
+ return true;
3965
+ }
3966
+ const {
3967
+ status
3968
+ } = event;
3969
+ if (isErrorStatusCode(status)) {
3970
+ return true;
3971
+ }
3972
+ const {
3973
+ result
3974
+ } = event;
3975
+ if (isRecord(result)) {
3976
+ if (isErrorStatusCode(result.status)) {
3977
+ return true;
3978
+ }
3979
+ if (typeof result.error === 'string' || typeof result.errorMessage === 'string' || typeof result.exception === 'string') {
3980
+ return true;
3981
+ }
3982
+ }
3983
+ return typeof event.error === 'string' || typeof event.errorMessage === 'string' || typeof event.exception === 'string';
3984
+ };
3985
+
3986
+ const getStatusText = event => {
3987
+ return hasErrorStatus(event) ? '400' : '200';
3988
+ };
3989
+
3990
+ const getDevtoolsRows = (events, selectedEventIndex) => {
3991
+ return events.flatMap((event, i) => {
3992
+ const isSelected = selectedEventIndex === i;
3993
+ const isErrorStatus = hasErrorStatus(event);
3994
+ const rowIndex = String(i);
3995
+ return [{
3996
+ childCount: 3,
3997
+ className: joinClassNames(ChatDebugViewEventRow, isSelected && ChatDebugViewEventRowSelected),
3998
+ 'data-index': rowIndex,
3999
+ type: Tr
4000
+ }, {
4001
+ childCount: 1,
4002
+ className: joinClassNames(ChatDebugViewCell, ChatDebugViewCellType),
4003
+ type: Td
4004
+ }, text(getEventTypeLabel(event)), {
4005
+ childCount: 1,
4006
+ className: joinClassNames(ChatDebugViewCell, ChatDebugViewCellDuration),
4007
+ type: Td
4008
+ }, text(getDurationText(event)), {
4009
+ childCount: 1,
4010
+ className: joinClassNames(ChatDebugViewCell, ChatDebugViewCellStatus, isErrorStatus && ChatDebugViewCellStatusError),
4011
+ type: Td
4012
+ }, text(getStatusText(event))];
4013
+ });
4014
+ };
4015
+
4016
+ const getEmptyStateDom = emptyMessage => {
4017
+ return [{
4018
+ childCount: 1,
4019
+ className: ChatDebugViewEmpty,
4020
+ type: Div
4021
+ }, text(emptyMessage)];
4022
+ };
4023
+
4024
+ const pushToken = (segments, className, value) => {
4025
+ if (!value) {
4026
+ return segments;
4027
+ }
4028
+ const lastSegment = segments.at(-1);
4029
+ if (lastSegment && lastSegment.className === className) {
4030
+ const merged = {
4031
+ className,
4032
+ value: lastSegment.value + value
4033
+ };
4034
+ return [...segments.slice(0, -1), merged];
4035
+ }
4036
+ return [...segments, {
4037
+ className,
4038
+ value
4039
+ }];
4040
+ };
4041
+
4042
+ const numberRegex = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;
4043
+ const whitespaceRegex = /\s/u;
4044
+ const getTokenSegments = json => {
4045
+ let segments = [];
4046
+ let i = 0;
4047
+ while (i < json.length) {
4048
+ const character = json[i];
4049
+ if (character === '"') {
4050
+ const start = i;
4051
+ i++;
4052
+ while (i < json.length) {
4053
+ const currentCharacter = json[i];
4054
+ if (currentCharacter === '\\') {
4055
+ i += 2;
4056
+ continue;
4057
+ }
4058
+ if (currentCharacter === '"') {
4059
+ i++;
4060
+ break;
4061
+ }
4062
+ i++;
4063
+ }
4064
+ const tokenValue = json.slice(start, i);
4065
+ let lookAheadIndex = i;
4066
+ while (lookAheadIndex < json.length && whitespaceRegex.test(json[lookAheadIndex])) {
4067
+ lookAheadIndex++;
4068
+ }
4069
+ const className = json[lookAheadIndex] === ':' ? TokenKey : TokenString;
4070
+ segments = pushToken(segments, className, tokenValue);
4071
+ continue;
4072
+ }
4073
+ const numberMatch = numberRegex.exec(json.slice(i));
4074
+ if (numberMatch) {
4075
+ segments = pushToken(segments, TokenNumeric, numberMatch[0]);
4076
+ i += numberMatch[0].length;
4077
+ continue;
4078
+ }
4079
+ if (json.startsWith('true', i)) {
4080
+ segments = pushToken(segments, TokenBoolean, 'true');
4081
+ i += 4;
4082
+ continue;
4083
+ }
4084
+ if (json.startsWith('false', i)) {
4085
+ segments = pushToken(segments, TokenBoolean, 'false');
4086
+ i += 5;
4087
+ continue;
4088
+ }
4089
+ if (json.startsWith('null', i)) {
4090
+ segments = pushToken(segments, TokenBoolean, 'null');
4091
+ i += 4;
4092
+ continue;
4093
+ }
4094
+ segments = pushToken(segments, TokenText, character);
4095
+ i++;
4096
+ }
4097
+ return segments;
4098
+ };
4099
+
4100
+ const getJsonLines = value => {
4101
+ const json = JSON.stringify(value, null, 2);
4102
+ if (!json) {
4103
+ return [[{
4104
+ className: TokenText,
4105
+ value: String(json)
4106
+ }]];
4107
+ }
4108
+ const segments = getTokenSegments(json);
4109
+ const lines = [];
4110
+ let currentLine = [];
4111
+ for (const segment of segments) {
4112
+ const parts = segment.value.split('\n');
4113
+ for (let i = 0; i < parts.length; i++) {
4114
+ const part = parts[i];
4115
+ if (part) {
4116
+ currentLine.push({
4117
+ className: segment.className,
4118
+ value: part
4119
+ });
4120
+ }
4121
+ if (i < parts.length - 1) {
4122
+ lines.push(currentLine);
4123
+ currentLine = [];
4124
+ }
4125
+ }
4126
+ }
4127
+ lines.push(currentLine);
4128
+ return lines;
4129
+ };
4130
+ const getLineContentNodes = line => {
4131
+ return line.flatMap(segment => {
4132
+ return [{
4133
+ childCount: 1,
4134
+ className: segment.className,
4135
+ type: Span
4136
+ }, text(segment.value)];
4137
+ });
4138
+ };
4139
+ const getLineNodes = lines => {
4140
+ return lines.flatMap((line, index) => {
4141
+ const lineContentNodes = getLineContentNodes(line);
4142
+ return [{
4143
+ childCount: 2,
4144
+ className: Row,
4145
+ type: Div
4146
+ }, {
4147
+ childCount: 1,
4148
+ className: ChatDebugViewEventLineNumber,
4149
+ type: Span
4150
+ }, text(String(index + 1)), {
4151
+ childCount: lineContentNodes.length / 2,
4152
+ className: ChatDebugViewEventLineContent,
4153
+ type: Span
4154
+ }, ...lineContentNodes];
4155
+ });
4156
+ };
4157
+ const isChatViewEvent = value => {
4158
+ return typeof value === 'object' && value !== null && typeof value.type === 'string';
4159
+ };
4160
+ const getEventNode = value => {
4161
+ const renderedValue = isChatViewEvent(value) ? {
4162
+ ...value,
4163
+ type: getEventTypeLabel(value)
4164
+ } : value;
4165
+ const lines = getJsonLines(renderedValue);
4166
+ const lineNodes = getLineNodes(lines);
4167
+ return [{
4168
+ childCount: lines.length,
4169
+ className: ChatDebugViewEvent,
4170
+ type: Div
4171
+ }, ...lineNodes];
4172
+ };
4173
+
4174
+ const getEventsClassName = hasSelectedEvent => {
4175
+ const widthClassName = joinClassNames(ChatDebugViewEvents, !hasSelectedEvent && ChatDebugViewEventsFullWidth);
4176
+ return widthClassName;
4177
+ };
4178
+
4179
+ const hasOwn = (event, key) => {
4180
+ return Object.hasOwn(event, key);
4181
+ };
4182
+ const getPreviewName = event => {
4183
+ if (typeof event.name === 'string' && event.name) {
4184
+ return event.name;
4185
+ }
4186
+ if (typeof event.toolName === 'string' && event.toolName) {
4187
+ return event.toolName;
4188
+ }
4189
+ return undefined;
4190
+ };
4191
+ const shouldIncludeArguments = (event, name) => {
4192
+ if (!hasOwn(event, 'arguments')) {
4193
+ return false;
4194
+ }
4195
+ if (name === 'getWorkspaceUri') {
4196
+ return false;
4197
+ }
4198
+ return true;
4199
+ };
4200
+ const getPreviewEvent = event => {
4201
+ const name = getPreviewName(event);
4202
+ const previewEvent = {
4203
+ ...(name === undefined ? {} : {
4204
+ name
4205
+ }),
4206
+ ...(shouldIncludeArguments(event, name) ? {
4207
+ arguments: event.arguments
4208
+ } : {}),
4209
+ ...(hasOwn(event, 'result') ? {
4210
+ result: event.result
4211
+ } : {})
4212
+ };
4213
+ if (Object.keys(previewEvent).length > 0) {
4214
+ return previewEvent;
4215
+ }
4216
+ return event;
4217
+ };
4218
+
4219
+ const getSashNodesDom = hasSelectedEvent => {
4220
+ if (!hasSelectedEvent) {
4221
+ return [];
4222
+ }
4223
+ return [{
4224
+ childCount: 1,
4225
+ className: ChatDebugViewSash,
4226
+ onPointerDown: HandleSashPointerDown,
4227
+ type: Div
4228
+ }, {
4229
+ childCount: 0,
4230
+ className: ChatDebugViewSashLine,
4231
+ type: Div
4232
+ }];
4233
+ };
4234
+
4235
+ const getTableBodyDom = (rowNodes, eventCount) => {
4236
+ return [{
4237
+ childCount: eventCount === 0 ? 1 : eventCount,
4238
+ className: ChatDebugViewTableBody,
4239
+ onContextMenu: HandleTableBodyContextMenu,
4240
+ onPointerDown: HandleEventRowClick,
4241
+ type: TBody
4242
+ }, ...rowNodes];
4243
+ };
4244
+
4245
+ const getTableHeaderDom = () => {
4246
+ return [{
4247
+ childCount: 1,
4248
+ className: ChatDebugViewTableHeader,
4249
+ type: THead
4250
+ }, {
4251
+ childCount: 3,
4252
+ className: ChatDebugViewTableHeaderRow,
4253
+ type: Tr
4254
+ }, {
4255
+ childCount: 1,
4256
+ className: ChatDebugViewHeaderCell,
4257
+ scope: 'col',
4258
+ type: Th
4259
+ }, text('Type'), {
4260
+ childCount: 1,
4261
+ className: ChatDebugViewHeaderCell,
4262
+ scope: 'col',
4263
+ type: Th
4264
+ }, text('Duration'), {
4265
+ childCount: 1,
4266
+ className: ChatDebugViewHeaderCell,
4267
+ scope: 'col',
4268
+ type: Th
4269
+ }, text('Status')];
4270
+ };
4271
+
4272
+ const getTableDom = (rowNodes, eventCount) => {
4273
+ return [{
4274
+ childCount: 2,
4275
+ className: ChatDebugViewTable,
4276
+ type: Table
4277
+ }, ...getTableHeaderDom(), ...getTableBodyDom(rowNodes, eventCount)];
4278
+ };
4279
+
4280
+ const formatPercent = value => {
4281
+ return `${Number(value.toFixed(3))}%`;
4282
+ };
4283
+
4284
+ const getBucketUnitDom = unitCount => {
4285
+ if (unitCount === 0) {
4286
+ return [{
4287
+ childCount: 0,
4288
+ className: joinClassNames(ChatDebugViewTimelineBucketUnit, ChatDebugViewTimelineBucketUnitEmpty),
4289
+ type: Div
4290
+ }];
4291
+ }
4292
+ return Array.from({
4293
+ length: unitCount
4294
+ }).fill({
4295
+ childCount: 0,
4296
+ className: ChatDebugViewTimelineBucketUnit,
4297
+ type: Div
4298
+ });
4299
+ };
4300
+
4301
+ const getBucketDom = bucket => {
4302
+ const presetValue = `${formatTimelinePresetValue(bucket.startSeconds)}:${formatTimelinePresetValue(bucket.endSeconds)}`;
4303
+ return [{
4304
+ childCount: 2,
4305
+ className: joinClassNames(ChatDebugViewTimelineBucket, bucket.isSelected && ChatDebugViewTimelineBucketSelected),
4306
+ type: Label
4307
+ }, {
4308
+ checked: false,
4309
+ childCount: 0,
4310
+ className: ChatDebugViewTimelinePresetInput,
4311
+ inputType: 'radio',
4312
+ name: TimelineRangePreset,
4313
+ onChange: HandleSimpleInput,
4314
+ type: Input,
4315
+ value: presetValue
4316
+ }, {
4317
+ childCount: bucket.unitCount === 0 ? 1 : bucket.unitCount,
4318
+ className: joinClassNames(ChatDebugViewTimelineBucketBar, bucket.isSelected && ChatDebugViewTimelineBucketBarSelected),
4319
+ type: Div
4320
+ }, ...getBucketUnitDom(bucket.unitCount)];
4321
+ };
4322
+
4323
+ const getEffectiveTimelineRange = (timelineStartSeconds, timelineEndSeconds, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds) => {
4324
+ if (!timelineSelectionActive) {
4325
+ return {
4326
+ endSeconds: timelineEndSeconds,
4327
+ startSeconds: timelineStartSeconds
4328
+ };
4329
+ }
4330
+ return {
4331
+ endSeconds: timelineSelectionFocusSeconds,
4332
+ startSeconds: timelineSelectionAnchorSeconds
4333
+ };
4334
+ };
4335
+
4336
+ const formatTimelineSeconds = value => {
4337
+ if (Number.isInteger(value)) {
4338
+ return `${value}s`;
4339
+ }
4340
+ return `${Number(value.toFixed(1))}s`;
4341
+ };
4342
+
4343
+ const getTimelineSummary = (timelineEvents, timelineStartSeconds, timelineEndSeconds) => {
4344
+ const timelineInfo = getTimelineInfo(timelineEvents, timelineStartSeconds, timelineEndSeconds);
4345
+ if (timelineInfo.hasSelection && timelineInfo.startSeconds !== null && timelineInfo.endSeconds !== null) {
4346
+ return `Window ${formatTimelineSeconds(timelineInfo.startSeconds)}-${formatTimelineSeconds(timelineInfo.endSeconds)} of ${formatTimelineSeconds(timelineInfo.durationSeconds)}`;
4347
+ }
4348
+ return `Window 0s-${formatTimelineSeconds(timelineInfo.durationSeconds)} of ${formatTimelineSeconds(timelineInfo.durationSeconds)}`;
4349
+ };
4350
+
4351
+ const getTimelineNodes = (timelineEvents, timelineStartSeconds, timelineEndSeconds, timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '') => {
4352
+ const effectiveRange = getEffectiveTimelineRange(timelineStartSeconds, timelineEndSeconds, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds);
4353
+ const timelineInfo = getTimelineInfo(timelineEvents, effectiveRange.startSeconds, effectiveRange.endSeconds);
4354
+ if (timelineInfo.buckets.length === 0) {
4355
+ return [];
4356
+ }
4357
+ const selectionNodes = timelineInfo.hasSelection && timelineInfo.selectionStartPercent !== null && timelineInfo.selectionEndPercent !== null ? [{
4358
+ childCount: 0,
4359
+ className: ChatDebugViewTimelineSelectionRange,
4360
+ style: `left:${formatPercent(timelineInfo.selectionStartPercent)};width:${formatPercent(timelineInfo.selectionEndPercent - timelineInfo.selectionStartPercent)};`,
4361
+ type: Div
4362
+ }, {
4363
+ childCount: 0,
4364
+ className: joinClassNames(ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerStart),
4365
+ style: `left:${formatPercent(timelineInfo.selectionStartPercent)};`,
4366
+ type: Div
4367
+ }, {
4368
+ childCount: 0,
4369
+ className: joinClassNames(ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerEnd),
4370
+ style: `left:${formatPercent(timelineInfo.selectionEndPercent)};`,
4371
+ type: Div
4372
+ }] : [];
4373
+ return [{
4374
+ childCount: 2,
4375
+ className: ChatDebugViewTimeline,
4376
+ type: Div
4377
+ }, {
4378
+ childCount: 1,
4379
+ className: ChatDebugViewTimelineTop,
4380
+ type: Div
4381
+ }, {
4382
+ childCount: 1,
4383
+ className: ChatDebugViewTimelineSummary,
4384
+ type: Div
4385
+ }, text(getTimelineSummary(timelineEvents, effectiveRange.startSeconds, effectiveRange.endSeconds)), {
4386
+ childCount: 2,
4387
+ className: ChatDebugViewTimelineInteractive,
4388
+ onDoubleClick: HandleTimelineDoubleClick,
4389
+ onPointerDown: HandleTimelinePointerDown,
4390
+ type: Div
4391
+ }, {
4392
+ childCount: timelineInfo.buckets.length,
4393
+ className: ChatDebugViewTimelineBuckets,
4394
+ type: Div
4395
+ }, ...timelineInfo.buckets.flatMap(getBucketDom), {
4396
+ childCount: selectionNodes.length,
4397
+ className: ChatDebugViewTimelineSelectionOverlay,
4398
+ type: Div
4399
+ }, ...selectionNodes];
4400
+ };
4401
+
4402
+ const getDevtoolsDom = (events, selectedEvent, selectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage = 'No events have been found', timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', selectedDetailTab = Response) => {
4403
+ const rowNodes = getDevtoolsRows(events, selectedEventIndex);
4404
+ const timelineNodes = getTimelineNodes(timelineEvents, timelineStartSeconds, timelineEndSeconds, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds);
4405
+ const previewEventNodes = selectedEvent ? getEventNode(getPreviewEvent(selectedEvent)) : [];
4406
+ const responseEventNodes = selectedEvent ? getEventNode(selectedEvent) : [];
4407
+ const hasSelectedEvent = responseEventNodes.length > 0;
4408
+ const tableNodes = events.length === 0 ? getEmptyStateDom(emptyMessage) : getTableDom(rowNodes, events.length);
4409
+ const eventsClassName = getEventsClassName(hasSelectedEvent);
4410
+ const detailsNodes = getDetailsDom(previewEventNodes, responseEventNodes, selectedEvent, isDetailTab(selectedDetailTab) ? selectedDetailTab : Response);
4411
+ const sashNodes = getSashNodesDom(hasSelectedEvent);
4412
+ const splitChildCount = hasSelectedEvent ? 3 : 1;
4413
+ const mainChildCount = 1 + (timelineNodes.length > 0 ? 1 : 0);
4414
+ return [{
4415
+ childCount: mainChildCount,
4416
+ className: ChatDebugViewDevtoolsMain,
4417
+ type: Div
4418
+ }, ...timelineNodes, {
4419
+ childCount: splitChildCount,
4420
+ className: ChatDebugViewDevtoolsSplit,
4421
+ type: Div
4422
+ }, {
4423
+ childCount: 1,
4424
+ className: eventsClassName,
4425
+ onKeyDown: HandleTableKeyDown,
4426
+ role: 'application',
4427
+ tabIndex: 0,
4428
+ type: Div
4429
+ }, ...tableNodes, ...sashNodes, ...detailsNodes];
4430
+ };
4431
+
4432
+ const getLegacyEventsDom = (errorMessage, emptyMessage, eventNodes) => {
4433
+ return [{
4434
+ childCount: eventNodes.length === 0 ? 1 : eventNodes.length,
4435
+ className: ChatDebugViewEvents,
4436
+ role: 'application',
4437
+ tabIndex: 0,
4438
+ type: Div
4439
+ }, ...(eventNodes.length === 0 ? [{
4440
+ childCount: 1,
4441
+ className: errorMessage ? ChatDebugViewError : ChatDebugViewEmpty,
4442
+ type: Div
4443
+ }, text(errorMessage || emptyMessage)] : eventNodes)];
4444
+ };
4445
+
4446
+ const getQuickFilterNodes = (eventCategoryFilter, eventCategoryFilterOptions) => {
4447
+ return [{
4448
+ childCount: eventCategoryFilterOptions.length,
4449
+ className: ChatDebugViewQuickFilters,
4450
+ type: Div
4451
+ }, ...eventCategoryFilterOptions.flatMap(option => {
4452
+ const isSelected = option.value === eventCategoryFilter;
4453
+ return [{
4454
+ childCount: 2,
4455
+ className: joinClassNames(ChatDebugViewQuickFilterPill, isSelected && ChatDebugViewQuickFilterPillSelected),
4456
+ type: Label
4457
+ }, {
4458
+ checked: isSelected,
4459
+ childCount: 0,
4460
+ className: ChatDebugViewQuickFilterInput,
4461
+ inputType: 'radio',
4462
+ name: EventCategoryFilter,
4463
+ onChange: HandleInput,
4464
+ type: Input,
4465
+ value: option.value
4466
+ }, text(option.label)];
4467
+ })];
4468
+ };
4469
+
4470
+ const getTimelineFilterDescription = (timelineStartSeconds, timelineEndSeconds) => {
4471
+ const trimmedStart = timelineStartSeconds.trim();
4472
+ const trimmedEnd = timelineEndSeconds.trim();
4473
+ if (trimmedStart && trimmedEnd) {
4474
+ return `${trimmedStart}s-${trimmedEnd}s`;
4475
+ }
4476
+ if (trimmedStart) {
4477
+ return `from ${trimmedStart}s`;
4478
+ }
4479
+ if (trimmedEnd) {
4480
+ return `to ${trimmedEnd}s`;
4481
+ }
4482
+ return '';
4483
+ };
4484
+
4485
+ const getChatDebugViewDom = (errorMessage, filterValue, eventCategoryFilter, eventCategoryFilterOptions, _showEventStreamFinishedEvents, _showInputEvents, _showResponsePartEvents, useDevtoolsLayout, selectedEvent, selectedEventIndex, timelineStartSeconds, timelineEndSeconds, timelineEvents, events, timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', selectedDetailTab = Response) => {
4486
+ if (errorMessage) {
4487
+ return getDebugErrorDom(errorMessage);
4488
+ }
4489
+ const trimmedFilterValue = filterValue.trim();
4490
+ const filterDescriptionParts = [];
4491
+ if (eventCategoryFilter !== All) {
4492
+ filterDescriptionParts.push(getEventCategoryFilterLabel(eventCategoryFilter).toLowerCase());
4493
+ }
4494
+ if (trimmedFilterValue) {
4495
+ filterDescriptionParts.push(trimmedFilterValue);
4496
+ }
4497
+ const timelineFilterDescription = getTimelineFilterDescription(timelineStartSeconds, timelineEndSeconds);
4498
+ if (timelineFilterDescription) {
4499
+ filterDescriptionParts.push(timelineFilterDescription);
4500
+ }
4501
+ const hasFilterValue = filterDescriptionParts.length > 0;
4502
+ const filterDescription = filterDescriptionParts.join(' ');
4503
+ const noFilteredEventsMessage = `no events found matching ${filterDescription}`;
4504
+ const emptyMessage = events.length === 0 && hasFilterValue ? noFilteredEventsMessage : 'No events have been found';
4505
+ const safeSelectedEventIndex = selectedEventIndex === null || selectedEventIndex < 0 || selectedEventIndex >= events.length ? null : selectedEventIndex;
4506
+ const contentNodes = useDevtoolsLayout ? getDevtoolsDom(events, selectedEvent, safeSelectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds, isDetailTab(selectedDetailTab) ? selectedDetailTab : Response) : getLegacyEventsDom(errorMessage, emptyMessage, events.flatMap(getEventNode));
4507
+ const quickFilterNodes = useDevtoolsLayout ? getQuickFilterNodes(eventCategoryFilter, eventCategoryFilterOptions) : [];
4508
+ const debugViewTopDom = getDebugViewTopDom(filterValue, useDevtoolsLayout, quickFilterNodes);
4509
+ const rootChildCount = 2;
4510
+ return [{
4511
+ childCount: rootChildCount,
4512
+ className: joinClassNames(ChatDebugView, useDevtoolsLayout && ChatDebugViewDevtools),
4513
+ type: Div
4514
+ }, ...debugViewTopDom, ...contentNodes];
4515
+ };
4516
+
4517
+ const withSessionEventIds = events => {
4518
+ return events.map((event, index) => {
4519
+ return {
4520
+ ...event,
4521
+ eventId: typeof event.eventId === 'number' ? event.eventId : index + 1
4522
+ };
4523
+ });
4524
+ };
4525
+ const renderItems = (oldState, newState) => {
4526
+ if (newState.initial) {
4527
+ return [SetDom2, newState.uid, []];
4528
+ }
4529
+ const timelineEvents = getTimelineEvents(newState);
4530
+ const filteredEvents = filterEventsByTimelineRange(timelineEvents, newState.timelineStartSeconds, newState.timelineEndSeconds);
4531
+ const dom = getChatDebugViewDom(newState.errorMessage, newState.filterValue, newState.eventCategoryFilter, newState.eventCategoryFilterOptions, newState.showEventStreamFinishedEvents, newState.showInputEvents, newState.showResponsePartEvents, newState.useDevtoolsLayout, newState.selectedEvent, newState.selectedEventIndex, newState.timelineStartSeconds, newState.timelineEndSeconds, withSessionEventIds(timelineEvents), withSessionEventIds(filteredEvents), newState.timelineSelectionActive, newState.timelineSelectionAnchorSeconds, newState.timelineSelectionFocusSeconds, newState.selectedDetailTab);
4532
+ return [SetDom2, newState.uid, dom];
4533
+ };
4534
+
4535
+ const renderIncremental = (oldState, newState) => {
4536
+ const oldDom = renderItems(oldState, oldState)[2];
4537
+ const newDom = renderItems(newState, newState)[2];
4538
+ const patches = diffTree(oldDom, newDom);
4539
+ return [SetPatches, newState.uid, patches];
4540
+ };
4541
+
4542
+ const getRenderer = diffType => {
4543
+ switch (diffType) {
4544
+ case RenderCss:
4545
+ return renderCss;
4546
+ case RenderIncremental:
4547
+ return renderIncremental;
4548
+ case RenderItems:
4549
+ return renderItems;
4550
+ default:
4551
+ throw new Error('unknown renderer');
4552
+ }
4553
+ };
4554
+
4555
+ const applyRender = (oldState, newState, diffResult) => {
4556
+ const commands = [];
4557
+ for (const item of diffResult) {
4558
+ const fn = getRenderer(item);
4559
+ const result = fn(oldState, newState);
4560
+ if (result.length > 0) {
4561
+ commands.push(result);
4562
+ }
4563
+ }
4564
+ return commands;
4565
+ };
4566
+
4567
+ const render2 = (uid, diffResult) => {
4568
+ const {
4569
+ newState,
4570
+ oldState
4571
+ } = get(uid);
4572
+ set(uid, newState, newState);
4573
+ return applyRender(oldState, newState, diffResult);
4574
+ };
4575
+
4576
+ const renderEventListeners = () => {
4577
+ return [{
4578
+ name: HandleEventRowClick,
4579
+ params: ['handleEventRowClick', 'event.target.dataset.index', 'event.button']
4580
+ }, {
4581
+ name: HandleTableBodyContextMenu,
4582
+ params: ['handleTableBodyContextMenu'],
4583
+ preventDefault: true
4584
+ }, {
4585
+ name: HandleFilterInput,
4586
+ params: ['handleInput', TargetName, TargetValue]
4587
+ }, {
4588
+ name: HandleInput,
4589
+ params: ['handleInput', TargetName, TargetValue, TargetChecked]
4590
+ }, {
4591
+ name: HandleSimpleInput,
4592
+ params: ['handleInput', TargetName, TargetValue]
4593
+ }, {
4594
+ name: HandleSashPointerDown,
4595
+ params: ['handleSashPointerDown', ClientX, ClientY],
4596
+ trackPointerEvents: [HandleSashPointerMove, HandleSashPointerUp]
4597
+ }, {
4598
+ name: HandleSashPointerMove,
4599
+ params: ['handleSashPointerMove', ClientX, ClientY]
4600
+ }, {
4601
+ name: HandleSashPointerUp,
4602
+ params: ['handleSashPointerUp', ClientX, ClientY]
4603
+ }, {
4604
+ name: HandleTimelinePointerDown,
4605
+ params: ['handleTimelinePointerDown', ClientX],
4606
+ trackPointerEvents: [HandleTimelinePointerMove, HandleTimelinePointerUp]
4607
+ }, {
4608
+ name: HandleTimelinePointerMove,
4609
+ params: ['handleTimelinePointerMove', ClientX]
4610
+ }, {
4611
+ name: HandleTimelinePointerUp,
4612
+ params: ['handleTimelinePointerUp', ClientX]
4613
+ }, {
4614
+ name: HandleTimelineDoubleClick,
4615
+ params: ['handleTimelineDoubleClick']
4616
+ }];
4617
+ };
4618
+
4619
+ const rerender = state => {
4620
+ return structuredClone(state);
4621
+ };
4622
+
4623
+ const handleResize = (state, dimensions) => {
4624
+ const nextState = {
4625
+ ...state,
4626
+ ...dimensions
4627
+ };
4628
+ return {
4629
+ ...nextState,
4630
+ tableWidth: clampTableWidth(nextState.width, state.tableWidth)
4631
+ };
4632
+ };
4633
+
4634
+ const isResizeDimensions = value => {
4635
+ return typeof value === 'object' && value !== null;
4636
+ };
4637
+ const resize = (state, dimensions) => {
4638
+ if (!isResizeDimensions(dimensions)) {
4639
+ return state;
4640
+ }
4641
+ return handleResize(state, dimensions);
4642
+ };
4643
+
4644
+ const saveState = state => {
4645
+ const {
4646
+ eventCategoryFilter,
4647
+ filterValue,
4648
+ height,
4649
+ selectedEventId,
4650
+ sessionId,
4651
+ tableWidth,
4652
+ timelineEndSeconds,
4653
+ timelineStartSeconds,
4654
+ width,
4655
+ x,
4656
+ y
4657
+ } = state;
4658
+ return {
4659
+ eventCategoryFilter,
4660
+ filterValue,
4661
+ height,
4662
+ selectedEventId,
4663
+ sessionId,
4664
+ tableWidth,
4665
+ timelineEndSeconds,
4666
+ timelineStartSeconds,
4667
+ width,
4668
+ x,
4669
+ y
4670
+ };
4671
+ };
4672
+
4673
+ const setEvents = (state, events) => {
4674
+ return {
4675
+ ...state,
4676
+ errorMessage: '',
4677
+ events,
4678
+ initial: false,
4679
+ selectedEvent: null,
4680
+ selectedEventId: null,
4681
+ selectedEventIndex: null
4682
+ };
4683
+ };
4684
+
4685
+ const setIndexedDbSupportForTest = supported => {
4686
+ return setIndexedDbSupportOverride(supported);
4687
+ };
4688
+
4689
+ const setSessionId = async (state, sessionId) => {
4690
+ const result = await listChatViewEvents(sessionId, state.databaseName, state.dataBaseVersion, state.eventStoreName, state.sessionIdIndexName);
4691
+ if (result.type === 'not-supported') {
4692
+ return {
4693
+ ...state,
4694
+ errorMessage: getIndexedDbNotSupportedMessage(),
4695
+ events: [],
4696
+ initial: false,
4697
+ selectedEvent: null,
4698
+ selectedEventId: null,
4699
+ sessionId
4700
+ };
4701
+ }
4702
+ if (result.type === 'error') {
4703
+ return {
4704
+ ...state,
4705
+ errorMessage: getFailedToLoadMessage(sessionId),
4706
+ events: [],
4707
+ initial: false,
4708
+ selectedEvent: null,
4709
+ selectedEventId: null,
4710
+ sessionId
4711
+ };
4712
+ }
4713
+ const {
4714
+ events
4715
+ } = result;
4716
+ return {
4717
+ ...state,
4718
+ errorMessage: '',
4719
+ events,
4720
+ initial: false,
4721
+ selectedEvent: null,
4722
+ selectedEventId: null,
4723
+ sessionId
4724
+ };
4725
+ };
4726
+
4727
+ const commandMap = {
4728
+ 'ChatDebug.create': create,
4729
+ 'ChatDebug.diff2': diff2,
4730
+ 'ChatDebug.getCommandIds': getCommandIds,
4731
+ 'ChatDebug.handleDetailsContextMenu': wrapCommand(handleDetailsContextMenu),
4732
+ 'ChatDebug.handleEventRowClick': wrapCommand(handleEventRowClick),
4733
+ 'ChatDebug.handleHeaderContextMenu': wrapCommand(handleHeaderContextMenu),
4734
+ 'ChatDebug.handleInput': wrapCommand(handleInput),
4735
+ 'ChatDebug.handleSashPointerDown': wrapCommand(handleSashPointerDown),
4736
+ 'ChatDebug.handleSashPointerMove': wrapCommand(handleSashPointerMove),
4737
+ 'ChatDebug.handleSashPointerUp': wrapCommand(handleSashPointerUp),
4738
+ 'ChatDebug.handleTableBodyContextMenu': wrapCommand(handleTableBodyContextMenu),
4739
+ 'ChatDebug.handleTimelineDoubleClick': wrapCommand(handleTimelineDoubleClick),
4740
+ 'ChatDebug.handleTimelinePointerDown': wrapCommand(handleTimelinePointerDown),
4741
+ 'ChatDebug.handleTimelinePointerMove': wrapCommand(handleTimelinePointerMove),
4742
+ 'ChatDebug.handleTimelinePointerUp': wrapCommand(handleTimelinePointerUp),
4743
+ 'ChatDebug.loadContent': wrapCommand(loadContent),
4744
+ 'ChatDebug.loadContent2': wrapCommand(loadContent),
4745
+ 'ChatDebug.refresh': wrapCommand(refresh),
4746
+ 'ChatDebug.render2': render2,
4747
+ 'ChatDebug.renderEventListeners': renderEventListeners,
4748
+ 'ChatDebug.rerender': wrapCommand(rerender),
4749
+ 'ChatDebug.resize': wrapCommand(resize),
4750
+ 'ChatDebug.saveState': wrapGetter(saveState),
4751
+ 'ChatDebug.setEvents': wrapCommand(setEvents),
4752
+ 'ChatDebug.setIndexedDbSupportForTest': setIndexedDbSupportForTest,
4753
+ 'ChatDebug.setSessionId': wrapCommand(setSessionId),
4754
+ 'ChatDebug.terminate': terminate
4755
+ };
4756
+
4757
+ const listen = async () => {
4758
+ registerCommands(commandMap);
4759
+ await create$2({
4760
+ commandMap: commandMap
4761
+ });
4762
+ };
4763
+
4764
+ const main = async () => {
4765
+ await listen();
4766
+ };
4767
+
4768
+ main();