@lvce-editor/static-server 0.77.7 → 0.77.9

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