@lvce-editor/static-server 0.75.8 → 0.75.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1964) hide show
  1. package/config.json +1986 -1986
  2. package/package.json +1 -1
  3. package/static/{407762e → 3db9eb3}/css/App.css +98 -89
  4. package/static/{407762e → 3db9eb3}/css/parts/ViewletChat.css +7 -1
  5. package/static/{407762e → 3db9eb3}/manifest.json +2 -2
  6. package/static/{407762e → 3db9eb3}/packages/about-view-worker/dist/aboutWorkerMain.js +3 -3
  7. package/static/{407762e → 3db9eb3}/packages/chat-view/dist/chatViewWorkerMain.js +1546 -119
  8. package/static/{407762e → 3db9eb3}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  9. package/static/{407762e → 3db9eb3}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  10. package/static/{407762e → 3db9eb3}/packages/renderer-worker/dist/rendererWorkerMain.js +99 -19
  11. package/static/index.html +4 -4
  12. /package/static/{407762e → 3db9eb3}/config/colorTheme.json +0 -0
  13. /package/static/{407762e → 3db9eb3}/config/defaultSettings.json +0 -0
  14. /package/static/{407762e → 3db9eb3}/config/fileMap.json +0 -0
  15. /package/static/{407762e → 3db9eb3}/config/webExtensions.json +0 -0
  16. /package/static/{407762e → 3db9eb3}/css/parts/AdditionalDetails.css +0 -0
  17. /package/static/{407762e → 3db9eb3}/css/parts/Animation.css +0 -0
  18. /package/static/{407762e → 3db9eb3}/css/parts/BrowserScrollBar.css +0 -0
  19. /package/static/{407762e → 3db9eb3}/css/parts/Category.css +0 -0
  20. /package/static/{407762e → 3db9eb3}/css/parts/DebugButtons.css +0 -0
  21. /package/static/{407762e → 3db9eb3}/css/parts/DebugValue.css +0 -0
  22. /package/static/{407762e → 3db9eb3}/css/parts/E2eTest.css +0 -0
  23. /package/static/{407762e → 3db9eb3}/css/parts/E2eTests.css +0 -0
  24. /package/static/{407762e → 3db9eb3}/css/parts/EditorHover.css +0 -0
  25. /package/static/{407762e → 3db9eb3}/css/parts/EditorMessage.css +0 -0
  26. /package/static/{407762e → 3db9eb3}/css/parts/FeatureContent.css +0 -0
  27. /package/static/{407762e → 3db9eb3}/css/parts/Features.css +0 -0
  28. /package/static/{407762e → 3db9eb3}/css/parts/ImagePreview.css +0 -0
  29. /package/static/{407762e → 3db9eb3}/css/parts/InlineDiffEditor.css +0 -0
  30. /package/static/{407762e → 3db9eb3}/css/parts/InputBadge.css +0 -0
  31. /package/static/{407762e → 3db9eb3}/css/parts/Key.css +0 -0
  32. /package/static/{407762e → 3db9eb3}/css/parts/KeyBindingsHeader.css +0 -0
  33. /package/static/{407762e → 3db9eb3}/css/parts/KeyBindingsTable.css +0 -0
  34. /package/static/{407762e → 3db9eb3}/css/parts/LegacyDialog.css +0 -0
  35. /package/static/{407762e → 3db9eb3}/css/parts/Markdown.css +0 -0
  36. /package/static/{407762e → 3db9eb3}/css/parts/Message.css +0 -0
  37. /package/static/{407762e → 3db9eb3}/css/parts/Preview.css +0 -0
  38. /package/static/{407762e → 3db9eb3}/css/parts/ScrollToTop.css +0 -0
  39. /package/static/{407762e → 3db9eb3}/css/parts/SearchToggleButton.css +0 -0
  40. /package/static/{407762e → 3db9eb3}/css/parts/Select.css +0 -0
  41. /package/static/{407762e → 3db9eb3}/css/parts/SettingsHeader.css +0 -0
  42. /package/static/{407762e → 3db9eb3}/css/parts/SettingsItems.css +0 -0
  43. /package/static/{407762e → 3db9eb3}/css/parts/SettingsSideBar.css +0 -0
  44. /package/static/{407762e → 3db9eb3}/css/parts/Table.css +0 -0
  45. /package/static/{407762e → 3db9eb3}/css/parts/ViewletAbout.css +0 -0
  46. /package/static/{407762e → 3db9eb3}/css/parts/ViewletBrowserViewOverview.css +0 -0
  47. /package/static/{407762e → 3db9eb3}/css/parts/ViewletDebugConsole.css +0 -0
  48. /package/static/{407762e → 3db9eb3}/css/parts/ViewletDefineKeyBinding.css +0 -0
  49. /package/static/{407762e → 3db9eb3}/css/parts/ViewletDialog.css +0 -0
  50. /package/static/{407762e → 3db9eb3}/css/parts/ViewletDiffEditor.css +0 -0
  51. /package/static/{407762e → 3db9eb3}/css/parts/ViewletEditorWidgetError.css +0 -0
  52. /package/static/{407762e → 3db9eb3}/css/parts/ViewletExtensionDetail.css +0 -0
  53. /package/static/{407762e → 3db9eb3}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  54. /package/static/{407762e → 3db9eb3}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  55. /package/static/{407762e → 3db9eb3}/css/parts/ViewletExtensions.css +0 -0
  56. /package/static/{407762e → 3db9eb3}/css/parts/ViewletIframeInspector.css +0 -0
  57. /package/static/{407762e → 3db9eb3}/css/parts/ViewletKeyBindings.css +0 -0
  58. /package/static/{407762e → 3db9eb3}/css/parts/ViewletLanguageModels.css +0 -0
  59. /package/static/{407762e → 3db9eb3}/css/parts/ViewletMedia.css +0 -0
  60. /package/static/{407762e → 3db9eb3}/css/parts/ViewletOutput.css +0 -0
  61. /package/static/{407762e → 3db9eb3}/css/parts/ViewletPanel.css +0 -0
  62. /package/static/{407762e → 3db9eb3}/css/parts/ViewletPanelTabs.css +0 -0
  63. /package/static/{407762e → 3db9eb3}/css/parts/ViewletPdf.css +0 -0
  64. /package/static/{407762e → 3db9eb3}/css/parts/ViewletProblems.css +0 -0
  65. /package/static/{407762e → 3db9eb3}/css/parts/ViewletReferences.css +0 -0
  66. /package/static/{407762e → 3db9eb3}/css/parts/ViewletRunAndDebug.css +0 -0
  67. /package/static/{407762e → 3db9eb3}/css/parts/ViewletScreenCapture.css +0 -0
  68. /package/static/{407762e → 3db9eb3}/css/parts/ViewletSearch.css +0 -0
  69. /package/static/{407762e → 3db9eb3}/css/parts/ViewletSettings.css +0 -0
  70. /package/static/{407762e → 3db9eb3}/css/parts/ViewletSimpleBrowser.css +0 -0
  71. /package/static/{407762e → 3db9eb3}/css/parts/ViewletSourceControl.css +0 -0
  72. /package/static/{407762e → 3db9eb3}/css/parts/ViewletStorage.css +0 -0
  73. /package/static/{407762e → 3db9eb3}/css/parts/ViewletTerminal.css +0 -0
  74. /package/static/{407762e → 3db9eb3}/css/parts/ViewletTerminalTabs.css +0 -0
  75. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-bat/README.md +0 -0
  76. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-bat/extension.json +0 -0
  77. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  78. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  79. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-c/README.md +0 -0
  80. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-c/extension.json +0 -0
  81. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  82. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  83. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  84. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  85. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cpp/README.md +0 -0
  86. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  87. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  88. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  89. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cson/README.md +0 -0
  90. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cson/extension.json +0 -0
  91. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  92. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  93. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-css/README.md +0 -0
  94. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-css/extension.json +0 -0
  95. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  96. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  97. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dart/README.md +0 -0
  98. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dart/extension.json +0 -0
  99. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  100. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-desktop/README.md +0 -0
  101. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  102. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  103. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-docker/README.md +0 -0
  104. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-docker/extension.json +0 -0
  105. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  106. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  107. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  108. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  109. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  110. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  111. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  112. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elixir/README.md +0 -0
  113. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  114. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  115. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elm/README.md +0 -0
  116. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elm/extension.json +0 -0
  117. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  118. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  119. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  120. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  121. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gn/README.md +0 -0
  122. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gn/extension.json +0 -0
  123. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  124. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-go/README.md +0 -0
  125. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-go/extension.json +0 -0
  126. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  127. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-graphql/README.md +0 -0
  128. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  129. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  130. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-html/README.md +0 -0
  131. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-html/extension.json +0 -0
  132. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  133. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  134. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-java/README.md +0 -0
  135. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-java/extension.json +0 -0
  136. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  137. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  138. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-javascript/README.md +0 -0
  139. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  140. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  141. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  142. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json/README.md +0 -0
  143. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json/extension.json +0 -0
  144. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  145. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json5/README.md +0 -0
  146. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json5/extension.json +0 -0
  147. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  148. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-jsx/README.md +0 -0
  149. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  150. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  151. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-julia/README.md +0 -0
  152. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-julia/extension.json +0 -0
  153. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  154. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  155. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  156. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  157. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-less/LICENSE +0 -0
  158. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-less/README.md +0 -0
  159. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-less/extension.json +0 -0
  160. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  161. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  162. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-markdown/README.md +0 -0
  163. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  164. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  165. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-mdx/README.md +0 -0
  166. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  167. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  168. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nix/README.md +0 -0
  169. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nix/extension.json +0 -0
  170. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  171. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  172. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  173. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  174. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  175. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-perl/README.md +0 -0
  176. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-perl/extension.json +0 -0
  177. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  178. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  179. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  180. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  181. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-powershell/README.md +0 -0
  182. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  183. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  184. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-python/README.md +0 -0
  185. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-python/extension.json +0 -0
  186. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  187. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  188. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-r/README.md +0 -0
  189. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-r/extension.json +0 -0
  190. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  191. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-ruby/README.md +0 -0
  192. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  193. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  194. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  195. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-rust/README.md +0 -0
  196. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-rust/extension.json +0 -0
  197. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  198. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  199. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-scss/README.md +0 -0
  200. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-scss/extension.json +0 -0
  201. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  202. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  203. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  204. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  205. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  206. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-svelte/README.md +0 -0
  207. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  208. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  209. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-terraform/README.md +0 -0
  210. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  211. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  212. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-toml/README.md +0 -0
  213. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-toml/extension.json +0 -0
  214. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  215. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-typescript/README.md +0 -0
  216. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  217. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-typescript/languageConfiguration.json +0 -0
  218. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  219. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-vue/README.md +0 -0
  220. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-vue/extension.json +0 -0
  221. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  222. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  223. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  224. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  225. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  226. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-xml/README.md +0 -0
  227. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-xml/extension.json +0 -0
  228. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  229. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-yaml/README.md +0 -0
  230. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  231. /package/static/{407762e → 3db9eb3}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  232. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  233. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  234. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  235. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  236. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-ayu/README.md +0 -0
  237. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  238. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-ayu/extension.json +0 -0
  239. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-ayu/images/demo.png +0 -0
  240. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-cobalt2/README.md +0 -0
  241. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  242. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  243. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  244. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  245. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-gruvbox/README.md +0 -0
  246. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  247. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  248. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-gruvbox/images/demo.png +0 -0
  249. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-high-contrast/README.md +0 -0
  250. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  251. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  252. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-material/README.md +0 -0
  253. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-material/color-theme.json +0 -0
  254. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-material/extension.json +0 -0
  255. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-monokai/README.md +0 -0
  256. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  257. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-monokai/extension.json +0 -0
  258. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  259. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  260. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  261. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  262. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-palenight/README.md +0 -0
  263. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  264. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-palenight/extension.json +0 -0
  265. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  266. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-slime/README.md +0 -0
  267. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-slime/color-theme.json +0 -0
  268. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-slime/extension.json +0 -0
  269. /package/static/{407762e → 3db9eb3}/extensions/builtin.theme-slime/icon.png +0 -0
  270. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/README.md +0 -0
  271. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/extension.json +0 -0
  272. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  273. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icon.png +0 -0
  274. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/default_file.svg +0 -0
  275. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/default_folder.svg +0 -0
  276. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/default_folder_opened.svg +0 -0
  277. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/default_root_folder.svg +0 -0
  278. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/default_root_folder_opened.svg +0 -0
  279. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_access.svg +0 -0
  280. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_access2.svg +0 -0
  281. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_actionscript.svg +0 -0
  282. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_actionscript2.svg +0 -0
  283. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ada.svg +0 -0
  284. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_advpl.svg +0 -0
  285. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_affectscript.svg +0 -0
  286. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_affinity.svg +0 -0
  287. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_affinitydesigner.svg +0 -0
  288. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_affinityphoto.svg +0 -0
  289. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_affinitypublisher.svg +0 -0
  290. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_agda.svg +0 -0
  291. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_agents.svg +0 -0
  292. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ai.svg +0 -0
  293. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ai2.svg +0 -0
  294. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_al.svg +0 -0
  295. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_al_dal.svg +0 -0
  296. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_alchemy.svg +0 -0
  297. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_allcontributors.svg +0 -0
  298. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_alloy.svg +0 -0
  299. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_allure.svg +0 -0
  300. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_angular.svg +0 -0
  301. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ansible.svg +0 -0
  302. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_antlers_html.svg +0 -0
  303. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_antlr.svg +0 -0
  304. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_anyscript.svg +0 -0
  305. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_apache.svg +0 -0
  306. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_apex.svg +0 -0
  307. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_api_extractor.svg +0 -0
  308. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_apib.svg +0 -0
  309. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_apib2.svg +0 -0
  310. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_apl.svg +0 -0
  311. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_applescript.svg +0 -0
  312. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_appscript.svg +0 -0
  313. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_appsemble.svg +0 -0
  314. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_appveyor.svg +0 -0
  315. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_arduino.svg +0 -0
  316. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_asciidoc.svg +0 -0
  317. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_aseprite.svg +0 -0
  318. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_asp.svg +0 -0
  319. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_aspx.svg +0 -0
  320. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_assembly.svg +0 -0
  321. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_assembly_script.svg +0 -0
  322. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_astro.svg +0 -0
  323. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_astroconfig.svg +0 -0
  324. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_atom.svg +0 -0
  325. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ats.svg +0 -0
  326. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_attw.svg +0 -0
  327. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_audio.svg +0 -0
  328. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_aurelia.svg +0 -0
  329. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_autohotkey.svg +0 -0
  330. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_autoit.svg +0 -0
  331. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_avif.svg +0 -0
  332. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_avro.svg +0 -0
  333. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_awk.svg +0 -0
  334. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_aws.svg +0 -0
  335. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_azure.svg +0 -0
  336. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_azurepipelines.svg +0 -0
  337. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_babel.svg +0 -0
  338. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_babel2.svg +0 -0
  339. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bak.svg +0 -0
  340. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ballerina.svg +0 -0
  341. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bat.svg +0 -0
  342. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bats.svg +0 -0
  343. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bazaar.svg +0 -0
  344. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bazel.svg +0 -0
  345. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bazel_ignore.svg +0 -0
  346. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bazel_version.svg +0 -0
  347. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_befunge.svg +0 -0
  348. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bicep.svg +0 -0
  349. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_biml.svg +0 -0
  350. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_binary.svg +0 -0
  351. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_biome.svg +0 -0
  352. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bitbucketpipeline.svg +0 -0
  353. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bithound.svg +0 -0
  354. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_blade.svg +0 -0
  355. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_blender.svg +0 -0
  356. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_blitzbasic.svg +0 -0
  357. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bolt.svg +0 -0
  358. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bosque.svg +0 -0
  359. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bower.svg +0 -0
  360. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bower2.svg +0 -0
  361. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_browserslist.svg +0 -0
  362. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bruno.svg +0 -0
  363. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_buckbuild.svg +0 -0
  364. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_buf.svg +0 -0
  365. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bun.svg +0 -0
  366. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bundlemon.svg +0 -0
  367. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bundler.svg +0 -0
  368. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_bunfig.svg +0 -0
  369. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_c.svg +0 -0
  370. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_c2.svg +0 -0
  371. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_c3.svg +0 -0
  372. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_c_al.svg +0 -0
  373. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cabal.svg +0 -0
  374. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_caddy.svg +0 -0
  375. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cake.svg +0 -0
  376. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cakephp.svg +0 -0
  377. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_capacitor.svg +0 -0
  378. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_capnp.svg +0 -0
  379. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cargo.svg +0 -0
  380. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_casc.svg +0 -0
  381. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cddl.svg +0 -0
  382. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cert.svg +0 -0
  383. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ceylon.svg +0 -0
  384. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cf.svg +0 -0
  385. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cf2.svg +0 -0
  386. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cfc.svg +0 -0
  387. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cfc2.svg +0 -0
  388. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cfm.svg +0 -0
  389. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cfm2.svg +0 -0
  390. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_changie.svg +0 -0
  391. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cheader.svg +0 -0
  392. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_chef.svg +0 -0
  393. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_chef_cookbook.svg +0 -0
  394. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_circleci.svg +0 -0
  395. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_circom.svg +0 -0
  396. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_class.svg +0 -0
  397. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_claude.svg +0 -0
  398. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_clojure.svg +0 -0
  399. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_clojurescript.svg +0 -0
  400. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cloudflare.svg +0 -0
  401. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cloudfoundry.svg +0 -0
  402. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cmake.svg +0 -0
  403. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cobol.svg +0 -0
  404. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codacy.svg +0 -0
  405. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codeclimate.svg +0 -0
  406. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codecov.svg +0 -0
  407. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codekit.svg +0 -0
  408. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codemagic.svg +0 -0
  409. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codeowners.svg +0 -0
  410. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_codeql.svg +0 -0
  411. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_coderabbit.svg +0 -0
  412. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_coffeelint.svg +0 -0
  413. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_coffeescript.svg +0 -0
  414. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_commitizen.svg +0 -0
  415. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_commitlint.svg +0 -0
  416. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_compass.svg +0 -0
  417. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_composer.svg +0 -0
  418. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_conan.svg +0 -0
  419. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_conda.svg +0 -0
  420. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_config.svg +0 -0
  421. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_confluence.svg +0 -0
  422. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_copilot.svg +0 -0
  423. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_coverage.svg +0 -0
  424. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_coveralls.svg +0 -0
  425. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cpp.svg +0 -0
  426. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cpp2.svg +0 -0
  427. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cpp3.svg +0 -0
  428. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cppheader.svg +0 -0
  429. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_craco.svg +0 -0
  430. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_crowdin.svg +0 -0
  431. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_crystal.svg +0 -0
  432. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_csharp.svg +0 -0
  433. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_csharp2.svg +0 -0
  434. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cspell.svg +0 -0
  435. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_csproj.svg +0 -0
  436. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_css.svg +0 -0
  437. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_css2.svg +0 -0
  438. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_css2map.svg +0 -0
  439. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_csscomb.svg +0 -0
  440. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_csslint.svg +0 -0
  441. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cssmap.svg +0 -0
  442. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cucumber.svg +0 -0
  443. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cuda.svg +0 -0
  444. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cursorrules.svg +0 -0
  445. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cvs.svg +0 -0
  446. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cypress.svg +0 -0
  447. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cypress_spec.svg +0 -0
  448. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_cython.svg +0 -0
  449. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dal.svg +0 -0
  450. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_darcs.svg +0 -0
  451. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dartlang.svg +0 -0
  452. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dartlang_generated.svg +0 -0
  453. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dartlang_ignore.svg +0 -0
  454. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +0 -0
  455. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_db.svg +0 -0
  456. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_debian.svg +0 -0
  457. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_delphi.svg +0 -0
  458. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_deno.svg +0 -0
  459. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_denoify.svg +0 -0
  460. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dependabot.svg +0 -0
  461. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dependencies.svg +0 -0
  462. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_design_tokens.svg +0 -0
  463. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_devcontainer.svg +0 -0
  464. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_devvit.svg +0 -0
  465. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dhall.svg +0 -0
  466. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_diff.svg +0 -0
  467. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_django.svg +0 -0
  468. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dlang.svg +0 -0
  469. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_docker.svg +0 -0
  470. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_docker2.svg +0 -0
  471. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dockertest.svg +0 -0
  472. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dockertest2.svg +0 -0
  473. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_docpad.svg +0 -0
  474. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_docusaurus.svg +0 -0
  475. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_docz.svg +0 -0
  476. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dojo.svg +0 -0
  477. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_doppler.svg +0 -0
  478. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dotenv.svg +0 -0
  479. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dotjs.svg +0 -0
  480. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_doxygen.svg +0 -0
  481. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_drawio.svg +0 -0
  482. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_drone.svg +0 -0
  483. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_drools.svg +0 -0
  484. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dtd.svg +0 -0
  485. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dune.svg +0 -0
  486. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dustjs.svg +0 -0
  487. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dvc.svg +0 -0
  488. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_dylan.svg +0 -0
  489. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_earthly.svg +0 -0
  490. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eas-metadata.svg +0 -0
  491. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_edge.svg +0 -0
  492. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_edge2.svg +0 -0
  493. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_editorconfig.svg +0 -0
  494. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eex.svg +0 -0
  495. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ejs.svg +0 -0
  496. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_elastic.svg +0 -0
  497. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_elasticbeanstalk.svg +0 -0
  498. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_electron.svg +0 -0
  499. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eleventy.svg +0 -0
  500. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eleventy2.svg +0 -0
  501. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_elixir.svg +0 -0
  502. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_elm.svg +0 -0
  503. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_elm2.svg +0 -0
  504. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_emacs.svg +0 -0
  505. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ember.svg +0 -0
  506. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ensime.svg +0 -0
  507. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eps.svg +0 -0
  508. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_epub.svg +0 -0
  509. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_erb.svg +0 -0
  510. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_erlang.svg +0 -0
  511. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_erlang2.svg +0 -0
  512. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_esbuild.svg +0 -0
  513. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eslint.svg +0 -0
  514. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_eslint2.svg +0 -0
  515. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +0 -0
  516. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_excalidraw.svg +0 -0
  517. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_excel.svg +0 -0
  518. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_excel2.svg +0 -0
  519. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_expo.svg +0 -0
  520. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_falcon.svg +0 -0
  521. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fantasticon.svg +0 -0
  522. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fastly.svg +0 -0
  523. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fauna.svg +0 -0
  524. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_favicon.svg +0 -0
  525. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fbx.svg +0 -0
  526. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_firebase.svg +0 -0
  527. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_firebasehosting.svg +0 -0
  528. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_firebasestorage.svg +0 -0
  529. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_firestore.svg +0 -0
  530. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fitbit.svg +0 -0
  531. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fla.svg +0 -0
  532. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flareact.svg +0 -0
  533. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flash.svg +0 -0
  534. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_floobits.svg +0 -0
  535. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flow.svg +0 -0
  536. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flutter.svg +0 -0
  537. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flutter_package.svg +0 -0
  538. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_flyio.svg +0 -0
  539. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_font.svg +0 -0
  540. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_formkit.svg +0 -0
  541. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fortran.svg +0 -0
  542. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fossa.svg +0 -0
  543. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fossil.svg +0 -0
  544. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_freemarker.svg +0 -0
  545. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_frontcommerce.svg +0 -0
  546. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fsharp.svg +0 -0
  547. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fsharp2.svg +0 -0
  548. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fsproj.svg +0 -0
  549. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fthtml.svg +0 -0
  550. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_funding.svg +0 -0
  551. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_fusebox.svg +0 -0
  552. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_galen.svg +0 -0
  553. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_galen2.svg +0 -0
  554. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gamemaker.svg +0 -0
  555. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gamemaker2.svg +0 -0
  556. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gamemaker81.svg +0 -0
  557. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gatsby.svg +0 -0
  558. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gcloud.svg +0 -0
  559. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gcode.svg +0 -0
  560. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gdscript.svg +0 -0
  561. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gduid.svg +0 -0
  562. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gemini.svg +0 -0
  563. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_genstat.svg +0 -0
  564. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_geojson.svg +0 -0
  565. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gimp.svg +0 -0
  566. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_git.svg +0 -0
  567. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_git2.svg +0 -0
  568. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gitlab.svg +0 -0
  569. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gitpod.svg +0 -0
  570. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gleam.svg +0 -0
  571. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gleamconfig.svg +0 -0
  572. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_glide.svg +0 -0
  573. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_glimmer.svg +0 -0
  574. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_glitter.svg +0 -0
  575. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_glsl.svg +0 -0
  576. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gltf.svg +0 -0
  577. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_glyphs.svg +0 -0
  578. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gnu.svg +0 -0
  579. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gnuplot.svg +0 -0
  580. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go.svg +0 -0
  581. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_aqua.svg +0 -0
  582. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_black.svg +0 -0
  583. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_fuchsia.svg +0 -0
  584. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_gopher.svg +0 -0
  585. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_lightblue.svg +0 -0
  586. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_package.svg +0 -0
  587. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_white.svg +0 -0
  588. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_work.svg +0 -0
  589. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_go_yellow.svg +0 -0
  590. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_goctl.svg +0 -0
  591. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_godot.svg +0 -0
  592. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gpg.svg +0 -0
  593. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gradle.svg +0 -0
  594. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gradle2.svg +0 -0
  595. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_grain.svg +0 -0
  596. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_graphql.svg +0 -0
  597. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_graphql_config.svg +0 -0
  598. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_graphviz.svg +0 -0
  599. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_greenkeeper.svg +0 -0
  600. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gridsome.svg +0 -0
  601. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_grit.svg +0 -0
  602. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_groovy.svg +0 -0
  603. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_groovy2.svg +0 -0
  604. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_grunt.svg +0 -0
  605. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_gulp.svg +0 -0
  606. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haml.svg +0 -0
  607. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_handlebars.svg +0 -0
  608. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_handlebars2.svg +0 -0
  609. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_harbour.svg +0 -0
  610. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hardhat.svg +0 -0
  611. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hashicorp.svg +0 -0
  612. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haskell.svg +0 -0
  613. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haskell2.svg +0 -0
  614. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haxe.svg +0 -0
  615. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haxecheckstyle.svg +0 -0
  616. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_haxedevelop.svg +0 -0
  617. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_helix.svg +0 -0
  618. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_helm.svg +0 -0
  619. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_histoire.svg +0 -0
  620. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hjson.svg +0 -0
  621. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hlsl.svg +0 -0
  622. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_homeassistant.svg +0 -0
  623. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_horusec.svg +0 -0
  624. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_host.svg +0 -0
  625. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_html.svg +0 -0
  626. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_htmlhint.svg +0 -0
  627. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_htmlvalidate.svg +0 -0
  628. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_http.svg +0 -0
  629. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hugo.svg +0 -0
  630. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_humanstxt.svg +0 -0
  631. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hunspell.svg +0 -0
  632. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_husky.svg +0 -0
  633. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hy.svg +0 -0
  634. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hygen.svg +0 -0
  635. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_hypr.svg +0 -0
  636. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_icl.svg +0 -0
  637. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_idris.svg +0 -0
  638. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_idrisbin.svg +0 -0
  639. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_idrispkg.svg +0 -0
  640. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_image.svg +0 -0
  641. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_imba.svg +0 -0
  642. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_inc.svg +0 -0
  643. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_infopath.svg +0 -0
  644. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_informix.svg +0 -0
  645. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ini.svg +0 -0
  646. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ink.svg +0 -0
  647. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_innosetup.svg +0 -0
  648. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_io.svg +0 -0
  649. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_iodine.svg +0 -0
  650. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ionic.svg +0 -0
  651. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jake.svg +0 -0
  652. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_janet.svg +0 -0
  653. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jar.svg +0 -0
  654. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jasmine.svg +0 -0
  655. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_java.svg +0 -0
  656. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jbuilder.svg +0 -0
  657. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jekyll.svg +0 -0
  658. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jenkins.svg +0 -0
  659. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jest.svg +0 -0
  660. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jest_snapshot.svg +0 -0
  661. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jetbrains.svg +0 -0
  662. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jinja.svg +0 -0
  663. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jpm.svg +0 -0
  664. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_js.svg +0 -0
  665. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_js_official.svg +0 -0
  666. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsbeautify.svg +0 -0
  667. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsconfig.svg +0 -0
  668. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jscpd.svg +0 -0
  669. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jshint.svg +0 -0
  670. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsmap.svg +0 -0
  671. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_json.svg +0 -0
  672. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_json2.svg +0 -0
  673. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_json5.svg +0 -0
  674. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_json_official.svg +0 -0
  675. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_json_schema.svg +0 -0
  676. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsonld.svg +0 -0
  677. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsonnet.svg +0 -0
  678. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsp.svg +0 -0
  679. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jsr.svg +0 -0
  680. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jss.svg +0 -0
  681. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_juice.svg +0 -0
  682. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_julia.svg +0 -0
  683. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_julia2.svg +0 -0
  684. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_jupyter.svg +0 -0
  685. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_just.svg +0 -0
  686. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_k.svg +0 -0
  687. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_karma.svg +0 -0
  688. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_key.svg +0 -0
  689. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kitchenci.svg +0 -0
  690. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kite.svg +0 -0
  691. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kivy.svg +0 -0
  692. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_knip.svg +0 -0
  693. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kos.svg +0 -0
  694. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kotlin.svg +0 -0
  695. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_kusto.svg +0 -0
  696. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_language_configuration.svg +0 -0
  697. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lark.svg +0 -0
  698. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_latino.svg +0 -0
  699. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_layout.svg +0 -0
  700. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lean.svg +0 -0
  701. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_leanconfig.svg +0 -0
  702. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lefthook.svg +0 -0
  703. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lerna.svg +0 -0
  704. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_less.svg +0 -0
  705. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lex.svg +0 -0
  706. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_liara.svg +0 -0
  707. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_base.svg +0 -0
  708. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_calc.svg +0 -0
  709. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_draw.svg +0 -0
  710. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_impress.svg +0 -0
  711. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_math.svg +0 -0
  712. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_writer.svg +0 -0
  713. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_license.svg +0 -0
  714. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_licensebat.svg +0 -0
  715. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_actionscript2.svg +0 -0
  716. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_ada.svg +0 -0
  717. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_agda.svg +0 -0
  718. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_agents.svg +0 -0
  719. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_apl.svg +0 -0
  720. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_astro.svg +0 -0
  721. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_astroconfig.svg +0 -0
  722. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_babel.svg +0 -0
  723. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_babel2.svg +0 -0
  724. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_cabal.svg +0 -0
  725. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_circleci.svg +0 -0
  726. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_cloudfoundry.svg +0 -0
  727. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_codacy.svg +0 -0
  728. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_codeclimate.svg +0 -0
  729. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_codeowners.svg +0 -0
  730. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_config.svg +0 -0
  731. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_copilot.svg +0 -0
  732. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_crystal.svg +0 -0
  733. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_cypress.svg +0 -0
  734. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_cypress_spec.svg +0 -0
  735. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_db.svg +0 -0
  736. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_deno.svg +0 -0
  737. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_dhall.svg +0 -0
  738. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_docpad.svg +0 -0
  739. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_drone.svg +0 -0
  740. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_eas-metadata.svg +0 -0
  741. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy.svg +0 -0
  742. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy2.svg +0 -0
  743. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +0 -0
  744. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_expo.svg +0 -0
  745. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_firebasehosting.svg +0 -0
  746. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_fla.svg +0 -0
  747. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_font.svg +0 -0
  748. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_gamemaker2.svg +0 -0
  749. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_gradle.svg +0 -0
  750. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_hashicorp.svg +0 -0
  751. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_hjson.svg +0 -0
  752. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_ini.svg +0 -0
  753. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_io.svg +0 -0
  754. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_js.svg +0 -0
  755. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_jsconfig.svg +0 -0
  756. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_jsmap.svg +0 -0
  757. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_json.svg +0 -0
  758. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_json5.svg +0 -0
  759. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_json_schema.svg +0 -0
  760. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_jsonld.svg +0 -0
  761. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_kite.svg +0 -0
  762. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_lark.svg +0 -0
  763. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_lean.svg +0 -0
  764. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_leanconfig.svg +0 -0
  765. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_lerna.svg +0 -0
  766. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +0 -0
  767. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_markuplint.svg +0 -0
  768. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mcp.svg +0 -0
  769. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mdx-components.svg +0 -0
  770. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mdx.svg +0 -0
  771. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mlang.svg +0 -0
  772. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mustache.svg +0 -0
  773. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_mypy.svg +0 -0
  774. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_neo4j.svg +0 -0
  775. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_netlify.svg +0 -0
  776. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_next.svg +0 -0
  777. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_nim.svg +0 -0
  778. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_nx.svg +0 -0
  779. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_objidconfig.svg +0 -0
  780. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_openHAB.svg +0 -0
  781. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_packship.svg +0 -0
  782. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_pcl.svg +0 -0
  783. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_pnpm.svg +0 -0
  784. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_prettier.svg +0 -0
  785. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_prisma.svg +0 -0
  786. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_purescript.svg +0 -0
  787. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_quasar.svg +0 -0
  788. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_raku.svg +0 -0
  789. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_razzle.svg +0 -0
  790. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_reactrouter.svg +0 -0
  791. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_rehype.svg +0 -0
  792. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_remark.svg +0 -0
  793. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_replit.svg +0 -0
  794. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_retext.svg +0 -0
  795. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_rome.svg +0 -0
  796. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_rubocop.svg +0 -0
  797. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_rust.svg +0 -0
  798. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_rust_toolchain.svg +0 -0
  799. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_safetensors.svg +0 -0
  800. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_shadcn.svg +0 -0
  801. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_shaderlab.svg +0 -0
  802. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_solidity.svg +0 -0
  803. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_spin.svg +0 -0
  804. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_stylelint.svg +0 -0
  805. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_stylus.svg +0 -0
  806. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_symfony.svg +0 -0
  807. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_systemd.svg +0 -0
  808. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_systemverilog.svg +0 -0
  809. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_testcafe.svg +0 -0
  810. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_testjs.svg +0 -0
  811. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_tex.svg +0 -0
  812. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_tm.svg +0 -0
  813. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_tmux.svg +0 -0
  814. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_todo.svg +0 -0
  815. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_toit.svg +0 -0
  816. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_toml.svg +0 -0
  817. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_toon.svg +0 -0
  818. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_tree.svg +0 -0
  819. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_turbo.svg +0 -0
  820. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_unibeautify.svg +0 -0
  821. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_vash.svg +0 -0
  822. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_vercel.svg +0 -0
  823. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_vsix.svg +0 -0
  824. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_vsixmanifest.svg +0 -0
  825. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_xfl.svg +0 -0
  826. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_xorg.svg +0 -0
  827. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_yaml.svg +0 -0
  828. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_yaml_official.svg +0 -0
  829. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_light_zeit.svg +0 -0
  830. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lighthouse.svg +0 -0
  831. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lilypond.svg +0 -0
  832. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lime.svg +0 -0
  833. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lintstagedrc.svg +0 -0
  834. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_liquid.svg +0 -0
  835. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lisp.svg +0 -0
  836. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_livescript.svg +0 -0
  837. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lnk.svg +0 -0
  838. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_locale.svg +0 -0
  839. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_log.svg +0 -0
  840. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lolcode.svg +0 -0
  841. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lsl.svg +0 -0
  842. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lua.svg +0 -0
  843. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_luau.svg +0 -0
  844. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_lync.svg +0 -0
  845. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +0 -0
  846. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_makefile.svg +0 -0
  847. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_manifest.svg +0 -0
  848. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_manifest_bak.svg +0 -0
  849. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_manifest_skip.svg +0 -0
  850. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_map.svg +0 -0
  851. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mariadb.svg +0 -0
  852. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_markdown.svg +0 -0
  853. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_markdownlint.svg +0 -0
  854. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_markdownlint_ignore.svg +0 -0
  855. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_marko.svg +0 -0
  856. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_markojs.svg +0 -0
  857. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_markuplint.svg +0 -0
  858. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_master-co.svg +0 -0
  859. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_matlab.svg +0 -0
  860. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_maven.svg +0 -0
  861. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_maxscript.svg +0 -0
  862. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_maya.svg +0 -0
  863. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mcp.svg +0 -0
  864. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mdx-components.svg +0 -0
  865. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mdx.svg +0 -0
  866. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mdxlint.svg +0 -0
  867. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mediawiki.svg +0 -0
  868. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mercurial.svg +0 -0
  869. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mermaid.svg +0 -0
  870. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_meson.svg +0 -0
  871. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_metal.svg +0 -0
  872. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_meteor.svg +0 -0
  873. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_minecraft.svg +0 -0
  874. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mivascript.svg +0 -0
  875. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mjml.svg +0 -0
  876. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mlang.svg +0 -0
  877. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mocha.svg +0 -0
  878. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_modernizr.svg +0 -0
  879. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mojo.svg +0 -0
  880. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mojolicious.svg +0 -0
  881. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_moleculer.svg +0 -0
  882. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mondoo.svg +0 -0
  883. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mongo.svg +0 -0
  884. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_monotone.svg +0 -0
  885. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_motif.svg +0 -0
  886. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mson.svg +0 -0
  887. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mustache.svg +0 -0
  888. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mvt.svg +0 -0
  889. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mvtcss.svg +0 -0
  890. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mvtjs.svg +0 -0
  891. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mypy.svg +0 -0
  892. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_mysql.svg +0 -0
  893. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nanostaged.svg +0 -0
  894. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ndst.svg +0 -0
  895. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nearly.svg +0 -0
  896. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_neo4j.svg +0 -0
  897. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_js.svg +0 -0
  898. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_ts.svg +0 -0
  899. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_js.svg +0 -0
  900. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_ts.svg +0 -0
  901. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_js.svg +0 -0
  902. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_ts.svg +0 -0
  903. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_js.svg +0 -0
  904. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_ts.svg +0 -0
  905. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_js.svg +0 -0
  906. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_ts.svg +0 -0
  907. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_js.svg +0 -0
  908. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_ts.svg +0 -0
  909. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_js.svg +0 -0
  910. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_ts.svg +0 -0
  911. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_js.svg +0 -0
  912. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_ts.svg +0 -0
  913. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_module_js.svg +0 -0
  914. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_module_ts.svg +0 -0
  915. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_js.svg +0 -0
  916. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_ts.svg +0 -0
  917. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_service_js.svg +0 -0
  918. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nest_service_ts.svg +0 -0
  919. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nestjs.svg +0 -0
  920. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_netlify.svg +0 -0
  921. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_next.svg +0 -0
  922. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nextflow.svg +0 -0
  923. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_css.svg +0 -0
  924. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_dart.svg +0 -0
  925. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_html.svg +0 -0
  926. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js.svg +0 -0
  927. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js2.svg +0 -0
  928. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_less.svg +0 -0
  929. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_sass.svg +0 -0
  930. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_scss.svg +0 -0
  931. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts.svg +0 -0
  932. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts2.svg +0 -0
  933. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_js.svg +0 -0
  934. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_ts.svg +0 -0
  935. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_dart.svg +0 -0
  936. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js.svg +0 -0
  937. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js2.svg +0 -0
  938. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts.svg +0 -0
  939. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts2.svg +0 -0
  940. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_dart.svg +0 -0
  941. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_js.svg +0 -0
  942. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_ts.svg +0 -0
  943. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_dart.svg +0 -0
  944. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_js.svg +0 -0
  945. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_ts.svg +0 -0
  946. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_module_dart.svg +0 -0
  947. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js.svg +0 -0
  948. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js2.svg +0 -0
  949. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts.svg +0 -0
  950. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts2.svg +0 -0
  951. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_dart.svg +0 -0
  952. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js.svg +0 -0
  953. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js2.svg +0 -0
  954. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts.svg +0 -0
  955. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts2.svg +0 -0
  956. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_dart.svg +0 -0
  957. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js.svg +0 -0
  958. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js2.svg +0 -0
  959. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts.svg +0 -0
  960. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts2.svg +0 -0
  961. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_service_dart.svg +0 -0
  962. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js.svg +0 -0
  963. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js2.svg +0 -0
  964. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts.svg +0 -0
  965. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts2.svg +0 -0
  966. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_dart.svg +0 -0
  967. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js.svg +0 -0
  968. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js2.svg +0 -0
  969. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts.svg +0 -0
  970. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts2.svg +0 -0
  971. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ng_tailwind.svg +0 -0
  972. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nginx.svg +0 -0
  973. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nim.svg +0 -0
  974. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nimble.svg +0 -0
  975. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ninja.svg +0 -0
  976. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nix.svg +0 -0
  977. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_njsproj.svg +0 -0
  978. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_noc.svg +0 -0
  979. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_node.svg +0 -0
  980. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_node2.svg +0 -0
  981. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nodemon.svg +0 -0
  982. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_npm.svg +0 -0
  983. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_npmpackagejsonlint.svg +0 -0
  984. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nsi.svg +0 -0
  985. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nsri-integrity.svg +0 -0
  986. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nsri.svg +0 -0
  987. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nuget.svg +0 -0
  988. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_numpy.svg +0 -0
  989. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nunjucks.svg +0 -0
  990. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nushell.svg +0 -0
  991. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nuxt.svg +0 -0
  992. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nx.svg +0 -0
  993. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_nyc.svg +0 -0
  994. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_objectivec.svg +0 -0
  995. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_objectivecpp.svg +0 -0
  996. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_objidconfig.svg +0 -0
  997. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ocaml.svg +0 -0
  998. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ocaml_intf.svg +0 -0
  999. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ogone.svg +0 -0
  1000. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_onenote.svg +0 -0
  1001. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_opam.svg +0 -0
  1002. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_openHAB.svg +0 -0
  1003. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_opencl.svg +0 -0
  1004. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_openscad.svg +0 -0
  1005. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_opentofu.svg +0 -0
  1006. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_org.svg +0 -0
  1007. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_outlook.svg +0 -0
  1008. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ovpn.svg +0 -0
  1009. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_oxc.svg +0 -0
  1010. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_oxlint.svg +0 -0
  1011. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_package.svg +0 -0
  1012. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_packship.svg +0 -0
  1013. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_paket.svg +0 -0
  1014. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pandacss.svg +0 -0
  1015. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_patch.svg +0 -0
  1016. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pcl.svg +0 -0
  1017. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pddl.svg +0 -0
  1018. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pddl_happenings.svg +0 -0
  1019. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pddl_plan.svg +0 -0
  1020. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pdf.svg +0 -0
  1021. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pdf2.svg +0 -0
  1022. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pdm.svg +0 -0
  1023. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_peeky.svg +0 -0
  1024. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_perl.svg +0 -0
  1025. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_perl2.svg +0 -0
  1026. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_perl6.svg +0 -0
  1027. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pgsql.svg +0 -0
  1028. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_photoshop.svg +0 -0
  1029. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_photoshop2.svg +0 -0
  1030. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_php.svg +0 -0
  1031. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_php2.svg +0 -0
  1032. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_php3.svg +0 -0
  1033. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_phpcsfixer.svg +0 -0
  1034. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_phpstan.svg +0 -0
  1035. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_phpunit.svg +0 -0
  1036. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_phraseapp.svg +0 -0
  1037. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pine.svg +0 -0
  1038. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pip.svg +0 -0
  1039. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pipeline.svg +0 -0
  1040. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plantuml.svg +0 -0
  1041. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_platformio.svg +0 -0
  1042. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_playwright.svg +0 -0
  1043. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plsql.svg +0 -0
  1044. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plsql_package.svg +0 -0
  1045. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_body.svg +0 -0
  1046. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_header.svg +0 -0
  1047. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_spec.svg +0 -0
  1048. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pm2.svg +0 -0
  1049. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pnpm.svg +0 -0
  1050. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_poedit.svg +0 -0
  1051. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_poetry.svg +0 -0
  1052. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_polyglot.svg +0 -0
  1053. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_polymer.svg +0 -0
  1054. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pony.svg +0 -0
  1055. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_postcss.svg +0 -0
  1056. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_postcssconfig.svg +0 -0
  1057. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_postman.svg +0 -0
  1058. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powerpoint.svg +0 -0
  1059. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powerpoint2.svg +0 -0
  1060. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell.svg +0 -0
  1061. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell2.svg +0 -0
  1062. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_format.svg +0 -0
  1063. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd.svg +0 -0
  1064. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd2.svg +0 -0
  1065. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm.svg +0 -0
  1066. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm2.svg +0 -0
  1067. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_powershell_types.svg +0 -0
  1068. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_preact.svg +0 -0
  1069. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_precommit.svg +0 -0
  1070. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_prettier.svg +0 -0
  1071. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_prisma.svg +0 -0
  1072. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_prismaconfig.svg +0 -0
  1073. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_processinglang.svg +0 -0
  1074. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_procfile.svg +0 -0
  1075. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_progress.svg +0 -0
  1076. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_prolog.svg +0 -0
  1077. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_prometheus.svg +0 -0
  1078. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_protobuf.svg +0 -0
  1079. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_protractor.svg +0 -0
  1080. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_publiccode.svg +0 -0
  1081. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_publisher.svg +0 -0
  1082. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pug.svg +0 -0
  1083. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pulumi.svg +0 -0
  1084. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_puppet.svg +0 -0
  1085. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_purescript.svg +0 -0
  1086. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_purgecss.svg +0 -0
  1087. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pyenv.svg +0 -0
  1088. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pyret.svg +0 -0
  1089. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pyscript.svg +0 -0
  1090. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pytest.svg +0 -0
  1091. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_python.svg +0 -0
  1092. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +0 -0
  1093. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pytyped.svg +0 -0
  1094. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_pyup.svg +0 -0
  1095. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_q.svg +0 -0
  1096. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_qbs.svg +0 -0
  1097. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_qlikview.svg +0 -0
  1098. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_qml.svg +0 -0
  1099. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_qmldir.svg +0 -0
  1100. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_qsharp.svg +0 -0
  1101. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_quasar.svg +0 -0
  1102. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_r.svg +0 -0
  1103. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ra_syntax_tree.svg +0 -0
  1104. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_racket.svg +0 -0
  1105. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rails.svg +0 -0
  1106. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rake.svg +0 -0
  1107. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_raku.svg +0 -0
  1108. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_raml.svg +0 -0
  1109. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_razor.svg +0 -0
  1110. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_razzle.svg +0 -0
  1111. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_reactjs.svg +0 -0
  1112. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_reactrouter.svg +0 -0
  1113. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_reacttemplate.svg +0 -0
  1114. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_reactts.svg +0 -0
  1115. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_reason.svg +0 -0
  1116. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_red.svg +0 -0
  1117. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_registry.svg +0 -0
  1118. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rego.svg +0 -0
  1119. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rehype.svg +0 -0
  1120. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_remark.svg +0 -0
  1121. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_renovate.svg +0 -0
  1122. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_replit.svg +0 -0
  1123. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rescript.svg +0 -0
  1124. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rest.svg +0 -0
  1125. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_retext.svg +0 -0
  1126. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rexx.svg +0 -0
  1127. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_riot.svg +0 -0
  1128. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ripple.svg +0 -0
  1129. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rmd.svg +0 -0
  1130. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rnc.svg +0 -0
  1131. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_robotframework.svg +0 -0
  1132. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_robots.svg +0 -0
  1133. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rolldown.svg +0 -0
  1134. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rollup.svg +0 -0
  1135. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rome.svg +0 -0
  1136. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ron.svg +0 -0
  1137. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rproj.svg +0 -0
  1138. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rspec.svg +0 -0
  1139. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rss.svg +0 -0
  1140. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rubocop.svg +0 -0
  1141. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ruby.svg +0 -0
  1142. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rust.svg +0 -0
  1143. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_rust_toolchain.svg +0 -0
  1144. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_s-lang.svg +0 -0
  1145. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_safetensors.svg +0 -0
  1146. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sails.svg +0 -0
  1147. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_saltstack.svg +0 -0
  1148. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_san.svg +0 -0
  1149. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sapphire_framework_cli.svg +0 -0
  1150. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sas.svg +0 -0
  1151. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sass.svg +0 -0
  1152. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sbt.svg +0 -0
  1153. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_scala.svg +0 -0
  1154. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_scilab.svg +0 -0
  1155. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_script.svg +0 -0
  1156. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_scss.svg +0 -0
  1157. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_scss2.svg +0 -0
  1158. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sdlang.svg +0 -0
  1159. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_search_result.svg +0 -0
  1160. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_seedkit.svg +0 -0
  1161. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sentry.svg +0 -0
  1162. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sequelize.svg +0 -0
  1163. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_serverless.svg +0 -0
  1164. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_shadcn.svg +0 -0
  1165. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_shaderlab.svg +0 -0
  1166. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_shell.svg +0 -0
  1167. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_shellcheck.svg +0 -0
  1168. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_shuttle.svg +0 -0
  1169. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_silverstripe.svg +0 -0
  1170. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sino.svg +0 -0
  1171. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sitemap.svg +0 -0
  1172. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_siyuan.svg +0 -0
  1173. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sketch.svg +0 -0
  1174. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_skipper.svg +0 -0
  1175. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_slang.svg +0 -0
  1176. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_slashup.svg +0 -0
  1177. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_slice.svg +0 -0
  1178. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_slim.svg +0 -0
  1179. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_slint.svg +0 -0
  1180. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sln.svg +0 -0
  1181. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sln2.svg +0 -0
  1182. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_smarty.svg +0 -0
  1183. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_smithery.svg +0 -0
  1184. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_snakemake.svg +0 -0
  1185. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_snapcraft.svg +0 -0
  1186. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_snaplet.svg +0 -0
  1187. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_snort.svg +0 -0
  1188. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_snyk.svg +0 -0
  1189. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_solidarity.svg +0 -0
  1190. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_solidity.svg +0 -0
  1191. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_source.svg +0 -0
  1192. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_spacengine.svg +0 -0
  1193. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sparql.svg +0 -0
  1194. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_spin.svg +0 -0
  1195. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sqf.svg +0 -0
  1196. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sql.svg +0 -0
  1197. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sqlite.svg +0 -0
  1198. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_squirrel.svg +0 -0
  1199. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sss.svg +0 -0
  1200. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sst.svg +0 -0
  1201. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stackblitz.svg +0 -0
  1202. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stan.svg +0 -0
  1203. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stata.svg +0 -0
  1204. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stencil.svg +0 -0
  1205. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_storyboard.svg +0 -0
  1206. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_storybook.svg +0 -0
  1207. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stryker.svg +0 -0
  1208. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stylable.svg +0 -0
  1209. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_style.svg +0 -0
  1210. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_styled.svg +0 -0
  1211. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stylelint.svg +0 -0
  1212. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stylish_haskell.svg +0 -0
  1213. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_stylus.svg +0 -0
  1214. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_sublime.svg +0 -0
  1215. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_subversion.svg +0 -0
  1216. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_svelte.svg +0 -0
  1217. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_svelteconfig.svg +0 -0
  1218. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_svg.svg +0 -0
  1219. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_svgo.svg +0 -0
  1220. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_swagger.svg +0 -0
  1221. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_swc.svg +0 -0
  1222. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_swift.svg +0 -0
  1223. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_swig.svg +0 -0
  1224. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_symfony.svg +0 -0
  1225. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_syncpack.svg +0 -0
  1226. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_systemd.svg +0 -0
  1227. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_systemverilog.svg +0 -0
  1228. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_t4tt.svg +0 -0
  1229. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tailwind.svg +0 -0
  1230. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tamagui.svg +0 -0
  1231. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_taplo.svg +0 -0
  1232. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_taskfile.svg +0 -0
  1233. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tauri.svg +0 -0
  1234. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tcl.svg +0 -0
  1235. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_teal.svg +0 -0
  1236. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_templ.svg +0 -0
  1237. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tera.svg +0 -0
  1238. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_terraform.svg +0 -0
  1239. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_test.svg +0 -0
  1240. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_testcafe.svg +0 -0
  1241. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_testjs.svg +0 -0
  1242. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_testplane.svg +0 -0
  1243. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_testts.svg +0 -0
  1244. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tex.svg +0 -0
  1245. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_text.svg +0 -0
  1246. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_textile.svg +0 -0
  1247. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tfs.svg +0 -0
  1248. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tiltfile.svg +0 -0
  1249. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tm.svg +0 -0
  1250. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tmux.svg +0 -0
  1251. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_todo.svg +0 -0
  1252. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_toit.svg +0 -0
  1253. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_toml.svg +0 -0
  1254. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_toon.svg +0 -0
  1255. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tox.svg +0 -0
  1256. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_travis.svg +0 -0
  1257. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tree.svg +0 -0
  1258. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tres.svg +0 -0
  1259. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_truffle.svg +0 -0
  1260. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_trunk.svg +0 -0
  1261. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tsbuildinfo.svg +0 -0
  1262. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tscn.svg +0 -0
  1263. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tsconfig.svg +0 -0
  1264. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tsconfig_official.svg +0 -0
  1265. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tsdoc.svg +0 -0
  1266. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tsdown.svg +0 -0
  1267. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tslint.svg +0 -0
  1268. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tt.svg +0 -0
  1269. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_ttcn.svg +0 -0
  1270. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_tuc.svg +0 -0
  1271. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_turbo.svg +0 -0
  1272. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_twig.svg +0 -0
  1273. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typedoc.svg +0 -0
  1274. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typescript.svg +0 -0
  1275. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typescript_official.svg +0 -0
  1276. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef.svg +0 -0
  1277. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef_official.svg +0 -0
  1278. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_typo3.svg +0 -0
  1279. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_uiua.svg +0 -0
  1280. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_unibeautify.svg +0 -0
  1281. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_unison.svg +0 -0
  1282. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_unlicense.svg +0 -0
  1283. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_unocss.svg +0 -0
  1284. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_uv.svg +0 -0
  1285. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vagrant.svg +0 -0
  1286. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vala.svg +0 -0
  1287. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vanilla_extract.svg +0 -0
  1288. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vapi.svg +0 -0
  1289. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vapor.svg +0 -0
  1290. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vash.svg +0 -0
  1291. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vb.svg +0 -0
  1292. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vba.svg +0 -0
  1293. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vbhtml.svg +0 -0
  1294. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vbproj.svg +0 -0
  1295. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vcxproj.svg +0 -0
  1296. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_velocity.svg +0 -0
  1297. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vento.svg +0 -0
  1298. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vercel.svg +0 -0
  1299. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_verilog.svg +0 -0
  1300. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vhdl.svg +0 -0
  1301. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_video.svg +0 -0
  1302. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_view.svg +0 -0
  1303. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vim.svg +0 -0
  1304. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vite.svg +0 -0
  1305. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vitest.svg +0 -0
  1306. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vlang.svg +0 -0
  1307. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_volt.svg +0 -0
  1308. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vroom.svg +0 -0
  1309. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vscode-insiders.svg +0 -0
  1310. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vscode.svg +0 -0
  1311. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vscode2.svg +0 -0
  1312. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vscode3.svg +0 -0
  1313. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vscode_test.svg +0 -0
  1314. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vsix.svg +0 -0
  1315. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vsixmanifest.svg +0 -0
  1316. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vue.svg +0 -0
  1317. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vueconfig.svg +0 -0
  1318. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vvvvvv.svg +0 -0
  1319. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_vyper.svg +0 -0
  1320. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wallaby.svg +0 -0
  1321. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wally.svg +0 -0
  1322. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wasm.svg +0 -0
  1323. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_watchmanconfig.svg +0 -0
  1324. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wdio.svg +0 -0
  1325. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_weblate.svg +0 -0
  1326. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_webpack.svg +0 -0
  1327. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wenyan.svg +0 -0
  1328. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wercker.svg +0 -0
  1329. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wgsl.svg +0 -0
  1330. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wikitext.svg +0 -0
  1331. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_windi.svg +0 -0
  1332. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wit.svg +0 -0
  1333. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wolfram.svg +0 -0
  1334. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_word.svg +0 -0
  1335. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_word2.svg +0 -0
  1336. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wpml.svg +0 -0
  1337. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wurst.svg +0 -0
  1338. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wxml.svg +0 -0
  1339. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wxss.svg +0 -0
  1340. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_wxt.svg +0 -0
  1341. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xaml.svg +0 -0
  1342. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xcode.svg +0 -0
  1343. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xfl.svg +0 -0
  1344. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xib.svg +0 -0
  1345. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xliff.svg +0 -0
  1346. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xmake.svg +0 -0
  1347. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xml.svg +0 -0
  1348. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xo.svg +0 -0
  1349. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xorg.svg +0 -0
  1350. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xquery.svg +0 -0
  1351. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_xsl.svg +0 -0
  1352. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yacc.svg +0 -0
  1353. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yaml.svg +0 -0
  1354. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yaml_official.svg +0 -0
  1355. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yamllint.svg +0 -0
  1356. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yandex.svg +0 -0
  1357. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yang.svg +0 -0
  1358. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yarn.svg +0 -0
  1359. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_yeoman.svg +0 -0
  1360. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_zeit.svg +0 -0
  1361. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_zig.svg +0 -0
  1362. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_zip.svg +0 -0
  1363. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/file_type_zip2.svg +0 -0
  1364. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_android.svg +0 -0
  1365. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_android_opened.svg +0 -0
  1366. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_angular.svg +0 -0
  1367. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_angular_opened.svg +0 -0
  1368. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_apache.svg +0 -0
  1369. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_apache_opened.svg +0 -0
  1370. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_api.svg +0 -0
  1371. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_api_opened.svg +0 -0
  1372. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_app.svg +0 -0
  1373. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_app_opened.svg +0 -0
  1374. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_arangodb.svg +0 -0
  1375. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_arangodb_opened.svg +0 -0
  1376. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_asset.svg +0 -0
  1377. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_asset_opened.svg +0 -0
  1378. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_astro.svg +0 -0
  1379. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_astro_opened.svg +0 -0
  1380. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_audio.svg +0 -0
  1381. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_audio_opened.svg +0 -0
  1382. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_aurelia.svg +0 -0
  1383. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_aurelia_opened.svg +0 -0
  1384. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_aws.svg +0 -0
  1385. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_aws_opened.svg +0 -0
  1386. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_azure.svg +0 -0
  1387. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_azure_opened.svg +0 -0
  1388. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines.svg +0 -0
  1389. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines_opened.svg +0 -0
  1390. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_binary.svg +0 -0
  1391. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_binary_opened.svg +0 -0
  1392. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bloc.svg +0 -0
  1393. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bloc_opened.svg +0 -0
  1394. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_blueprint.svg +0 -0
  1395. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_blueprint_opened.svg +0 -0
  1396. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bot.svg +0 -0
  1397. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bot_opened.svg +0 -0
  1398. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bower.svg +0 -0
  1399. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_bower_opened.svg +0 -0
  1400. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_buildkite.svg +0 -0
  1401. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_buildkite_opened.svg +0 -0
  1402. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cake.svg +0 -0
  1403. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cake_opened.svg +0 -0
  1404. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cargo.svg +0 -0
  1405. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cargo_opened.svg +0 -0
  1406. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_certificate.svg +0 -0
  1407. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_certificate_opened.svg +0 -0
  1408. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_changesets.svg +0 -0
  1409. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_changesets_opened.svg +0 -0
  1410. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_chef.svg +0 -0
  1411. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_chef_opened.svg +0 -0
  1412. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_circleci.svg +0 -0
  1413. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_circleci_opened.svg +0 -0
  1414. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_claude.svg +0 -0
  1415. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_claude_opened.svg +0 -0
  1416. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cli.svg +0 -0
  1417. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cli_opened.svg +0 -0
  1418. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_client.svg +0 -0
  1419. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_client_opened.svg +0 -0
  1420. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare.svg +0 -0
  1421. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare_opened.svg +0 -0
  1422. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cmake.svg +0 -0
  1423. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cmake_opened.svg +0 -0
  1424. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_common.svg +0 -0
  1425. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_common_opened.svg +0 -0
  1426. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_component.svg +0 -0
  1427. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_component_opened.svg +0 -0
  1428. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_composer.svg +0 -0
  1429. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_composer_opened.svg +0 -0
  1430. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_config.svg +0 -0
  1431. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_config_opened.svg +0 -0
  1432. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_controller.svg +0 -0
  1433. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_controller_opened.svg +0 -0
  1434. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_coverage.svg +0 -0
  1435. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_coverage_opened.svg +0 -0
  1436. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_css.svg +0 -0
  1437. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_css2.svg +0 -0
  1438. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_css2_opened.svg +0 -0
  1439. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_css_opened.svg +0 -0
  1440. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cubit.svg +0 -0
  1441. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cubit_opened.svg +0 -0
  1442. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cursor.svg +0 -0
  1443. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cursor_opened.svg +0 -0
  1444. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cypress.svg +0 -0
  1445. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_cypress_opened.svg +0 -0
  1446. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dapr.svg +0 -0
  1447. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dapr_opened.svg +0 -0
  1448. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dart.svg +0 -0
  1449. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dart_opened.svg +0 -0
  1450. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +0 -0
  1451. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +0 -0
  1452. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_db.svg +0 -0
  1453. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_db_opened.svg +0 -0
  1454. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_debian.svg +0 -0
  1455. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_debian_opened.svg +0 -0
  1456. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dependabot.svg +0 -0
  1457. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dependabot_opened.svg +0 -0
  1458. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer.svg +0 -0
  1459. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer_opened.svg +0 -0
  1460. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dist.svg +0 -0
  1461. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_dist_opened.svg +0 -0
  1462. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_docker.svg +0 -0
  1463. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_docker_opened.svg +0 -0
  1464. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_docs.svg +0 -0
  1465. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_docs_opened.svg +0 -0
  1466. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_e2e.svg +0 -0
  1467. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_e2e_opened.svg +0 -0
  1468. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk.svg +0 -0
  1469. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1470. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_electron.svg +0 -0
  1471. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_electron_opened.svg +0 -0
  1472. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_expo.svg +0 -0
  1473. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_expo_opened.svg +0 -0
  1474. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_favicon.svg +0 -0
  1475. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_favicon_opened.svg +0 -0
  1476. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_flow.svg +0 -0
  1477. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_flow_opened.svg +0 -0
  1478. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_flutter.svg +0 -0
  1479. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_flutter_opened.svg +0 -0
  1480. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_fonts.svg +0 -0
  1481. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_fonts_opened.svg +0 -0
  1482. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce.svg +0 -0
  1483. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce_opened.svg +0 -0
  1484. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gcp.svg +0 -0
  1485. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gcp_opened.svg +0 -0
  1486. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_git.svg +0 -0
  1487. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_git_opened.svg +0 -0
  1488. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_github.svg +0 -0
  1489. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_github_opened.svg +0 -0
  1490. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gitlab.svg +0 -0
  1491. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gitlab_opened.svg +0 -0
  1492. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_godot.svg +0 -0
  1493. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_godot_opened.svg +0 -0
  1494. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gradle.svg +0 -0
  1495. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gradle_opened.svg +0 -0
  1496. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_graphql.svg +0 -0
  1497. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_graphql_opened.svg +0 -0
  1498. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_grunt.svg +0 -0
  1499. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_grunt_opened.svg +0 -0
  1500. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gulp.svg +0 -0
  1501. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_gulp_opened.svg +0 -0
  1502. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_haxelib.svg +0 -0
  1503. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_haxelib_opened.svg +0 -0
  1504. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_helper.svg +0 -0
  1505. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_helper_opened.svg +0 -0
  1506. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_histoire.svg +0 -0
  1507. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_histoire_opened.svg +0 -0
  1508. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_hook.svg +0 -0
  1509. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_hook_opened.svg +0 -0
  1510. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_husky.svg +0 -0
  1511. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_husky_opened.svg +0 -0
  1512. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_idea.svg +0 -0
  1513. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_idea_opened.svg +0 -0
  1514. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_images.svg +0 -0
  1515. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_images_opened.svg +0 -0
  1516. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_include.svg +0 -0
  1517. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_include_opened.svg +0 -0
  1518. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_interfaces.svg +0 -0
  1519. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_interfaces_opened.svg +0 -0
  1520. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_ios.svg +0 -0
  1521. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_ios_opened.svg +0 -0
  1522. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_js.svg +0 -0
  1523. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_js_opened.svg +0 -0
  1524. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_json.svg +0 -0
  1525. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_json_official.svg +0 -0
  1526. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_json_official_opened.svg +0 -0
  1527. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_json_opened.svg +0 -0
  1528. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_junie.svg +0 -0
  1529. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_junie_opened.svg +0 -0
  1530. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_kotlin.svg +0 -0
  1531. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_kotlin_opened.svg +0 -0
  1532. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes.svg +0 -0
  1533. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes_opened.svg +0 -0
  1534. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_less.svg +0 -0
  1535. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_less_opened.svg +0 -0
  1536. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_library.svg +0 -0
  1537. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_library_opened.svg +0 -0
  1538. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor.svg +0 -0
  1539. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor_opened.svg +0 -0
  1540. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress.svg +0 -0
  1541. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress_opened.svg +0 -0
  1542. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_electron.svg +0 -0
  1543. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_electron_opened.svg +0 -0
  1544. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_expo.svg +0 -0
  1545. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_expo_opened.svg +0 -0
  1546. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts.svg +0 -0
  1547. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts_opened.svg +0 -0
  1548. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle.svg +0 -0
  1549. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle_opened.svg +0 -0
  1550. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor.svg +0 -0
  1551. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor_opened.svg +0 -0
  1552. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy.svg +0 -0
  1553. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy_opened.svg +0 -0
  1554. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql.svg +0 -0
  1555. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql_opened.svg +0 -0
  1556. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_node.svg +0 -0
  1557. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_node_opened.svg +0 -0
  1558. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_redux.svg +0 -0
  1559. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_redux_opened.svg +0 -0
  1560. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_sass.svg +0 -0
  1561. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_sass_opened.svg +0 -0
  1562. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_zed.svg +0 -0
  1563. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_light_zed_opened.svg +0 -0
  1564. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_linux.svg +0 -0
  1565. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_linux_opened.svg +0 -0
  1566. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_locale.svg +0 -0
  1567. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_locale_opened.svg +0 -0
  1568. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_log.svg +0 -0
  1569. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_log_opened.svg +0 -0
  1570. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_macos.svg +0 -0
  1571. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_macos_opened.svg +0 -0
  1572. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mariadb.svg +0 -0
  1573. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mariadb_opened.svg +0 -0
  1574. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_maven.svg +0 -0
  1575. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_maven_opened.svg +0 -0
  1576. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki.svg +0 -0
  1577. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki_opened.svg +0 -0
  1578. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_memcached.svg +0 -0
  1579. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_memcached_opened.svg +0 -0
  1580. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_meteor.svg +0 -0
  1581. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_meteor_opened.svg +0 -0
  1582. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_middleware.svg +0 -0
  1583. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_middleware_opened.svg +0 -0
  1584. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_minecraft.svg +0 -0
  1585. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_minecraft_opened.svg +0 -0
  1586. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_minikube.svg +0 -0
  1587. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_minikube_opened.svg +0 -0
  1588. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mjml.svg +0 -0
  1589. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mjml_opened.svg +0 -0
  1590. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mock.svg +0 -0
  1591. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mock_opened.svg +0 -0
  1592. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_model.svg +0 -0
  1593. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_model_opened.svg +0 -0
  1594. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_module.svg +0 -0
  1595. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_module_opened.svg +0 -0
  1596. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mojo.svg +0 -0
  1597. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mojo_opened.svg +0 -0
  1598. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mongodb.svg +0 -0
  1599. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mongodb_opened.svg +0 -0
  1600. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mypy.svg +0 -0
  1601. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mypy_opened.svg +0 -0
  1602. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mysql.svg +0 -0
  1603. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_mysql_opened.svg +0 -0
  1604. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_netlify.svg +0 -0
  1605. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_netlify_opened.svg +0 -0
  1606. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_next.svg +0 -0
  1607. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_next_opened.svg +0 -0
  1608. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nginx.svg +0 -0
  1609. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nginx_opened.svg +0 -0
  1610. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nix.svg +0 -0
  1611. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nix_opened.svg +0 -0
  1612. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_node.svg +0 -0
  1613. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_node_opened.svg +0 -0
  1614. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_notebooks.svg +0 -0
  1615. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_notebooks_opened.svg +0 -0
  1616. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_notification.svg +0 -0
  1617. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_notification_opened.svg +0 -0
  1618. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nuget.svg +0 -0
  1619. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nuget_opened.svg +0 -0
  1620. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nuxt.svg +0 -0
  1621. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_nuxt_opened.svg +0 -0
  1622. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_package.svg +0 -0
  1623. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_package_opened.svg +0 -0
  1624. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_paket.svg +0 -0
  1625. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_paket_opened.svg +0 -0
  1626. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_php.svg +0 -0
  1627. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_php_opened.svg +0 -0
  1628. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_platformio.svg +0 -0
  1629. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_platformio_opened.svg +0 -0
  1630. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_plugin.svg +0 -0
  1631. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_plugin_opened.svg +0 -0
  1632. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_prisma.svg +0 -0
  1633. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_prisma_opened.svg +0 -0
  1634. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_private.svg +0 -0
  1635. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_private_opened.svg +0 -0
  1636. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_public.svg +0 -0
  1637. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_public_opened.svg +0 -0
  1638. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_pytest.svg +0 -0
  1639. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_pytest_opened.svg +0 -0
  1640. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_python.svg +0 -0
  1641. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_python_opened.svg +0 -0
  1642. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_ravendb.svg +0 -0
  1643. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_ravendb_opened.svg +0 -0
  1644. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_redis.svg +0 -0
  1645. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_redis_opened.svg +0 -0
  1646. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_redux.svg +0 -0
  1647. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_redux_opened.svg +0 -0
  1648. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_route.svg +0 -0
  1649. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_route_opened.svg +0 -0
  1650. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_sass.svg +0 -0
  1651. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_sass_opened.svg +0 -0
  1652. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_script.svg +0 -0
  1653. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_script_opened.svg +0 -0
  1654. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_seedkit.svg +0 -0
  1655. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_seedkit_opened.svg +0 -0
  1656. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_server.svg +0 -0
  1657. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_server_opened.svg +0 -0
  1658. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_services.svg +0 -0
  1659. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_services_opened.svg +0 -0
  1660. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_shared.svg +0 -0
  1661. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_shared_opened.svg +0 -0
  1662. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_snaplet.svg +0 -0
  1663. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_snaplet_opened.svg +0 -0
  1664. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_spin.svg +0 -0
  1665. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_spin_opened.svg +0 -0
  1666. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_src.svg +0 -0
  1667. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_src_opened.svg +0 -0
  1668. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_sso.svg +0 -0
  1669. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_sso_opened.svg +0 -0
  1670. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_story.svg +0 -0
  1671. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_story_opened.svg +0 -0
  1672. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_style.svg +0 -0
  1673. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_style_opened.svg +0 -0
  1674. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_supabase.svg +0 -0
  1675. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_supabase_opened.svg +0 -0
  1676. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_svelte.svg +0 -0
  1677. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_svelte_opened.svg +0 -0
  1678. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_tauri.svg +0 -0
  1679. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_tauri_opened.svg +0 -0
  1680. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_temp.svg +0 -0
  1681. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_temp_opened.svg +0 -0
  1682. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_template.svg +0 -0
  1683. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_template_opened.svg +0 -0
  1684. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_test.svg +0 -0
  1685. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_test_opened.svg +0 -0
  1686. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_theme.svg +0 -0
  1687. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_theme_opened.svg +0 -0
  1688. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_tools.svg +0 -0
  1689. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_tools_opened.svg +0 -0
  1690. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_travis.svg +0 -0
  1691. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_travis_opened.svg +0 -0
  1692. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_trunk.svg +0 -0
  1693. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_trunk_opened.svg +0 -0
  1694. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_turbo.svg +0 -0
  1695. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_turbo_opened.svg +0 -0
  1696. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typescript.svg +0 -0
  1697. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typescript_opened.svg +0 -0
  1698. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typings.svg +0 -0
  1699. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typings2.svg +0 -0
  1700. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typings2_opened.svg +0 -0
  1701. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_typings_opened.svg +0 -0
  1702. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vagrant.svg +0 -0
  1703. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vagrant_opened.svg +0 -0
  1704. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vercel.svg +0 -0
  1705. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vercel_opened.svg +0 -0
  1706. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_video.svg +0 -0
  1707. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_video_opened.svg +0 -0
  1708. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_view.svg +0 -0
  1709. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_view_opened.svg +0 -0
  1710. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vitepress.svg +0 -0
  1711. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vitepress_opened.svg +0 -0
  1712. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vs.svg +0 -0
  1713. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vs2.svg +0 -0
  1714. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vs2_opened.svg +0 -0
  1715. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vs_opened.svg +0 -0
  1716. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode.svg +0 -0
  1717. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode2.svg +0 -0
  1718. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode2_opened.svg +0 -0
  1719. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode3.svg +0 -0
  1720. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode3_opened.svg +0 -0
  1721. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_opened.svg +0 -0
  1722. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test.svg +0 -0
  1723. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2.svg +0 -0
  1724. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2_opened.svg +0 -0
  1725. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3.svg +0 -0
  1726. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3_opened.svg +0 -0
  1727. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test_opened.svg +0 -0
  1728. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_wasm.svg +0 -0
  1729. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_wasm_opened.svg +0 -0
  1730. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_webpack.svg +0 -0
  1731. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_webpack_opened.svg +0 -0
  1732. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_windows.svg +0 -0
  1733. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_windows_opened.svg +0 -0
  1734. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_windsurf.svg +0 -0
  1735. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_windsurf_opened.svg +0 -0
  1736. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_wit.svg +0 -0
  1737. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_wit_opened.svg +0 -0
  1738. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_www.svg +0 -0
  1739. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_www_opened.svg +0 -0
  1740. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_yarn.svg +0 -0
  1741. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_yarn_opened.svg +0 -0
  1742. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_zed.svg +0 -0
  1743. /package/static/{407762e → 3db9eb3}/extensions/builtin.vscode-icons/icons/folder_type_zed_opened.svg +0 -0
  1744. /package/static/{407762e → 3db9eb3}/fonts/FiraCode-VariableFont.ttf +0 -0
  1745. /package/static/{407762e → 3db9eb3}/icons/add.svg +0 -0
  1746. /package/static/{407762e → 3db9eb3}/icons/arrow-down.svg +0 -0
  1747. /package/static/{407762e → 3db9eb3}/icons/arrow-left.svg +0 -0
  1748. /package/static/{407762e → 3db9eb3}/icons/arrow-right.svg +0 -0
  1749. /package/static/{407762e → 3db9eb3}/icons/arrow-up.svg +0 -0
  1750. /package/static/{407762e → 3db9eb3}/icons/blank.svg +0 -0
  1751. /package/static/{407762e → 3db9eb3}/icons/book.svg +0 -0
  1752. /package/static/{407762e → 3db9eb3}/icons/case-sensitive.svg +0 -0
  1753. /package/static/{407762e → 3db9eb3}/icons/check.svg +0 -0
  1754. /package/static/{407762e → 3db9eb3}/icons/chevron-down.svg +0 -0
  1755. /package/static/{407762e → 3db9eb3}/icons/chevron-left.svg +0 -0
  1756. /package/static/{407762e → 3db9eb3}/icons/chevron-right.svg +0 -0
  1757. /package/static/{407762e → 3db9eb3}/icons/chevron-up.svg +0 -0
  1758. /package/static/{407762e → 3db9eb3}/icons/chrome-close.svg +0 -0
  1759. /package/static/{407762e → 3db9eb3}/icons/chrome-maximize.svg +0 -0
  1760. /package/static/{407762e → 3db9eb3}/icons/chrome-minimize.svg +0 -0
  1761. /package/static/{407762e → 3db9eb3}/icons/chrome-restore.svg +0 -0
  1762. /package/static/{407762e → 3db9eb3}/icons/circle-filled.svg +0 -0
  1763. /package/static/{407762e → 3db9eb3}/icons/clear-all.svg +0 -0
  1764. /package/static/{407762e → 3db9eb3}/icons/close.svg +0 -0
  1765. /package/static/{407762e → 3db9eb3}/icons/cloud.svg +0 -0
  1766. /package/static/{407762e → 3db9eb3}/icons/collapse-all.svg +0 -0
  1767. /package/static/{407762e → 3db9eb3}/icons/debug-all.svg +0 -0
  1768. /package/static/{407762e → 3db9eb3}/icons/debug-alt-2.svg +0 -0
  1769. /package/static/{407762e → 3db9eb3}/icons/debug-alt-small.svg +0 -0
  1770. /package/static/{407762e → 3db9eb3}/icons/debug-alt.svg +0 -0
  1771. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1772. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-conditional.svg +0 -0
  1773. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1774. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-data.svg +0 -0
  1775. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1776. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-function.svg +0 -0
  1777. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1778. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-log.svg +0 -0
  1779. /package/static/{407762e → 3db9eb3}/icons/debug-breakpoint-unsupported.svg +0 -0
  1780. /package/static/{407762e → 3db9eb3}/icons/debug-console.svg +0 -0
  1781. /package/static/{407762e → 3db9eb3}/icons/debug-continue-small.svg +0 -0
  1782. /package/static/{407762e → 3db9eb3}/icons/debug-continue.svg +0 -0
  1783. /package/static/{407762e → 3db9eb3}/icons/debug-coverage.svg +0 -0
  1784. /package/static/{407762e → 3db9eb3}/icons/debug-disconnect.svg +0 -0
  1785. /package/static/{407762e → 3db9eb3}/icons/debug-line-by-line.svg +0 -0
  1786. /package/static/{407762e → 3db9eb3}/icons/debug-pause.svg +0 -0
  1787. /package/static/{407762e → 3db9eb3}/icons/debug-rerun.svg +0 -0
  1788. /package/static/{407762e → 3db9eb3}/icons/debug-restart-frame.svg +0 -0
  1789. /package/static/{407762e → 3db9eb3}/icons/debug-restart.svg +0 -0
  1790. /package/static/{407762e → 3db9eb3}/icons/debug-reverse-continue.svg +0 -0
  1791. /package/static/{407762e → 3db9eb3}/icons/debug-stackframe-active.svg +0 -0
  1792. /package/static/{407762e → 3db9eb3}/icons/debug-stackframe.svg +0 -0
  1793. /package/static/{407762e → 3db9eb3}/icons/debug-start.svg +0 -0
  1794. /package/static/{407762e → 3db9eb3}/icons/debug-step-back.svg +0 -0
  1795. /package/static/{407762e → 3db9eb3}/icons/debug-step-into.svg +0 -0
  1796. /package/static/{407762e → 3db9eb3}/icons/debug-step-out.svg +0 -0
  1797. /package/static/{407762e → 3db9eb3}/icons/debug-step-over.svg +0 -0
  1798. /package/static/{407762e → 3db9eb3}/icons/debug-stop.svg +0 -0
  1799. /package/static/{407762e → 3db9eb3}/icons/debug.svg +0 -0
  1800. /package/static/{407762e → 3db9eb3}/icons/discard.svg +0 -0
  1801. /package/static/{407762e → 3db9eb3}/icons/edit.svg +0 -0
  1802. /package/static/{407762e → 3db9eb3}/icons/ellipsis.svg +0 -0
  1803. /package/static/{407762e → 3db9eb3}/icons/error.svg +0 -0
  1804. /package/static/{407762e → 3db9eb3}/icons/exclude.svg +0 -0
  1805. /package/static/{407762e → 3db9eb3}/icons/extensionDefaultIcon.png +0 -0
  1806. /package/static/{407762e → 3db9eb3}/icons/extensions.svg +0 -0
  1807. /package/static/{407762e → 3db9eb3}/icons/files.svg +0 -0
  1808. /package/static/{407762e → 3db9eb3}/icons/filter.svg +0 -0
  1809. /package/static/{407762e → 3db9eb3}/icons/go-to-file.svg +0 -0
  1810. /package/static/{407762e → 3db9eb3}/icons/icon-close.svg +0 -0
  1811. /package/static/{407762e → 3db9eb3}/icons/icon-source-control.svg +0 -0
  1812. /package/static/{407762e → 3db9eb3}/icons/icon-sync.svg +0 -0
  1813. /package/static/{407762e → 3db9eb3}/icons/icon.png +0 -0
  1814. /package/static/{407762e → 3db9eb3}/icons/icon.svg +0 -0
  1815. /package/static/{407762e → 3db9eb3}/icons/info.svg +0 -0
  1816. /package/static/{407762e → 3db9eb3}/icons/language-icon.svg +0 -0
  1817. /package/static/{407762e → 3db9eb3}/icons/link-external.svg +0 -0
  1818. /package/static/{407762e → 3db9eb3}/icons/list-flat.svg +0 -0
  1819. /package/static/{407762e → 3db9eb3}/icons/list-tree.svg +0 -0
  1820. /package/static/{407762e → 3db9eb3}/icons/new-file.svg +0 -0
  1821. /package/static/{407762e → 3db9eb3}/icons/new-folder.svg +0 -0
  1822. /package/static/{407762e → 3db9eb3}/icons/newline.svg +0 -0
  1823. /package/static/{407762e → 3db9eb3}/icons/open-preview.svg +0 -0
  1824. /package/static/{407762e → 3db9eb3}/icons/play.svg +0 -0
  1825. /package/static/{407762e → 3db9eb3}/icons/preserve-case.svg +0 -0
  1826. /package/static/{407762e → 3db9eb3}/icons/progress.svg +0 -0
  1827. /package/static/{407762e → 3db9eb3}/icons/pwa-icon-192.png +0 -0
  1828. /package/static/{407762e → 3db9eb3}/icons/pwa-icon-512.png +0 -0
  1829. /package/static/{407762e → 3db9eb3}/icons/record-keys.svg +0 -0
  1830. /package/static/{407762e → 3db9eb3}/icons/refresh.svg +0 -0
  1831. /package/static/{407762e → 3db9eb3}/icons/regex.svg +0 -0
  1832. /package/static/{407762e → 3db9eb3}/icons/remove.svg +0 -0
  1833. /package/static/{407762e → 3db9eb3}/icons/replace-all.svg +0 -0
  1834. /package/static/{407762e → 3db9eb3}/icons/replace.svg +0 -0
  1835. /package/static/{407762e → 3db9eb3}/icons/repo.svg +0 -0
  1836. /package/static/{407762e → 3db9eb3}/icons/run-all.svg +0 -0
  1837. /package/static/{407762e → 3db9eb3}/icons/search.svg +0 -0
  1838. /package/static/{407762e → 3db9eb3}/icons/send.svg +0 -0
  1839. /package/static/{407762e → 3db9eb3}/icons/settings-gear.svg +0 -0
  1840. /package/static/{407762e → 3db9eb3}/icons/sort-precedence.svg +0 -0
  1841. /package/static/{407762e → 3db9eb3}/icons/source-control.svg +0 -0
  1842. /package/static/{407762e → 3db9eb3}/icons/split-horizontal.svg +0 -0
  1843. /package/static/{407762e → 3db9eb3}/icons/squiggly-error.svg +0 -0
  1844. /package/static/{407762e → 3db9eb3}/icons/squiggly-warning.svg +0 -0
  1845. /package/static/{407762e → 3db9eb3}/icons/symbol-array.svg +0 -0
  1846. /package/static/{407762e → 3db9eb3}/icons/symbol-boolean.svg +0 -0
  1847. /package/static/{407762e → 3db9eb3}/icons/symbol-class.svg +0 -0
  1848. /package/static/{407762e → 3db9eb3}/icons/symbol-color.svg +0 -0
  1849. /package/static/{407762e → 3db9eb3}/icons/symbol-constant.svg +0 -0
  1850. /package/static/{407762e → 3db9eb3}/icons/symbol-enum-member.svg +0 -0
  1851. /package/static/{407762e → 3db9eb3}/icons/symbol-enum.svg +0 -0
  1852. /package/static/{407762e → 3db9eb3}/icons/symbol-event.svg +0 -0
  1853. /package/static/{407762e → 3db9eb3}/icons/symbol-field.svg +0 -0
  1854. /package/static/{407762e → 3db9eb3}/icons/symbol-file.svg +0 -0
  1855. /package/static/{407762e → 3db9eb3}/icons/symbol-interface.svg +0 -0
  1856. /package/static/{407762e → 3db9eb3}/icons/symbol-key.svg +0 -0
  1857. /package/static/{407762e → 3db9eb3}/icons/symbol-keyword.svg +0 -0
  1858. /package/static/{407762e → 3db9eb3}/icons/symbol-method.svg +0 -0
  1859. /package/static/{407762e → 3db9eb3}/icons/symbol-misc.svg +0 -0
  1860. /package/static/{407762e → 3db9eb3}/icons/symbol-namespace.svg +0 -0
  1861. /package/static/{407762e → 3db9eb3}/icons/symbol-numeric.svg +0 -0
  1862. /package/static/{407762e → 3db9eb3}/icons/symbol-operator.svg +0 -0
  1863. /package/static/{407762e → 3db9eb3}/icons/symbol-parameter.svg +0 -0
  1864. /package/static/{407762e → 3db9eb3}/icons/symbol-property.svg +0 -0
  1865. /package/static/{407762e → 3db9eb3}/icons/symbol-ruler.svg +0 -0
  1866. /package/static/{407762e → 3db9eb3}/icons/symbol-snippet.svg +0 -0
  1867. /package/static/{407762e → 3db9eb3}/icons/symbol-string.svg +0 -0
  1868. /package/static/{407762e → 3db9eb3}/icons/symbol-structure.svg +0 -0
  1869. /package/static/{407762e → 3db9eb3}/icons/symbol-variable.svg +0 -0
  1870. /package/static/{407762e → 3db9eb3}/icons/tag.svg +0 -0
  1871. /package/static/{407762e → 3db9eb3}/icons/terminal-bash.svg +0 -0
  1872. /package/static/{407762e → 3db9eb3}/icons/terminal.svg +0 -0
  1873. /package/static/{407762e → 3db9eb3}/icons/theme-icon.png +0 -0
  1874. /package/static/{407762e → 3db9eb3}/icons/trash.svg +0 -0
  1875. /package/static/{407762e → 3db9eb3}/icons/triangle-down.svg +0 -0
  1876. /package/static/{407762e → 3db9eb3}/icons/triangle-left.svg +0 -0
  1877. /package/static/{407762e → 3db9eb3}/icons/triangle-right.svg +0 -0
  1878. /package/static/{407762e → 3db9eb3}/icons/triangle-up.svg +0 -0
  1879. /package/static/{407762e → 3db9eb3}/icons/warning.svg +0 -0
  1880. /package/static/{407762e → 3db9eb3}/icons/whole-word.svg +0 -0
  1881. /package/static/{407762e → 3db9eb3}/icons/zoom-in.svg +0 -0
  1882. /package/static/{407762e → 3db9eb3}/icons/zoom-out.svg +0 -0
  1883. /package/static/{407762e → 3db9eb3}/js/babel-parser.js +0 -0
  1884. /package/static/{407762e → 3db9eb3}/js/ky.js +0 -0
  1885. /package/static/{407762e → 3db9eb3}/js/lvce-editor-import-script.js +0 -0
  1886. /package/static/{407762e → 3db9eb3}/js/lvce-editor-ipc.js +0 -0
  1887. /package/static/{407762e → 3db9eb3}/js/lvce-editor-json-rpc.js +0 -0
  1888. /package/static/{407762e → 3db9eb3}/js/lvce-editor-rpc.js +0 -0
  1889. /package/static/{407762e → 3db9eb3}/js/lvce-editor-verror.js +0 -0
  1890. /package/static/{407762e → 3db9eb3}/js/p-min-delay.js +0 -0
  1891. /package/static/{407762e → 3db9eb3}/js/pretty-bytes.js +0 -0
  1892. /package/static/{407762e → 3db9eb3}/js/preview-injected.js +0 -0
  1893. /package/static/{407762e → 3db9eb3}/js/yoctodelay.js +0 -0
  1894. /package/static/{407762e → 3db9eb3}/lib-css/termterm.css +0 -0
  1895. /package/static/{407762e → 3db9eb3}/packages/activity-bar-worker/dist/activityBarWorkerMain.js +0 -0
  1896. /package/static/{407762e → 3db9eb3}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +0 -0
  1897. /package/static/{407762e → 3db9eb3}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1898. /package/static/{407762e → 3db9eb3}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  1899. /package/static/{407762e → 3db9eb3}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
  1900. /package/static/{407762e → 3db9eb3}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
  1901. /package/static/{407762e → 3db9eb3}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  1902. /package/static/{407762e → 3db9eb3}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1903. /package/static/{407762e → 3db9eb3}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  1904. /package/static/{407762e → 3db9eb3}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
  1905. /package/static/{407762e → 3db9eb3}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1906. /package/static/{407762e → 3db9eb3}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1907. /package/static/{407762e → 3db9eb3}/packages/extension-management-worker/dist/extensionManagementWorkerMain.js +0 -0
  1908. /package/static/{407762e → 3db9eb3}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1909. /package/static/{407762e → 3db9eb3}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  1910. /package/static/{407762e → 3db9eb3}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  1911. /package/static/{407762e → 3db9eb3}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  1912. /package/static/{407762e → 3db9eb3}/packages/hover-worker/dist/hoverWorkerMain.js +0 -0
  1913. /package/static/{407762e → 3db9eb3}/packages/icon-theme-worker/dist/iconThemeWorkerMain.js +0 -0
  1914. /package/static/{407762e → 3db9eb3}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1915. /package/static/{407762e → 3db9eb3}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1916. /package/static/{407762e → 3db9eb3}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1917. /package/static/{407762e → 3db9eb3}/packages/language-models-view/dist/languageModelsViewMain.js +0 -0
  1918. /package/static/{407762e → 3db9eb3}/packages/main-area-worker/dist/mainAreaWorkerMain.js +0 -0
  1919. /package/static/{407762e → 3db9eb3}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  1920. /package/static/{407762e → 3db9eb3}/packages/menu-worker/dist/menuWorkerMain.js +0 -0
  1921. /package/static/{407762e → 3db9eb3}/packages/opener-worker/dist/openerWorkerMain.js +0 -0
  1922. /package/static/{407762e → 3db9eb3}/packages/output-view/dist/outputViewWorkerMain.js +0 -0
  1923. /package/static/{407762e → 3db9eb3}/packages/panel-worker/dist/panelWorkerMain.js +0 -0
  1924. /package/static/{407762e → 3db9eb3}/packages/preload/dist/index.js +0 -0
  1925. /package/static/{407762e → 3db9eb3}/packages/preview-sandbox-worker/dist/previewSandBoxWorkerMain.js +0 -0
  1926. /package/static/{407762e → 3db9eb3}/packages/preview-worker/dist/previewWorkerMain.js +0 -0
  1927. /package/static/{407762e → 3db9eb3}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
  1928. /package/static/{407762e → 3db9eb3}/packages/quick-pick-worker/dist/quickPickWorkerMain.js +0 -0
  1929. /package/static/{407762e → 3db9eb3}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
  1930. /package/static/{407762e → 3db9eb3}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1931. /package/static/{407762e → 3db9eb3}/packages/renderer-process/LICENSE +0 -0
  1932. /package/static/{407762e → 3db9eb3}/packages/renderer-process/README.md +0 -0
  1933. /package/static/{407762e → 3db9eb3}/packages/renderer-process/package.json +0 -0
  1934. /package/static/{407762e → 3db9eb3}/packages/settings-view/dist/settingsViewWorkerMain.js +0 -0
  1935. /package/static/{407762e → 3db9eb3}/packages/source-action-worker/dist/sourceActionWorkerMain.js +0 -0
  1936. /package/static/{407762e → 3db9eb3}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1937. /package/static/{407762e → 3db9eb3}/packages/status-bar-worker/dist/statusBarWorkerMain.js +0 -0
  1938. /package/static/{407762e → 3db9eb3}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1939. /package/static/{407762e → 3db9eb3}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1940. /package/static/{407762e → 3db9eb3}/packages/test-worker/dist/testWorkerMain.js +0 -0
  1941. /package/static/{407762e → 3db9eb3}/packages/text-measurement-worker/dist/textMeasurementWorkerMain.js +0 -0
  1942. /package/static/{407762e → 3db9eb3}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1943. /package/static/{407762e → 3db9eb3}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1944. /package/static/{407762e → 3db9eb3}/packages/update-worker/dist/updateWorkerMain.js +0 -0
  1945. /package/static/{407762e → 3db9eb3}/playground/languages/index.cpp +0 -0
  1946. /package/static/{407762e → 3db9eb3}/playground/languages/index.css +0 -0
  1947. /package/static/{407762e → 3db9eb3}/playground/languages/index.csv +0 -0
  1948. /package/static/{407762e → 3db9eb3}/playground/languages/index.dart +0 -0
  1949. /package/static/{407762e → 3db9eb3}/playground/languages/index.env +0 -0
  1950. /package/static/{407762e → 3db9eb3}/playground/languages/index.ex +0 -0
  1951. /package/static/{407762e → 3db9eb3}/playground/languages/index.html +0 -0
  1952. /package/static/{407762e → 3db9eb3}/playground/languages/index.java +0 -0
  1953. /package/static/{407762e → 3db9eb3}/playground/languages/index.jl +0 -0
  1954. /package/static/{407762e → 3db9eb3}/playground/languages/index.js +0 -0
  1955. /package/static/{407762e → 3db9eb3}/playground/languages/index.json +0 -0
  1956. /package/static/{407762e → 3db9eb3}/playground/languages/index.kt +0 -0
  1957. /package/static/{407762e → 3db9eb3}/playground/languages/index.pl +0 -0
  1958. /package/static/{407762e → 3db9eb3}/playground/languages/index.py +0 -0
  1959. /package/static/{407762e → 3db9eb3}/playground/languages/index.ts +0 -0
  1960. /package/static/{407762e → 3db9eb3}/playground/languages/scrolling.txt +0 -0
  1961. /package/static/{407762e → 3db9eb3}/playground/languages/tsconfig.json +0 -0
  1962. /package/static/{407762e → 3db9eb3}/playground/sample-folder/a.txt +0 -0
  1963. /package/static/{407762e → 3db9eb3}/playground/sample-folder/b.txt +0 -0
  1964. /package/static/{407762e → 3db9eb3}/playground/sample-folder/c.txt +0 -0
@@ -1036,6 +1036,7 @@ const create$2 = rpcId => {
1036
1036
  };
1037
1037
 
1038
1038
  const {
1039
+ invoke: invoke$1,
1039
1040
  set: set$2
1040
1041
  } = create$2(ExtensionHostWorker);
1041
1042
 
@@ -1044,10 +1045,16 @@ const {
1044
1045
  invokeAndTransfer,
1045
1046
  set: set$1
1046
1047
  } = create$2(RendererWorker);
1048
+ const readFile = async uri => {
1049
+ return invoke('FileSystem.readFile', uri);
1050
+ };
1047
1051
  const sendMessagePortToExtensionHostWorker$1 = async (port, rpcId = 0) => {
1048
1052
  const command = 'HandleMessagePort.handleMessagePort2';
1049
1053
  await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1050
1054
  };
1055
+ const activateByEvent$1 = (event, assetDir, platform) => {
1056
+ return invoke('ExtensionHostManagement.activateByEvent', event, assetDir, platform);
1057
+ };
1051
1058
  const getPreference = async key => {
1052
1059
  return await invoke('Preferences.get', key);
1053
1060
  };
@@ -1175,9 +1182,50 @@ const terminate = () => {
1175
1182
  globalThis.close();
1176
1183
  };
1177
1184
 
1185
+ const measureTextBlockHeight = async (text, fontFamily, fontSize, lineHeight, width) => {
1186
+ return invoke('MeasureTextBlockHeight.measureTextBlockHeight', text, fontSize, fontFamily, lineHeight, width);
1187
+ };
1188
+
1189
+ const getComposerWidth = width => {
1190
+ return Math.max(1, width - 32);
1191
+ };
1192
+ const getMinComposerHeight = lineHeight => {
1193
+ return lineHeight + 8;
1194
+ };
1195
+ const getMaxComposerHeight = (lineHeight, maxComposerRows) => {
1196
+ return lineHeight * Math.max(1, maxComposerRows) + 8;
1197
+ };
1198
+ const estimateComposerHeight = (value, lineHeight) => {
1199
+ const lineCount = value.split('\n').length;
1200
+ return lineCount * lineHeight + 8;
1201
+ };
1202
+ const getComposerHeight = async (state, value, width = state.width) => {
1203
+ const {
1204
+ composerFontFamily,
1205
+ composerFontSize,
1206
+ composerLineHeight,
1207
+ maxComposerRows
1208
+ } = state;
1209
+ const minimumHeight = getMinComposerHeight(composerLineHeight);
1210
+ const maximumHeight = getMaxComposerHeight(composerLineHeight, maxComposerRows);
1211
+ const content = value || ' ';
1212
+ const composerWidth = getComposerWidth(width);
1213
+ try {
1214
+ const measuredHeight = await measureTextBlockHeight(content, composerFontFamily, composerFontSize, composerLineHeight, composerWidth);
1215
+ const height = Math.ceil(measuredHeight) + 8;
1216
+ return Math.max(minimumHeight, Math.min(maximumHeight, height));
1217
+ } catch {
1218
+ return Math.max(minimumHeight, Math.min(maximumHeight, estimateComposerHeight(value, composerLineHeight)));
1219
+ }
1220
+ };
1221
+ const getMinComposerHeightForState = state => {
1222
+ return getMinComposerHeight(state.composerLineHeight);
1223
+ };
1224
+
1178
1225
  const clearInput = async state => {
1179
1226
  return {
1180
1227
  ...state,
1228
+ composerHeight: getMinComposerHeightForState(state),
1181
1229
  composerValue: ''
1182
1230
  };
1183
1231
  };
@@ -1224,15 +1272,24 @@ const composePlaceholder = () => {
1224
1272
  const openRouterApiKeyPlaceholder = () => {
1225
1273
  return i18nString('Enter OpenRouter API key');
1226
1274
  };
1275
+ const openApiApiKeyPlaceholder = () => {
1276
+ return i18nString('Enter OpenAI API key');
1277
+ };
1227
1278
  const sendMessage = () => {
1228
1279
  return i18nString('Send message');
1229
1280
  };
1230
1281
  const save = () => {
1231
1282
  return i18nString('Save');
1232
1283
  };
1284
+ const saving = () => {
1285
+ return i18nString('Saving...');
1286
+ };
1233
1287
  const getOpenRouterApiKey = () => {
1234
1288
  return i18nString('Get API Key');
1235
1289
  };
1290
+ const getOpenApiApiKey = () => {
1291
+ return i18nString('Get API Key');
1292
+ };
1236
1293
  const deleteChatSession$1 = () => {
1237
1294
  return i18nString('Delete chat session');
1238
1295
  };
@@ -1260,6 +1317,22 @@ const getDefaultModels = () => {
1260
1317
  id: defaultModelId,
1261
1318
  name: 'test',
1262
1319
  provider: 'test'
1320
+ }, {
1321
+ id: 'openapi/gpt-5-mini',
1322
+ name: 'GPT-5 Mini',
1323
+ provider: 'openApi'
1324
+ }, {
1325
+ id: 'openapi/gpt-4o-mini',
1326
+ name: 'GPT-4o Mini',
1327
+ provider: 'openApi'
1328
+ }, {
1329
+ id: 'openapi/gpt-4o',
1330
+ name: 'GPT-4o',
1331
+ provider: 'openApi'
1332
+ }, {
1333
+ id: 'openapi/gpt-4.1-mini',
1334
+ name: 'GPT-4.1 Mini',
1335
+ provider: 'openApi'
1263
1336
  }, {
1264
1337
  id: 'codex-5.3',
1265
1338
  name: 'Codex 5.3',
@@ -1313,8 +1386,15 @@ const getDefaultModels = () => {
1313
1386
  const createDefaultState = () => {
1314
1387
  const defaultSessionId = 'session-1';
1315
1388
  const defaultModelId = 'test';
1389
+ const composerFontSize = 13;
1390
+ const composerLineHeight = 20;
1316
1391
  return {
1317
1392
  assetDir: '',
1393
+ chatListScrollTop: 0,
1394
+ composerFontFamily: 'system-ui',
1395
+ composerFontSize,
1396
+ composerHeight: composerLineHeight + 8,
1397
+ composerLineHeight,
1318
1398
  composerValue: '',
1319
1399
  errorCount: 0,
1320
1400
  focus: 'composer',
@@ -1325,12 +1405,20 @@ const createDefaultState = () => {
1325
1405
  inputSource: 'script',
1326
1406
  lastSubmittedSessionId: '',
1327
1407
  listItemHeight: 40,
1408
+ maxComposerRows: 5,
1409
+ messagesScrollTop: 0,
1410
+ mockApiCommandId: '',
1328
1411
  models: getDefaultModels(),
1329
1412
  nextMessageId: 1,
1413
+ openApiApiBaseUrl: 'https://api.openai.com/v1',
1414
+ openApiApiKey: '',
1415
+ openApiApiKeyInput: '',
1416
+ openApiApiKeysSettingsUrl: 'https://platform.openai.com/api-keys',
1330
1417
  openRouterApiBaseUrl: 'https://openrouter.ai/api/v1',
1331
1418
  openRouterApiKey: '',
1332
1419
  openRouterApiKeyInput: '',
1333
1420
  openRouterApiKeysSettingsUrl: 'https://openrouter.ai/settings/keys',
1421
+ openRouterApiKeyState: 'idle',
1334
1422
  platform: 0,
1335
1423
  renamingSessionId: '',
1336
1424
  selectedModelId: defaultModelId,
@@ -1340,10 +1428,12 @@ const createDefaultState = () => {
1340
1428
  messages: [],
1341
1429
  title: defaultSessionTitle()
1342
1430
  }],
1431
+ streamingEnabled: false,
1343
1432
  tokensMax: 0,
1344
1433
  tokensUsed: 0,
1345
1434
  uid: 0,
1346
1435
  usageOverviewEnabled: false,
1436
+ useMockApi: false,
1347
1437
  viewMode: 'list',
1348
1438
  warningCount: 0,
1349
1439
  width: 0,
@@ -1376,7 +1466,7 @@ const create = (uid, x, y, width, height, platform, assetDir) => {
1376
1466
  };
1377
1467
 
1378
1468
  const isEqual$1 = (oldState, newState) => {
1379
- return oldState.initial === newState.initial;
1469
+ return oldState.initial === newState.initial && oldState.composerHeight === newState.composerHeight && oldState.composerLineHeight === newState.composerLineHeight && oldState.composerFontFamily === newState.composerFontFamily && oldState.composerFontSize === newState.composerFontSize;
1380
1470
  };
1381
1471
 
1382
1472
  const diffFocus = (oldState, newState) => {
@@ -1390,12 +1480,17 @@ const isEqual = (oldState, newState) => {
1390
1480
  return oldState.composerValue === newState.composerValue && oldState.initial === newState.initial && oldState.renamingSessionId === newState.renamingSessionId && oldState.selectedModelId === newState.selectedModelId && oldState.selectedSessionId === newState.selectedSessionId && oldState.sessions === newState.sessions && oldState.tokensMax === newState.tokensMax && oldState.tokensUsed === newState.tokensUsed && oldState.usageOverviewEnabled === newState.usageOverviewEnabled && oldState.viewMode === newState.viewMode;
1391
1481
  };
1392
1482
 
1483
+ const diffScrollTop = (oldState, newState) => {
1484
+ return oldState.chatListScrollTop === newState.chatListScrollTop && oldState.messagesScrollTop === newState.messagesScrollTop;
1485
+ };
1486
+
1393
1487
  const RenderItems = 4;
1394
1488
  const RenderFocus = 6;
1395
1489
  const RenderFocusContext = 7;
1396
1490
  const RenderValue = 8;
1397
1491
  const RenderCss = 10;
1398
1492
  const RenderIncremental = 11;
1493
+ const RenderScrollTop = 12;
1399
1494
 
1400
1495
  const diffValue = (oldState, newState) => {
1401
1496
  if (oldState.composerValue === newState.composerValue) {
@@ -1404,8 +1499,8 @@ const diffValue = (oldState, newState) => {
1404
1499
  return newState.inputSource !== 'script';
1405
1500
  };
1406
1501
 
1407
- const modules = [isEqual, diffValue, diffFocus, isEqual$1, diffFocus];
1408
- const numbers = [RenderIncremental, RenderValue, RenderFocus, RenderCss, RenderFocusContext];
1502
+ const modules = [isEqual, diffValue, diffFocus, isEqual$1, diffFocus, diffScrollTop];
1503
+ const numbers = [RenderIncremental, RenderValue, RenderFocus, RenderCss, RenderFocusContext, RenderScrollTop];
1409
1504
 
1410
1505
  const diff = (oldState, newState) => {
1411
1506
  const diffResult = [];
@@ -1438,6 +1533,7 @@ const FocusSelector = 'Viewlet.focusSelector';
1438
1533
  const SetCss = 'Viewlet.setCss';
1439
1534
  const SetDom2 = 'Viewlet.setDom2';
1440
1535
  const SetFocusContext = 'Viewlet.setFocusContext';
1536
+ const SetProperty = 'Viewlet.setProperty';
1441
1537
  const SetValueByName = 'Viewlet.setValueByName';
1442
1538
  const SetPatches = 'Viewlet.setPatches';
1443
1539
 
@@ -2084,14 +2180,23 @@ const deleteSession = async (state, id) => {
2084
2180
  };
2085
2181
  };
2086
2182
 
2183
+ const handleClickOpenApiApiKeySettings = async state => {
2184
+ await openExternal(state.openApiApiKeysSettingsUrl);
2185
+ return state;
2186
+ };
2187
+
2087
2188
  const handleClickOpenRouterApiKeySettings = async state => {
2088
2189
  await openExternal(state.openRouterApiKeysSettingsUrl);
2089
2190
  return state;
2090
2191
  };
2091
2192
 
2193
+ const openApiApiKeyRequiredMessage = 'OpenAI API key is not configured. Enter your OpenAI API key below and click Save.';
2194
+ const openApiRequestFailedMessage = 'OpenAI request failed.';
2092
2195
  const openRouterApiKeyRequiredMessage = 'OpenRouter API key is not configured. Enter your OpenRouter API key below and click Save.';
2093
2196
  const openRouterRequestFailedMessage = 'OpenRouter request failed. Possible reasons:';
2197
+ const openRouterTooManyRequestsMessage = 'OpenRouter rate limit reached (429). Please try again soon. Helpful tips:';
2094
2198
  const openRouterRequestFailureReasons = ['ContentSecurityPolicyViolation: Check DevTools for details.', 'OpenRouter server offline: Check DevTools for details.', 'Check your internet connection.'];
2199
+ const openRouterTooManyRequestsReasons = ['Wait a short time and retry your request.', 'Reduce request frequency to avoid rate limits.', 'Use a different model if this one is saturated.'];
2095
2200
 
2096
2201
  const delay = async ms => {
2097
2202
  await new Promise(resolve => setTimeout(resolve, ms));
@@ -2102,10 +2207,320 @@ const getMockAiResponse = async userMessage => {
2102
2207
  return `Mock AI response: I received "${userMessage}".`;
2103
2208
  };
2104
2209
 
2105
- const defaultOpenRouterApiBaseUrl = 'https://openrouter.ai/api/v1';
2106
- const getOpenRouterApiEndpoint = openRouterApiBaseUrl => {
2107
- const trimmedBaseUrl = (openRouterApiBaseUrl || defaultOpenRouterApiBaseUrl).replace(/\/+$/, '');
2108
- return `${trimmedBaseUrl}/chat/completions`;
2210
+ const activateByEvent = (event, assetDir, platform) => {
2211
+ // @ts-ignore
2212
+ return activateByEvent$1(event, assetDir, platform);
2213
+ };
2214
+
2215
+ const executeProvider = async ({
2216
+ assetDir,
2217
+ event,
2218
+ method,
2219
+ noProviderFoundMessage,
2220
+ params,
2221
+ platform
2222
+ }) => {
2223
+ await activateByEvent(event, assetDir, platform);
2224
+ // @ts-ignore
2225
+ const result = invoke$1(method, ...params);
2226
+ return result;
2227
+ };
2228
+
2229
+ const CommandExecute = 'ExtensionHostCommand.executeCommand';
2230
+ const FileSystemWriteFile = 'ExtensionHostFileSystem.writeFile';
2231
+
2232
+ const normalizeLimitInfo = value => {
2233
+ if (!value || typeof value !== 'object') {
2234
+ return undefined;
2235
+ }
2236
+ const limitRemaining = Reflect.get(value, 'limitRemaining');
2237
+ const limitReset = Reflect.get(value, 'limitReset');
2238
+ const retryAfter = Reflect.get(value, 'retryAfter');
2239
+ const usage = Reflect.get(value, 'usage');
2240
+ const usageDaily = Reflect.get(value, 'usageDaily');
2241
+ const normalized = {
2242
+ limitRemaining: typeof limitRemaining === 'number' || limitRemaining === null ? limitRemaining : undefined,
2243
+ limitReset: typeof limitReset === 'string' || limitReset === null ? limitReset : undefined,
2244
+ retryAfter: typeof retryAfter === 'string' || retryAfter === null ? retryAfter : undefined,
2245
+ usage: typeof usage === 'number' ? usage : undefined,
2246
+ usageDaily: typeof usageDaily === 'number' ? usageDaily : undefined
2247
+ };
2248
+ const hasDetails = normalized.limitRemaining !== undefined || normalized.limitReset !== undefined || normalized.retryAfter !== undefined || normalized.usage !== undefined || normalized.usageDaily !== undefined;
2249
+ return hasDetails ? normalized : undefined;
2250
+ };
2251
+
2252
+ const normalizeMockResult = value => {
2253
+ if (typeof value === 'string') {
2254
+ return {
2255
+ text: value,
2256
+ type: 'success'
2257
+ };
2258
+ }
2259
+ if (!value || typeof value !== 'object') {
2260
+ return {
2261
+ details: 'request-failed',
2262
+ type: 'error'
2263
+ };
2264
+ }
2265
+ const type = Reflect.get(value, 'type');
2266
+ if (type === 'success') {
2267
+ const text = Reflect.get(value, 'text');
2268
+ if (typeof text === 'string') {
2269
+ return {
2270
+ text,
2271
+ type: 'success'
2272
+ };
2273
+ }
2274
+ return {
2275
+ details: 'request-failed',
2276
+ type: 'error'
2277
+ };
2278
+ }
2279
+ if (type === 'error') {
2280
+ const details = Reflect.get(value, 'details');
2281
+ if (details === 'request-failed' || details === 'too-many-requests' || details === 'http-error') {
2282
+ const rawMessage = Reflect.get(value, 'rawMessage');
2283
+ const statusCode = Reflect.get(value, 'statusCode');
2284
+ return {
2285
+ details,
2286
+ limitInfo: normalizeLimitInfo(Reflect.get(value, 'limitInfo')),
2287
+ rawMessage: typeof rawMessage === 'string' ? rawMessage : undefined,
2288
+ statusCode: typeof statusCode === 'number' ? statusCode : undefined,
2289
+ type: 'error'
2290
+ };
2291
+ }
2292
+ }
2293
+ const text = Reflect.get(value, 'text');
2294
+ if (typeof text === 'string') {
2295
+ return {
2296
+ text,
2297
+ type: 'success'
2298
+ };
2299
+ }
2300
+ return {
2301
+ details: 'request-failed',
2302
+ type: 'error'
2303
+ };
2304
+ };
2305
+
2306
+ const getMockOpenRouterAssistantText = async (messages, modelId, openRouterApiBaseUrl, openRouterApiKey, mockApiCommandId, assetDir, platform) => {
2307
+ if (!mockApiCommandId) {
2308
+ return {
2309
+ details: 'request-failed',
2310
+ type: 'error'
2311
+ };
2312
+ }
2313
+ try {
2314
+ const result = await executeProvider({
2315
+ assetDir,
2316
+ event: `onCommand:${mockApiCommandId}`,
2317
+ method: CommandExecute,
2318
+ noProviderFoundMessage: 'No mock api command found',
2319
+ params: [mockApiCommandId, {
2320
+ messages,
2321
+ modelId,
2322
+ openRouterApiBaseUrl,
2323
+ openRouterApiKey
2324
+ }],
2325
+ platform
2326
+ });
2327
+ return normalizeMockResult(result);
2328
+ } catch {
2329
+ return {
2330
+ details: 'request-failed',
2331
+ type: 'error'
2332
+ };
2333
+ }
2334
+ };
2335
+
2336
+ const OnFileSystem = 'onFileSystem';
2337
+
2338
+ const isPathTraversalAttempt = path => {
2339
+ if (!path) {
2340
+ return false;
2341
+ }
2342
+ if (path.startsWith('/') || path.startsWith('\\')) {
2343
+ return true;
2344
+ }
2345
+ if (path.startsWith('file://')) {
2346
+ return true;
2347
+ }
2348
+ if (/^[a-zA-Z]:[\\/]/.test(path)) {
2349
+ return true;
2350
+ }
2351
+ const segments = path.split(/[\\/]/);
2352
+ return segments.includes('..');
2353
+ };
2354
+ const normalizeRelativePath = path => {
2355
+ const segments = path.split(/[\\/]/).filter(segment => segment && segment !== '.');
2356
+ if (segments.length === 0) {
2357
+ return '.';
2358
+ }
2359
+ return segments.join('/');
2360
+ };
2361
+ const parseToolArguments = rawArguments => {
2362
+ if (typeof rawArguments !== 'string') {
2363
+ return {};
2364
+ }
2365
+ try {
2366
+ const parsed = JSON.parse(rawArguments);
2367
+ if (!parsed || typeof parsed !== 'object') {
2368
+ return {};
2369
+ }
2370
+ return parsed;
2371
+ } catch {
2372
+ return {};
2373
+ }
2374
+ };
2375
+ const executeFileSystemCommand = async (method, params, options) => {
2376
+ return executeProvider({
2377
+ assetDir: options.assetDir,
2378
+ event: OnFileSystem,
2379
+ method,
2380
+ noProviderFoundMessage: 'No file system provider found',
2381
+ params,
2382
+ platform: options.platform
2383
+ });
2384
+ };
2385
+ const getBasicChatTools = () => {
2386
+ return [{
2387
+ function: {
2388
+ description: 'Read UTF-8 text content from a file inside the currently open workspace folder.',
2389
+ name: 'read_file',
2390
+ parameters: {
2391
+ additionalProperties: false,
2392
+ properties: {
2393
+ path: {
2394
+ description: 'Relative file path within the workspace (for example: src/index.ts).',
2395
+ type: 'string'
2396
+ }
2397
+ },
2398
+ required: ['path'],
2399
+ type: 'object'
2400
+ }
2401
+ },
2402
+ type: 'function'
2403
+ }, {
2404
+ function: {
2405
+ description: 'Write UTF-8 text content to a file inside the currently open workspace folder.',
2406
+ name: 'write_file',
2407
+ parameters: {
2408
+ additionalProperties: false,
2409
+ properties: {
2410
+ content: {
2411
+ description: 'New UTF-8 text content to write to the file.',
2412
+ type: 'string'
2413
+ },
2414
+ path: {
2415
+ description: 'Relative file path within the workspace (for example: src/index.ts).',
2416
+ type: 'string'
2417
+ }
2418
+ },
2419
+ required: ['path', 'content'],
2420
+ type: 'object'
2421
+ }
2422
+ },
2423
+ type: 'function'
2424
+ }, {
2425
+ function: {
2426
+ description: 'List direct children (files and folders) for a folder inside the currently open workspace folder.',
2427
+ name: 'list_files',
2428
+ parameters: {
2429
+ additionalProperties: false,
2430
+ properties: {
2431
+ path: {
2432
+ description: 'Relative folder path within the workspace. Use "." for the workspace root.',
2433
+ type: 'string'
2434
+ }
2435
+ },
2436
+ type: 'object'
2437
+ }
2438
+ },
2439
+ type: 'function'
2440
+ }];
2441
+ };
2442
+ const executeChatTool = async (name, rawArguments, options) => {
2443
+ const args = parseToolArguments(rawArguments);
2444
+ if (name === 'read_file') {
2445
+ const filePath = typeof args.path === 'string' ? args.path : '';
2446
+ if (!filePath || isPathTraversalAttempt(filePath)) {
2447
+ return JSON.stringify({
2448
+ error: 'Access denied: path must be relative and stay within the open workspace folder.'
2449
+ });
2450
+ }
2451
+ const normalizedPath = normalizeRelativePath(filePath);
2452
+ try {
2453
+ const content = await readFile(normalizedPath);
2454
+ return JSON.stringify({
2455
+ content,
2456
+ path: normalizedPath
2457
+ });
2458
+ } catch (error) {
2459
+ return JSON.stringify({
2460
+ error: String(error),
2461
+ path: normalizedPath
2462
+ });
2463
+ }
2464
+ }
2465
+ if (name === 'write_file') {
2466
+ const filePath = typeof args.path === 'string' ? args.path : '';
2467
+ const content = typeof args.content === 'string' ? args.content : '';
2468
+ if (!filePath || isPathTraversalAttempt(filePath)) {
2469
+ return JSON.stringify({
2470
+ error: 'Access denied: path must be relative and stay within the open workspace folder.'
2471
+ });
2472
+ }
2473
+ const normalizedPath = normalizeRelativePath(filePath);
2474
+ try {
2475
+ await executeFileSystemCommand(FileSystemWriteFile, ['file', normalizedPath, content], options);
2476
+ return JSON.stringify({
2477
+ ok: true,
2478
+ path: normalizedPath
2479
+ });
2480
+ } catch (error) {
2481
+ return JSON.stringify({
2482
+ error: String(error),
2483
+ path: normalizedPath
2484
+ });
2485
+ }
2486
+ }
2487
+ if (name === 'list_files') {
2488
+ const folderPath = typeof args.path === 'string' && args.path ? args.path : '.';
2489
+ if (isPathTraversalAttempt(folderPath)) {
2490
+ return JSON.stringify({
2491
+ error: 'Access denied: path must be relative and stay within the open workspace folder.'
2492
+ });
2493
+ }
2494
+ const normalizedPath = normalizeRelativePath(folderPath);
2495
+ try {
2496
+ const entries = await invoke('FileSystem.readDirWithFileTypes', normalizedPath);
2497
+ return JSON.stringify({
2498
+ entries,
2499
+ path: normalizedPath
2500
+ });
2501
+ } catch (error) {
2502
+ return JSON.stringify({
2503
+ error: String(error),
2504
+ path: normalizedPath
2505
+ });
2506
+ }
2507
+ }
2508
+ return JSON.stringify({
2509
+ error: `Unknown tool: ${name}`
2510
+ });
2511
+ };
2512
+
2513
+ const getClientRequestIdHeader = () => {
2514
+ return {
2515
+ 'x-client-request-id': crypto.randomUUID()
2516
+ };
2517
+ };
2518
+
2519
+ const getOpenApiApiEndpoint = (openApiApiBaseUrl, stream) => {
2520
+ if (stream) {
2521
+ return `${openApiApiBaseUrl}/chat/completions?stream=true`;
2522
+ }
2523
+ return `${openApiApiBaseUrl}/chat/completions`;
2109
2524
  };
2110
2525
 
2111
2526
  const getTextContent = content => {
@@ -2126,53 +2541,612 @@ const getTextContent = content => {
2126
2541
  textParts.push(maybeText);
2127
2542
  }
2128
2543
  }
2129
- return textParts.join('\n');
2544
+ return textParts.join('\n');
2545
+ };
2546
+
2547
+ const getStreamChunkText = content => {
2548
+ if (typeof content === 'string') {
2549
+ return content;
2550
+ }
2551
+ if (!Array.isArray(content)) {
2552
+ return '';
2553
+ }
2554
+ return content.map(part => {
2555
+ if (!part || typeof part !== 'object') {
2556
+ return '';
2557
+ }
2558
+ const text = Reflect.get(part, 'text');
2559
+ return typeof text === 'string' ? text : '';
2560
+ }).join('');
2561
+ };
2562
+ const parseSseEvent = eventChunk => {
2563
+ const lines = eventChunk.split('\n');
2564
+ const dataLines = [];
2565
+ for (const line of lines) {
2566
+ if (!line.startsWith('data:')) {
2567
+ continue;
2568
+ }
2569
+ dataLines.push(line.slice(5).trimStart());
2570
+ }
2571
+ return dataLines;
2572
+ };
2573
+ const parseOpenApiStream = async (response, onTextChunk) => {
2574
+ if (!response.body) {
2575
+ return {
2576
+ details: 'request-failed',
2577
+ type: 'error'
2578
+ };
2579
+ }
2580
+ const reader = response.body.getReader();
2581
+ const decoder = new TextDecoder();
2582
+ let remainder = '';
2583
+ let text = '';
2584
+ let done = false;
2585
+ while (!done) {
2586
+ const {
2587
+ done: streamDone,
2588
+ value
2589
+ } = await reader.read();
2590
+ if (streamDone) {
2591
+ done = true;
2592
+ } else if (value) {
2593
+ remainder += decoder.decode(value, {
2594
+ stream: true
2595
+ });
2596
+ }
2597
+ while (true) {
2598
+ const separatorIndex = remainder.indexOf('\n\n');
2599
+ if (separatorIndex === -1) {
2600
+ break;
2601
+ }
2602
+ const rawEvent = remainder.slice(0, separatorIndex);
2603
+ remainder = remainder.slice(separatorIndex + 2);
2604
+ const dataLines = parseSseEvent(rawEvent);
2605
+ if (dataLines.length === 0) {
2606
+ continue;
2607
+ }
2608
+ for (const line of dataLines) {
2609
+ if (line === '[DONE]') {
2610
+ done = true;
2611
+ break;
2612
+ }
2613
+ let parsed;
2614
+ try {
2615
+ parsed = JSON.parse(line);
2616
+ } catch {
2617
+ continue;
2618
+ }
2619
+ if (!parsed || typeof parsed !== 'object') {
2620
+ continue;
2621
+ }
2622
+ const choices = Reflect.get(parsed, 'choices');
2623
+ if (!Array.isArray(choices)) {
2624
+ continue;
2625
+ }
2626
+ const firstChoice = choices[0];
2627
+ if (!firstChoice || typeof firstChoice !== 'object') {
2628
+ continue;
2629
+ }
2630
+ const delta = Reflect.get(firstChoice, 'delta');
2631
+ if (!delta || typeof delta !== 'object') {
2632
+ continue;
2633
+ }
2634
+ const content = Reflect.get(delta, 'content');
2635
+ const chunkText = getStreamChunkText(content);
2636
+ if (!chunkText) {
2637
+ continue;
2638
+ }
2639
+ text += chunkText;
2640
+ if (onTextChunk) {
2641
+ await onTextChunk(chunkText);
2642
+ }
2643
+ }
2644
+ }
2645
+ }
2646
+ if (remainder) {
2647
+ const dataLines = parseSseEvent(remainder);
2648
+ for (const line of dataLines) {
2649
+ if (line === '[DONE]') {
2650
+ continue;
2651
+ }
2652
+ let parsed;
2653
+ try {
2654
+ parsed = JSON.parse(line);
2655
+ } catch {
2656
+ continue;
2657
+ }
2658
+ if (!parsed || typeof parsed !== 'object') {
2659
+ continue;
2660
+ }
2661
+ const choices = Reflect.get(parsed, 'choices');
2662
+ if (!Array.isArray(choices)) {
2663
+ continue;
2664
+ }
2665
+ const firstChoice = choices[0];
2666
+ if (!firstChoice || typeof firstChoice !== 'object') {
2667
+ continue;
2668
+ }
2669
+ const delta = Reflect.get(firstChoice, 'delta');
2670
+ if (!delta || typeof delta !== 'object') {
2671
+ continue;
2672
+ }
2673
+ const content = Reflect.get(delta, 'content');
2674
+ const chunkText = getStreamChunkText(content);
2675
+ if (!chunkText) {
2676
+ continue;
2677
+ }
2678
+ text += chunkText;
2679
+ if (onTextChunk) {
2680
+ await onTextChunk(chunkText);
2681
+ }
2682
+ }
2683
+ }
2684
+ return {
2685
+ text,
2686
+ type: 'success'
2687
+ };
2688
+ };
2689
+ const getOpenApiErrorDetails = async response => {
2690
+ let parsed;
2691
+ try {
2692
+ parsed = await response.json();
2693
+ } catch {
2694
+ return {};
2695
+ }
2696
+ if (!parsed || typeof parsed !== 'object') {
2697
+ return {};
2698
+ }
2699
+ const error = Reflect.get(parsed, 'error');
2700
+ if (!error || typeof error !== 'object') {
2701
+ return {};
2702
+ }
2703
+ const errorCode = Reflect.get(error, 'code');
2704
+ const errorMessage = Reflect.get(error, 'message');
2705
+ const errorType = Reflect.get(error, 'type');
2706
+ return {
2707
+ errorCode: typeof errorCode === 'string' ? errorCode : undefined,
2708
+ errorMessage: typeof errorMessage === 'string' ? errorMessage : undefined,
2709
+ errorType: typeof errorType === 'string' ? errorType : undefined
2710
+ };
2711
+ };
2712
+ const getOpenApiAssistantText = async (messages, modelId, openApiApiKey, openApiApiBaseUrl, assetDir, platform, options) => {
2713
+ const {
2714
+ onTextChunk,
2715
+ stream
2716
+ } = options ?? {
2717
+ stream: false
2718
+ };
2719
+ const completionMessages = messages.map(message => ({
2720
+ content: message.text,
2721
+ role: message.role
2722
+ }));
2723
+ const tools = getBasicChatTools();
2724
+ const maxToolIterations = 4;
2725
+ for (let i = 0; i <= maxToolIterations; i++) {
2726
+ let response;
2727
+ try {
2728
+ response = await fetch(getOpenApiApiEndpoint(openApiApiBaseUrl, stream), {
2729
+ body: JSON.stringify({
2730
+ messages: completionMessages,
2731
+ model: modelId,
2732
+ ...(stream ? {
2733
+ stream: true
2734
+ } : {}),
2735
+ tool_choice: 'auto',
2736
+ tools
2737
+ }),
2738
+ headers: {
2739
+ Authorization: `Bearer ${openApiApiKey}`,
2740
+ 'Content-Type': 'application/json',
2741
+ ...getClientRequestIdHeader()
2742
+ },
2743
+ method: 'POST'
2744
+ });
2745
+ } catch {
2746
+ return {
2747
+ details: 'request-failed',
2748
+ type: 'error'
2749
+ };
2750
+ }
2751
+ if (!response.ok) {
2752
+ const {
2753
+ errorCode,
2754
+ errorMessage,
2755
+ errorType
2756
+ } = await getOpenApiErrorDetails(response);
2757
+ return {
2758
+ details: 'http-error',
2759
+ errorCode,
2760
+ errorMessage,
2761
+ errorType,
2762
+ statusCode: response.status,
2763
+ type: 'error'
2764
+ };
2765
+ }
2766
+ if (stream) {
2767
+ return parseOpenApiStream(response, onTextChunk);
2768
+ }
2769
+ let parsed;
2770
+ try {
2771
+ parsed = await response.json();
2772
+ } catch {
2773
+ return {
2774
+ details: 'request-failed',
2775
+ type: 'error'
2776
+ };
2777
+ }
2778
+ if (!parsed || typeof parsed !== 'object') {
2779
+ return {
2780
+ text: '',
2781
+ type: 'success'
2782
+ };
2783
+ }
2784
+ const choices = Reflect.get(parsed, 'choices');
2785
+ if (!Array.isArray(choices)) {
2786
+ return {
2787
+ text: '',
2788
+ type: 'success'
2789
+ };
2790
+ }
2791
+ const firstChoice = choices[0];
2792
+ if (!firstChoice || typeof firstChoice !== 'object') {
2793
+ return {
2794
+ text: '',
2795
+ type: 'success'
2796
+ };
2797
+ }
2798
+ const message = Reflect.get(firstChoice, 'message');
2799
+ if (!message || typeof message !== 'object') {
2800
+ return {
2801
+ text: '',
2802
+ type: 'success'
2803
+ };
2804
+ }
2805
+ const toolCalls = Reflect.get(message, 'tool_calls');
2806
+ if (Array.isArray(toolCalls) && toolCalls.length > 0) {
2807
+ completionMessages.push(message);
2808
+ for (const toolCall of toolCalls) {
2809
+ if (!toolCall || typeof toolCall !== 'object') {
2810
+ continue;
2811
+ }
2812
+ const id = Reflect.get(toolCall, 'id');
2813
+ const toolFunction = Reflect.get(toolCall, 'function');
2814
+ if (typeof id !== 'string' || !toolFunction || typeof toolFunction !== 'object') {
2815
+ continue;
2816
+ }
2817
+ const name = Reflect.get(toolFunction, 'name');
2818
+ const rawArguments = Reflect.get(toolFunction, 'arguments');
2819
+ const content = typeof name === 'string' ? await executeChatTool(name, rawArguments, {
2820
+ assetDir,
2821
+ platform
2822
+ }) : '{}';
2823
+ completionMessages.push({
2824
+ content,
2825
+ role: 'tool',
2826
+ tool_call_id: id
2827
+ });
2828
+ }
2829
+ continue;
2830
+ }
2831
+ const content = Reflect.get(message, 'content');
2832
+ return {
2833
+ text: getTextContent(content),
2834
+ type: 'success'
2835
+ };
2836
+ }
2837
+ return {
2838
+ details: 'request-failed',
2839
+ type: 'error'
2840
+ };
2841
+ };
2842
+
2843
+ const getOpenApiErrorMessage = errorResult => {
2844
+ switch (errorResult.details) {
2845
+ case 'http-error':
2846
+ {
2847
+ const errorMessage = errorResult.errorMessage?.trim();
2848
+ const hasErrorCode = typeof errorResult.errorCode === 'string' && errorResult.errorCode.length > 0;
2849
+ const hasErrorType = typeof errorResult.errorType === 'string' && errorResult.errorType.length > 0;
2850
+ if (errorResult.statusCode === 429) {
2851
+ let prefix = 'OpenAI rate limit exceeded (429)';
2852
+ if (hasErrorCode) {
2853
+ prefix = `OpenAI rate limit exceeded (429: ${errorResult.errorCode})`;
2854
+ }
2855
+ if (hasErrorType) {
2856
+ prefix += ` [${errorResult.errorType}]`;
2857
+ }
2858
+ prefix += '.';
2859
+ if (!errorMessage) {
2860
+ return prefix;
2861
+ }
2862
+ return `${prefix} ${errorMessage}`;
2863
+ }
2864
+ if (typeof errorResult.statusCode === 'number') {
2865
+ let prefix = `OpenAI request failed (status ${errorResult.statusCode})`;
2866
+ if (hasErrorCode) {
2867
+ prefix += `: ${errorResult.errorCode}`;
2868
+ }
2869
+ if (hasErrorType) {
2870
+ prefix += ` [${errorResult.errorType}]`;
2871
+ }
2872
+ prefix += '.';
2873
+ if (!errorMessage) {
2874
+ return prefix;
2875
+ }
2876
+ return `${prefix} ${errorMessage}`;
2877
+ }
2878
+ if (errorMessage) {
2879
+ return `OpenAI request failed. ${errorMessage}`;
2880
+ }
2881
+ return openApiRequestFailedMessage;
2882
+ }
2883
+ case 'request-failed':
2884
+ return openApiRequestFailedMessage;
2885
+ }
2886
+ };
2887
+
2888
+ const getOpenApiModelId = selectedModelId => {
2889
+ const openApiPrefix = 'openapi/';
2890
+ const openAiPrefix = 'openai/';
2891
+ const normalizedModelId = selectedModelId.toLowerCase();
2892
+ if (normalizedModelId.startsWith(openApiPrefix)) {
2893
+ return selectedModelId.slice(openApiPrefix.length);
2894
+ }
2895
+ if (normalizedModelId.startsWith(openAiPrefix)) {
2896
+ return selectedModelId.slice(openAiPrefix.length);
2897
+ }
2898
+ return selectedModelId;
2899
+ };
2900
+
2901
+ const getOpenRouterApiEndpoint = openRouterApiBaseUrl => {
2902
+ const trimmedBaseUrl = openRouterApiBaseUrl.replace(/\/+$/, '');
2903
+ return `${trimmedBaseUrl}/chat/completions`;
2904
+ };
2905
+
2906
+ const getOpenRouterKeyEndpoint = openRouterApiBaseUrl => {
2907
+ const trimmedBaseUrl = openRouterApiBaseUrl.replace(/\/+$/, '');
2908
+ return `${trimmedBaseUrl}/auth/key`;
2909
+ };
2910
+
2911
+ const getOpenRouterRaw429Message = async response => {
2912
+ let parsed;
2913
+ try {
2914
+ parsed = await response.json();
2915
+ } catch {
2916
+ return undefined;
2917
+ }
2918
+ if (!parsed || typeof parsed !== 'object') {
2919
+ return undefined;
2920
+ }
2921
+ const error = Reflect.get(parsed, 'error');
2922
+ if (!error || typeof error !== 'object') {
2923
+ return undefined;
2924
+ }
2925
+ const metadata = Reflect.get(error, 'metadata');
2926
+ if (!metadata || typeof metadata !== 'object') {
2927
+ return undefined;
2928
+ }
2929
+ const raw = Reflect.get(metadata, 'raw');
2930
+ if (typeof raw !== 'string' || !raw) {
2931
+ return undefined;
2932
+ }
2933
+ return raw;
2934
+ };
2935
+ const getOpenRouterLimitInfo = async (openRouterApiKey, openRouterApiBaseUrl) => {
2936
+ let response;
2937
+ try {
2938
+ response = await fetch(getOpenRouterKeyEndpoint(openRouterApiBaseUrl), {
2939
+ headers: {
2940
+ Authorization: `Bearer ${openRouterApiKey}`,
2941
+ ...getClientRequestIdHeader()
2942
+ },
2943
+ method: 'GET'
2944
+ });
2945
+ } catch {
2946
+ return undefined;
2947
+ }
2948
+ if (!response.ok) {
2949
+ return undefined;
2950
+ }
2951
+ let parsed;
2952
+ try {
2953
+ parsed = await response.json();
2954
+ } catch {
2955
+ return undefined;
2956
+ }
2957
+ if (!parsed || typeof parsed !== 'object') {
2958
+ return undefined;
2959
+ }
2960
+ const data = Reflect.get(parsed, 'data');
2961
+ if (!data || typeof data !== 'object') {
2962
+ return undefined;
2963
+ }
2964
+ const limitRemaining = Reflect.get(data, 'limit_remaining');
2965
+ const limitReset = Reflect.get(data, 'limit_reset');
2966
+ const usage = Reflect.get(data, 'usage');
2967
+ const usageDaily = Reflect.get(data, 'usage_daily');
2968
+ const normalizedLimitInfo = {
2969
+ limitRemaining: typeof limitRemaining === 'number' || limitRemaining === null ? limitRemaining : undefined,
2970
+ limitReset: typeof limitReset === 'string' || limitReset === null ? limitReset : undefined,
2971
+ usage: typeof usage === 'number' ? usage : undefined,
2972
+ usageDaily: typeof usageDaily === 'number' ? usageDaily : undefined
2973
+ };
2974
+ const hasLimitInfo = normalizedLimitInfo.limitRemaining !== undefined || normalizedLimitInfo.limitReset !== undefined || normalizedLimitInfo.usage !== undefined || normalizedLimitInfo.usageDaily !== undefined;
2975
+ if (!hasLimitInfo) {
2976
+ return undefined;
2977
+ }
2978
+ return normalizedLimitInfo;
2979
+ };
2980
+ const getOpenRouterAssistantText = async (messages, modelId, openRouterApiKey, openRouterApiBaseUrl, assetDir, platform) => {
2981
+ const completionMessages = messages.map(message => ({
2982
+ content: message.text,
2983
+ role: message.role
2984
+ }));
2985
+ const tools = getBasicChatTools();
2986
+ const maxToolIterations = 4;
2987
+ for (let i = 0; i <= maxToolIterations; i++) {
2988
+ let response;
2989
+ try {
2990
+ response = await fetch(getOpenRouterApiEndpoint(openRouterApiBaseUrl), {
2991
+ body: JSON.stringify({
2992
+ messages: completionMessages,
2993
+ model: modelId,
2994
+ tool_choice: 'auto',
2995
+ tools
2996
+ }),
2997
+ headers: {
2998
+ Authorization: `Bearer ${openRouterApiKey}`,
2999
+ 'Content-Type': 'application/json',
3000
+ ...getClientRequestIdHeader()
3001
+ },
3002
+ method: 'POST'
3003
+ });
3004
+ } catch {
3005
+ return {
3006
+ details: 'request-failed',
3007
+ type: 'error'
3008
+ };
3009
+ }
3010
+ if (!response.ok) {
3011
+ if (response.status === 429) {
3012
+ const retryAfter = response.headers?.get?.('retry-after') ?? null;
3013
+ const rawMessage = await getOpenRouterRaw429Message(response);
3014
+ const limitInfo = await getOpenRouterLimitInfo(openRouterApiKey, openRouterApiBaseUrl);
3015
+ return {
3016
+ details: 'too-many-requests',
3017
+ limitInfo: limitInfo || retryAfter ? {
3018
+ ...limitInfo,
3019
+ retryAfter
3020
+ } : undefined,
3021
+ rawMessage,
3022
+ statusCode: 429,
3023
+ type: 'error'
3024
+ };
3025
+ }
3026
+ return {
3027
+ details: 'http-error',
3028
+ statusCode: response.status,
3029
+ type: 'error'
3030
+ };
3031
+ }
3032
+ let parsed;
3033
+ try {
3034
+ parsed = await response.json();
3035
+ } catch {
3036
+ return {
3037
+ details: 'request-failed',
3038
+ type: 'error'
3039
+ };
3040
+ }
3041
+ if (!parsed || typeof parsed !== 'object') {
3042
+ return {
3043
+ text: '',
3044
+ type: 'success'
3045
+ };
3046
+ }
3047
+ const choices = Reflect.get(parsed, 'choices');
3048
+ if (!Array.isArray(choices)) {
3049
+ return {
3050
+ text: '',
3051
+ type: 'success'
3052
+ };
3053
+ }
3054
+ const firstChoice = choices[0];
3055
+ if (!firstChoice || typeof firstChoice !== 'object') {
3056
+ return {
3057
+ text: '',
3058
+ type: 'success'
3059
+ };
3060
+ }
3061
+ const message = Reflect.get(firstChoice, 'message');
3062
+ if (!message || typeof message !== 'object') {
3063
+ return {
3064
+ text: '',
3065
+ type: 'success'
3066
+ };
3067
+ }
3068
+ const toolCalls = Reflect.get(message, 'tool_calls');
3069
+ if (Array.isArray(toolCalls) && toolCalls.length > 0) {
3070
+ completionMessages.push(message);
3071
+ for (const toolCall of toolCalls) {
3072
+ if (!toolCall || typeof toolCall !== 'object') {
3073
+ continue;
3074
+ }
3075
+ const id = Reflect.get(toolCall, 'id');
3076
+ const toolFunction = Reflect.get(toolCall, 'function');
3077
+ if (typeof id !== 'string' || !toolFunction || typeof toolFunction !== 'object') {
3078
+ continue;
3079
+ }
3080
+ const name = Reflect.get(toolFunction, 'name');
3081
+ const rawArguments = Reflect.get(toolFunction, 'arguments');
3082
+ const content = typeof name === 'string' ? await executeChatTool(name, rawArguments, {
3083
+ assetDir,
3084
+ platform
3085
+ }) : '{}';
3086
+ completionMessages.push({
3087
+ content,
3088
+ role: 'tool',
3089
+ tool_call_id: id
3090
+ });
3091
+ }
3092
+ continue;
3093
+ }
3094
+ const content = Reflect.get(message, 'content');
3095
+ return {
3096
+ text: getTextContent(content),
3097
+ type: 'success'
3098
+ };
3099
+ }
3100
+ return {
3101
+ details: 'request-failed',
3102
+ type: 'error'
3103
+ };
2130
3104
  };
2131
3105
 
2132
- const getOpenRouterAssistantText = async (userText, modelId, openRouterApiKey, openRouterApiBaseUrl) => {
2133
- let response;
2134
- try {
2135
- response = await fetch(getOpenRouterApiEndpoint(openRouterApiBaseUrl), {
2136
- body: JSON.stringify({
2137
- messages: [{
2138
- content: userText,
2139
- role: 'user'
2140
- }],
2141
- model: modelId
2142
- }),
2143
- headers: {
2144
- Authorization: `Bearer ${openRouterApiKey}`,
2145
- 'Content-Type': 'application/json'
2146
- },
2147
- method: 'POST'
2148
- });
2149
- } catch {
2150
- throw new Error(openRouterRequestFailedMessage);
2151
- }
2152
- if (!response.ok) {
2153
- throw new Error(`Failed to get OpenRouter response: ${response.status}`);
2154
- }
2155
- const parsed = await response.json();
2156
- if (!parsed || typeof parsed !== 'object') {
2157
- return '';
3106
+ const getOpenRouterTooManyRequestsMessage = errorResult => {
3107
+ const details = [];
3108
+ if (errorResult.rawMessage) {
3109
+ details.push(errorResult.rawMessage);
2158
3110
  }
2159
- const choices = Reflect.get(parsed, 'choices');
2160
- if (!Array.isArray(choices)) {
2161
- return '';
3111
+ const {
3112
+ limitInfo
3113
+ } = errorResult;
3114
+ if (limitInfo) {
3115
+ if (limitInfo.retryAfter) {
3116
+ details.push(`Retry after: ${limitInfo.retryAfter}.`);
3117
+ }
3118
+ if (limitInfo.limitReset) {
3119
+ details.push(`Limit resets: ${limitInfo.limitReset}.`);
3120
+ }
3121
+ if (limitInfo.limitRemaining === null) {
3122
+ details.push('Credits remaining: unlimited.');
3123
+ } else if (typeof limitInfo.limitRemaining === 'number') {
3124
+ details.push(`Credits remaining: ${limitInfo.limitRemaining}.`);
3125
+ }
3126
+ if (typeof limitInfo.usageDaily === 'number') {
3127
+ details.push(`Credits used today (UTC): ${limitInfo.usageDaily}.`);
3128
+ }
3129
+ if (typeof limitInfo.usage === 'number') {
3130
+ details.push(`Credits used (all time): ${limitInfo.usage}.`);
3131
+ }
2162
3132
  }
2163
- const firstChoice = choices[0];
2164
- if (!firstChoice || typeof firstChoice !== 'object') {
2165
- return '';
3133
+ if (details.length === 0) {
3134
+ return openRouterTooManyRequestsMessage;
2166
3135
  }
2167
- const message = Reflect.get(firstChoice, 'message');
2168
- if (!message || typeof message !== 'object') {
2169
- return '';
3136
+ return `${openRouterTooManyRequestsMessage} ${details.join(' ')}`;
3137
+ };
3138
+
3139
+ const getOpenRouterErrorMessage = errorResult => {
3140
+ switch (errorResult.details) {
3141
+ case 'http-error':
3142
+ case 'request-failed':
3143
+ return openRouterRequestFailedMessage;
3144
+ case 'too-many-requests':
3145
+ return getOpenRouterTooManyRequestsMessage(errorResult);
2170
3146
  }
2171
- const content = Reflect.get(message, 'content');
2172
- return getTextContent(content);
2173
3147
  };
2174
3148
 
2175
- /* eslint-disable @cspell/spellchecker */
3149
+ // cspell:ignore openrouter
2176
3150
  const getOpenRouterModelId = selectedModelId => {
2177
3151
  const openRouterPrefix = 'openrouter/';
2178
3152
  if (selectedModelId.toLowerCase().startsWith(openRouterPrefix)) {
@@ -2181,7 +3155,17 @@ const getOpenRouterModelId = selectedModelId => {
2181
3155
  return selectedModelId;
2182
3156
  };
2183
3157
 
2184
- /* eslint-disable @cspell/spellchecker */
3158
+ const isOpenApiModel = (selectedModelId, models) => {
3159
+ const selectedModel = models.find(model => model.id === selectedModelId);
3160
+ const normalizedProvider = selectedModel?.provider?.toLowerCase();
3161
+ if (normalizedProvider === 'openapi' || normalizedProvider === 'openai' || normalizedProvider === 'open-ai') {
3162
+ return true;
3163
+ }
3164
+ const normalizedModelId = selectedModelId.toLowerCase();
3165
+ return normalizedModelId.startsWith('openapi/') || normalizedModelId.startsWith('openai/');
3166
+ };
3167
+
3168
+ // cspell:ignore openrouter
2185
3169
 
2186
3170
  const isOpenRouterModel = (selectedModelId, models) => {
2187
3171
  const selectedModel = models.find(model => model.id === selectedModelId);
@@ -2192,25 +3176,70 @@ const isOpenRouterModel = (selectedModelId, models) => {
2192
3176
  return selectedModelId.toLowerCase().startsWith('openrouter/');
2193
3177
  };
2194
3178
 
2195
- const getAiResponse = async (userText, nextMessageId, selectedModelId, models, openRouterApiKey, openRouterApiBaseUrl) => {
3179
+ const getAiResponse = async ({
3180
+ assetDir,
3181
+ messages,
3182
+ mockApiCommandId,
3183
+ models,
3184
+ nextMessageId,
3185
+ onTextChunk,
3186
+ openApiApiBaseUrl,
3187
+ openApiApiKey,
3188
+ openRouterApiBaseUrl,
3189
+ openRouterApiKey,
3190
+ platform,
3191
+ selectedModelId,
3192
+ streamingEnabled = false,
3193
+ useMockApi,
3194
+ userText
3195
+ }) => {
2196
3196
  let text = '';
3197
+ const usesOpenApiModel = isOpenApiModel(selectedModelId, models);
2197
3198
  const usesOpenRouterModel = isOpenRouterModel(selectedModelId, models);
2198
- if (usesOpenRouterModel) {
2199
- if (openRouterApiKey) {
2200
- try {
2201
- text = await getOpenRouterAssistantText(userText, getOpenRouterModelId(selectedModelId), openRouterApiKey, openRouterApiBaseUrl);
2202
- } catch (error) {
2203
- if (error instanceof Error && error.message) {
2204
- text = error.message;
2205
- } else {
2206
- text = openRouterRequestFailedMessage;
2207
- }
3199
+ if (usesOpenApiModel) {
3200
+ if (openApiApiKey) {
3201
+ const result = await getOpenApiAssistantText(messages, getOpenApiModelId(selectedModelId), openApiApiKey, openApiApiBaseUrl, assetDir, platform, {
3202
+ onTextChunk,
3203
+ stream: streamingEnabled
3204
+ });
3205
+ if (result.type === 'success') {
3206
+ const {
3207
+ text: assistantText
3208
+ } = result;
3209
+ text = assistantText;
3210
+ } else {
3211
+ text = getOpenApiErrorMessage(result);
3212
+ }
3213
+ } else {
3214
+ text = openApiApiKeyRequiredMessage;
3215
+ }
3216
+ } else if (usesOpenRouterModel) {
3217
+ const modelId = getOpenRouterModelId(selectedModelId);
3218
+ if (useMockApi) {
3219
+ const result = await getMockOpenRouterAssistantText(messages, modelId, openRouterApiBaseUrl, openRouterApiKey, mockApiCommandId, assetDir, platform);
3220
+ if (result.type === 'success') {
3221
+ const {
3222
+ text: assistantText
3223
+ } = result;
3224
+ text = assistantText;
3225
+ } else {
3226
+ text = getOpenRouterErrorMessage(result);
3227
+ }
3228
+ } else if (openRouterApiKey) {
3229
+ const result = await getOpenRouterAssistantText(messages, modelId, openRouterApiKey, openRouterApiBaseUrl, assetDir, platform);
3230
+ if (result.type === 'success') {
3231
+ const {
3232
+ text: assistantText
3233
+ } = result;
3234
+ text = assistantText;
3235
+ } else {
3236
+ text = getOpenRouterErrorMessage(result);
2208
3237
  }
2209
3238
  } else {
2210
3239
  text = openRouterApiKeyRequiredMessage;
2211
3240
  }
2212
3241
  }
2213
- if (!text && !usesOpenRouterModel) {
3242
+ if (!text && !usesOpenApiModel && !usesOpenRouterModel) {
2214
3243
  text = await getMockAiResponse(userText);
2215
3244
  }
2216
3245
  const assistantTime = new Date().toLocaleTimeString([], {
@@ -2232,6 +3261,75 @@ const update = async settings => {
2232
3261
  await invoke('Preferences.update', settings);
2233
3262
  };
2234
3263
 
3264
+ const setOpenApiApiKey = async (state, openApiApiKey, persist = true) => {
3265
+ if (persist) {
3266
+ await update({
3267
+ 'secrets.openApiKey': openApiApiKey
3268
+ });
3269
+ }
3270
+ return {
3271
+ ...state,
3272
+ openApiApiKey,
3273
+ openApiApiKeyInput: openApiApiKey
3274
+ };
3275
+ };
3276
+
3277
+ const handleClickSaveOpenApiApiKey = async state => {
3278
+ const {
3279
+ openApiApiKeyInput
3280
+ } = state;
3281
+ const openApiApiKey = openApiApiKeyInput.trim();
3282
+ if (!openApiApiKey) {
3283
+ return state;
3284
+ }
3285
+ const updatedState = await setOpenApiApiKey(state, openApiApiKey);
3286
+ const session = updatedState.sessions.find(item => item.id === updatedState.selectedSessionId);
3287
+ if (!session) {
3288
+ return updatedState;
3289
+ }
3290
+ const lastMessage = session.messages.at(-1);
3291
+ const shouldRetryOpenApi = lastMessage?.role === 'assistant' && lastMessage.text === openApiApiKeyRequiredMessage;
3292
+ if (!shouldRetryOpenApi) {
3293
+ return updatedState;
3294
+ }
3295
+ const previousUserMessage = session.messages.toReversed().find(item => item.role === 'user');
3296
+ if (!previousUserMessage) {
3297
+ return updatedState;
3298
+ }
3299
+ const retryMessages = session.messages.slice(0, -1);
3300
+ const assistantMessage = await getAiResponse({
3301
+ assetDir: updatedState.assetDir,
3302
+ messages: retryMessages,
3303
+ mockApiCommandId: updatedState.mockApiCommandId,
3304
+ models: updatedState.models,
3305
+ nextMessageId: updatedState.nextMessageId,
3306
+ openApiApiBaseUrl: updatedState.openApiApiBaseUrl,
3307
+ openApiApiKey: updatedState.openApiApiKey,
3308
+ openRouterApiBaseUrl: updatedState.openRouterApiBaseUrl,
3309
+ openRouterApiKey: updatedState.openRouterApiKey,
3310
+ platform: updatedState.platform,
3311
+ selectedModelId: updatedState.selectedModelId,
3312
+ useMockApi: updatedState.useMockApi,
3313
+ userText: previousUserMessage.text
3314
+ });
3315
+ const updatedSession = {
3316
+ ...session,
3317
+ messages: [...session.messages.slice(0, -1), assistantMessage]
3318
+ };
3319
+ await saveChatSession(updatedSession);
3320
+ const updatedSessions = updatedState.sessions.map(item => {
3321
+ if (item.id !== updatedState.selectedSessionId) {
3322
+ return item;
3323
+ }
3324
+ return updatedSession;
3325
+ });
3326
+ return {
3327
+ ...updatedState,
3328
+ nextMessageId: updatedState.nextMessageId + 1,
3329
+ sessions: updatedSessions
3330
+ };
3331
+ };
3332
+
2235
3333
  const setOpenRouterApiKey = async (state, openRouterApiKey, persist = true) => {
2236
3334
  if (persist) {
2237
3335
  await update({
@@ -2253,7 +3351,18 @@ const handleClickSaveOpenRouterApiKey = async state => {
2253
3351
  if (!openRouterApiKey) {
2254
3352
  return state;
2255
3353
  }
2256
- const updatedState = await setOpenRouterApiKey(state, openRouterApiKey);
3354
+ const optimisticState = {
3355
+ ...state,
3356
+ openRouterApiKeyState: 'saving'
3357
+ };
3358
+ set(state.uid, state, optimisticState);
3359
+ // @ts-ignore
3360
+ await invoke('Chat.rerender');
3361
+ const persistedState = await setOpenRouterApiKey(optimisticState, openRouterApiKey);
3362
+ const updatedState = {
3363
+ ...persistedState,
3364
+ openRouterApiKeyState: 'idle'
3365
+ };
2257
3366
  const session = updatedState.sessions.find(item => item.id === updatedState.selectedSessionId);
2258
3367
  if (!session) {
2259
3368
  return updatedState;
@@ -2267,7 +3376,22 @@ const handleClickSaveOpenRouterApiKey = async state => {
2267
3376
  if (!previousUserMessage) {
2268
3377
  return updatedState;
2269
3378
  }
2270
- const assistantMessage = await getAiResponse(previousUserMessage.text, updatedState.nextMessageId, updatedState.selectedModelId, updatedState.models, openRouterApiKey, updatedState.openRouterApiBaseUrl);
3379
+ const retryMessages = session.messages.slice(0, -1);
3380
+ const assistantMessage = await getAiResponse({
3381
+ assetDir: updatedState.assetDir,
3382
+ messages: retryMessages,
3383
+ mockApiCommandId: updatedState.mockApiCommandId,
3384
+ models: updatedState.models,
3385
+ nextMessageId: updatedState.nextMessageId,
3386
+ openApiApiBaseUrl: updatedState.openApiApiBaseUrl,
3387
+ openApiApiKey: updatedState.openApiApiKey,
3388
+ openRouterApiBaseUrl: updatedState.openRouterApiBaseUrl,
3389
+ openRouterApiKey,
3390
+ platform: updatedState.platform,
3391
+ selectedModelId: updatedState.selectedModelId,
3392
+ useMockApi: updatedState.useMockApi,
3393
+ userText: previousUserMessage.text
3394
+ });
2271
3395
  const updatedSession = {
2272
3396
  ...session,
2273
3397
  messages: [...session.messages.slice(0, -1), assistantMessage]
@@ -2282,6 +3406,7 @@ const handleClickSaveOpenRouterApiKey = async state => {
2282
3406
  return {
2283
3407
  ...updatedState,
2284
3408
  nextMessageId: updatedState.nextMessageId + 1,
3409
+ openRouterApiKeyState: 'idle',
2285
3410
  sessions: updatedSessions
2286
3411
  };
2287
3412
  };
@@ -2294,16 +3419,54 @@ const focusInput = state => {
2294
3419
  };
2295
3420
  };
2296
3421
 
3422
+ const appendMessageToSelectedSession = (sessions, selectedSessionId, message) => {
3423
+ return sessions.map(session => {
3424
+ if (session.id !== selectedSessionId) {
3425
+ return session;
3426
+ }
3427
+ return {
3428
+ ...session,
3429
+ messages: [...session.messages, message]
3430
+ };
3431
+ });
3432
+ };
3433
+ const updateMessageTextInSelectedSession = (sessions, selectedSessionId, messageId, text, inProgress) => {
3434
+ return sessions.map(session => {
3435
+ if (session.id !== selectedSessionId) {
3436
+ return session;
3437
+ }
3438
+ return {
3439
+ ...session,
3440
+ messages: session.messages.map(message => {
3441
+ if (message.id !== messageId) {
3442
+ return message;
3443
+ }
3444
+ return {
3445
+ ...message,
3446
+ inProgress,
3447
+ text
3448
+ };
3449
+ })
3450
+ };
3451
+ });
3452
+ };
2297
3453
  const handleSubmit = async state => {
2298
3454
  const {
3455
+ assetDir,
2299
3456
  composerValue,
3457
+ mockApiCommandId,
2300
3458
  models,
2301
3459
  nextMessageId,
3460
+ openApiApiBaseUrl,
3461
+ openApiApiKey,
2302
3462
  openRouterApiBaseUrl,
2303
3463
  openRouterApiKey,
3464
+ platform,
2304
3465
  selectedModelId,
2305
3466
  selectedSessionId,
2306
3467
  sessions,
3468
+ streamingEnabled,
3469
+ useMockApi,
2307
3470
  viewMode
2308
3471
  } = state;
2309
3472
  const userText = composerValue.trim();
@@ -2320,6 +3483,18 @@ const handleSubmit = async state => {
2320
3483
  text: userText,
2321
3484
  time: userTime
2322
3485
  };
3486
+ const assistantMessageId = `message-${nextMessageId + 1}`;
3487
+ const assistantTime = new Date().toLocaleTimeString([], {
3488
+ hour: '2-digit',
3489
+ minute: '2-digit'
3490
+ });
3491
+ const inProgressAssistantMessage = {
3492
+ id: assistantMessageId,
3493
+ inProgress: true,
3494
+ role: 'assistant',
3495
+ text: '',
3496
+ time: assistantTime
3497
+ };
2323
3498
  let workingSessions = sessions;
2324
3499
  if (viewMode === 'detail') {
2325
3500
  const loadedSession = await getChatSession(selectedSessionId);
@@ -2337,12 +3512,13 @@ const handleSubmit = async state => {
2337
3512
  const newSessionId = generateSessionId();
2338
3513
  const newSession = {
2339
3514
  id: newSessionId,
2340
- messages: [userMessage],
3515
+ messages: streamingEnabled ? [userMessage, inProgressAssistantMessage] : [userMessage],
2341
3516
  title: `Chat ${workingSessions.length + 1}`
2342
3517
  };
2343
3518
  await saveChatSession(newSession);
2344
3519
  optimisticState = focusInput({
2345
3520
  ...state,
3521
+ composerHeight: getMinComposerHeightForState(state),
2346
3522
  composerValue: '',
2347
3523
  inputSource: 'script',
2348
3524
  lastSubmittedSessionId: newSessionId,
@@ -2352,21 +3528,15 @@ const handleSubmit = async state => {
2352
3528
  viewMode: 'detail'
2353
3529
  });
2354
3530
  } else {
2355
- const updatedSessions = workingSessions.map(session => {
2356
- if (session.id !== selectedSessionId) {
2357
- return session;
2358
- }
2359
- return {
2360
- ...session,
2361
- messages: [...session.messages, userMessage]
2362
- };
2363
- });
3531
+ const updatedWithUser = appendMessageToSelectedSession(workingSessions, selectedSessionId, userMessage);
3532
+ const updatedSessions = streamingEnabled ? appendMessageToSelectedSession(updatedWithUser, selectedSessionId, inProgressAssistantMessage) : updatedWithUser;
2364
3533
  const selectedSession = updatedSessions.find(session => session.id === selectedSessionId);
2365
3534
  if (selectedSession) {
2366
3535
  await saveChatSession(selectedSession);
2367
3536
  }
2368
3537
  optimisticState = focusInput({
2369
3538
  ...state,
3539
+ composerHeight: getMinComposerHeightForState(state),
2370
3540
  composerValue: '',
2371
3541
  inputSource: 'script',
2372
3542
  lastSubmittedSessionId: selectedSessionId,
@@ -2377,23 +3547,56 @@ const handleSubmit = async state => {
2377
3547
  set(state.uid, state, optimisticState);
2378
3548
  // @ts-ignore
2379
3549
  await invoke('Chat.rerender');
2380
- const assistantMessage = await getAiResponse(userText, optimisticState.nextMessageId, selectedModelId, models, openRouterApiKey, openRouterApiBaseUrl);
2381
- const updatedSessions = optimisticState.sessions.map(session => {
2382
- if (session.id !== optimisticState.selectedSessionId) {
2383
- return session;
3550
+ let latestState = optimisticState;
3551
+ let previousState = optimisticState;
3552
+ const selectedOptimisticSession = latestState.sessions.find(session => session.id === latestState.selectedSessionId);
3553
+ const messages = (selectedOptimisticSession?.messages ?? []).filter(message => !message.inProgress);
3554
+ const onTextChunk = streamingEnabled ? async chunk => {
3555
+ const selectedSession = latestState.sessions.find(session => session.id === latestState.selectedSessionId);
3556
+ if (!selectedSession) {
3557
+ return;
2384
3558
  }
2385
- return {
2386
- ...session,
2387
- messages: [...session.messages, assistantMessage]
3559
+ const assistantMessage = selectedSession.messages.find(message => message.id === assistantMessageId);
3560
+ if (!assistantMessage) {
3561
+ return;
3562
+ }
3563
+ const updatedText = assistantMessage.text + chunk;
3564
+ const updatedSessions = updateMessageTextInSelectedSession(latestState.sessions, latestState.selectedSessionId, assistantMessageId, updatedText, true);
3565
+ const nextState = {
3566
+ ...latestState,
3567
+ sessions: updatedSessions
2388
3568
  };
3569
+ set(state.uid, previousState, nextState);
3570
+ previousState = nextState;
3571
+ latestState = nextState;
3572
+ // @ts-ignore
3573
+ await invoke('Chat.rerender');
3574
+ } : undefined;
3575
+ const assistantMessage = await getAiResponse({
3576
+ assetDir,
3577
+ messages,
3578
+ mockApiCommandId,
3579
+ models,
3580
+ nextMessageId: optimisticState.nextMessageId,
3581
+ onTextChunk,
3582
+ openApiApiBaseUrl,
3583
+ openApiApiKey,
3584
+ openRouterApiBaseUrl,
3585
+ openRouterApiKey,
3586
+ platform,
3587
+ selectedModelId,
3588
+ streamingEnabled,
3589
+ useMockApi,
3590
+ userText
2389
3591
  });
2390
- const selectedSession = updatedSessions.find(session => session.id === optimisticState.selectedSessionId);
3592
+ const updatedSessions = streamingEnabled ? updateMessageTextInSelectedSession(latestState.sessions, latestState.selectedSessionId, assistantMessageId, assistantMessage.text, false) : appendMessageToSelectedSession(latestState.sessions, latestState.selectedSessionId, assistantMessage);
3593
+ const selectedSession = updatedSessions.find(session => session.id === latestState.selectedSessionId);
2391
3594
  if (selectedSession) {
2392
3595
  await saveChatSession(selectedSession);
2393
3596
  }
2394
3597
  return focusInput({
2395
- ...optimisticState,
2396
- nextMessageId: optimisticState.nextMessageId + 1,
3598
+ ...latestState,
3599
+ nextMessageId: latestState.nextMessageId + 1,
2397
3600
  sessions: updatedSessions
2398
3601
  });
2399
3602
  };
@@ -2438,7 +3641,11 @@ const getRenameIdFromInputName = name => {
2438
3641
  return name.slice(RenamePrefix.length);
2439
3642
  };
2440
3643
 
2441
- /* eslint-disable @cspell/spellchecker */
3644
+ const OpenApiApiKeyInput = 'open-api-api-key';
3645
+ const SaveOpenApiApiKey = 'save-openapi-api-key';
3646
+ const OpenOpenApiApiKeySettings = 'open-openapi-api-key-settings';
3647
+
3648
+ // cspell:ignore openrouter
2442
3649
  const OpenRouterApiKeyInput = 'open-router-api-key';
2443
3650
  const SaveOpenRouterApiKey = 'save-openrouter-api-key';
2444
3651
  const OpenOpenRouterApiKeySettings = 'open-openrouter-api-key-settings';
@@ -2524,9 +3731,15 @@ const handleClick = async (state, name, id = '') => {
2524
3731
  if (name === SaveOpenRouterApiKey) {
2525
3732
  return handleClickSaveOpenRouterApiKey(state);
2526
3733
  }
3734
+ if (name === SaveOpenApiApiKey) {
3735
+ return handleClickSaveOpenApiApiKey(state);
3736
+ }
2527
3737
  if (name === OpenOpenRouterApiKeySettings) {
2528
3738
  return handleClickOpenRouterApiKeySettings(state);
2529
3739
  }
3740
+ if (name === OpenOpenApiApiKeySettings) {
3741
+ return handleClickOpenApiApiKeySettings(state);
3742
+ }
2530
3743
  return state;
2531
3744
  };
2532
3745
 
@@ -2557,6 +3770,12 @@ const handleClickSettings = async () => {
2557
3770
  };
2558
3771
 
2559
3772
  const handleInput = async (state, name, value, inputSource = 'user') => {
3773
+ if (name === OpenApiApiKeyInput) {
3774
+ return {
3775
+ ...state,
3776
+ openApiApiKeyInput: value
3777
+ };
3778
+ }
2560
3779
  if (name === OpenRouterApiKeyInput) {
2561
3780
  return {
2562
3781
  ...state,
@@ -2566,8 +3785,10 @@ const handleInput = async (state, name, value, inputSource = 'user') => {
2566
3785
  if (name !== Composer) {
2567
3786
  return state;
2568
3787
  }
3788
+ const composerHeight = await getComposerHeight(state, value);
2569
3789
  return {
2570
3790
  ...state,
3791
+ composerHeight,
2571
3792
  composerValue: value,
2572
3793
  inputSource
2573
3794
  };
@@ -2632,6 +3853,7 @@ const submitRename = async state => {
2632
3853
  }
2633
3854
  return {
2634
3855
  ...state,
3856
+ composerHeight: getMinComposerHeightForState(state),
2635
3857
  composerValue: '',
2636
3858
  inputSource: 'script',
2637
3859
  renamingSessionId: '',
@@ -2670,7 +3892,29 @@ const handleModelChange = async (state, value) => {
2670
3892
  };
2671
3893
 
2672
3894
  const handleNewline = async state => {
2673
- return handleInput(state, Composer, `${state.composerValue}\n`);
3895
+ const {
3896
+ composerValue
3897
+ } = state;
3898
+ return handleInput(state, Composer, `${composerValue}\n`);
3899
+ };
3900
+
3901
+ const handleChatListScroll = async (state, chatListScrollTop) => {
3902
+ if (state.chatListScrollTop === chatListScrollTop) {
3903
+ return state;
3904
+ }
3905
+ return {
3906
+ ...state,
3907
+ chatListScrollTop
3908
+ };
3909
+ };
3910
+ const handleMessagesScroll = async (state, messagesScrollTop) => {
3911
+ if (state.messagesScrollTop === messagesScrollTop) {
3912
+ return state;
3913
+ }
3914
+ return {
3915
+ ...state,
3916
+ messagesScrollTop
3917
+ };
2674
3918
  };
2675
3919
 
2676
3920
  const id = 7201;
@@ -2699,6 +3943,32 @@ const isObject = value => {
2699
3943
  return typeof value === 'object' && value !== null;
2700
3944
  };
2701
3945
 
3946
+ const getSavedChatListScrollTop = savedState => {
3947
+ if (!isObject(savedState)) {
3948
+ return undefined;
3949
+ }
3950
+ const {
3951
+ chatListScrollTop
3952
+ } = savedState;
3953
+ if (typeof chatListScrollTop !== 'number') {
3954
+ return undefined;
3955
+ }
3956
+ return chatListScrollTop;
3957
+ };
3958
+
3959
+ const getSavedMessagesScrollTop = savedState => {
3960
+ if (!isObject(savedState)) {
3961
+ return undefined;
3962
+ }
3963
+ const {
3964
+ messagesScrollTop
3965
+ } = savedState;
3966
+ if (typeof messagesScrollTop !== 'number') {
3967
+ return undefined;
3968
+ }
3969
+ return messagesScrollTop;
3970
+ };
3971
+
2702
3972
  const getSavedSelectedModelId = savedState => {
2703
3973
  if (!isObject(savedState)) {
2704
3974
  return undefined;
@@ -2751,6 +4021,39 @@ const getSavedViewMode = savedState => {
2751
4021
  return viewMode;
2752
4022
  };
2753
4023
 
4024
+ const loadOpenApiApiKey = async () => {
4025
+ try {
4026
+ const savedOpenApiKey = await get('secrets.openApiKey');
4027
+ if (typeof savedOpenApiKey === 'string' && savedOpenApiKey) {
4028
+ return savedOpenApiKey;
4029
+ }
4030
+ const legacySavedOpenApiApiKey = await get('secrets.openApiApiKey');
4031
+ if (typeof legacySavedOpenApiApiKey === 'string' && legacySavedOpenApiApiKey) {
4032
+ return legacySavedOpenApiApiKey;
4033
+ }
4034
+ const legacySavedOpenAiApiKey = await get('secrets.openAiApiKey');
4035
+ return typeof legacySavedOpenAiApiKey === 'string' ? legacySavedOpenAiApiKey : '';
4036
+ } catch {
4037
+ return '';
4038
+ }
4039
+ };
4040
+ const loadOpenRouterApiKey = async () => {
4041
+ try {
4042
+ const savedOpenRouterApiKey = await get('secrets.openRouterApiKey');
4043
+ return typeof savedOpenRouterApiKey === 'string' ? savedOpenRouterApiKey : '';
4044
+ } catch {
4045
+ return '';
4046
+ }
4047
+ };
4048
+ const loadPreferences = async () => {
4049
+ const openApiApiKey = await loadOpenApiApiKey();
4050
+ const openRouterApiKey = await loadOpenRouterApiKey();
4051
+ return {
4052
+ openApiApiKey,
4053
+ openRouterApiKey
4054
+ };
4055
+ };
4056
+
2754
4057
  const toSummarySession = session => {
2755
4058
  return {
2756
4059
  id: session.id,
@@ -2776,13 +4079,10 @@ const loadSelectedSessionMessages = async (sessions, selectedSessionId) => {
2776
4079
  const loadContent = async (state, savedState) => {
2777
4080
  const savedSelectedModelId = getSavedSelectedModelId(savedState);
2778
4081
  const savedViewMode = getSavedViewMode(savedState);
2779
- let openRouterApiKey = '';
2780
- try {
2781
- const savedOpenRouterApiKey = await get('secrets.openRouterApiKey');
2782
- openRouterApiKey = typeof savedOpenRouterApiKey === 'string' ? savedOpenRouterApiKey : '';
2783
- } catch {
2784
- openRouterApiKey = '';
2785
- }
4082
+ const {
4083
+ openApiApiKey,
4084
+ openRouterApiKey
4085
+ } = await loadPreferences();
2786
4086
  const legacySavedSessions = getSavedSessions(savedState);
2787
4087
  const storedSessions = await listChatSessions();
2788
4088
  let sessions = storedSessions;
@@ -2800,6 +4100,8 @@ const loadContent = async (state, savedState) => {
2800
4100
  }
2801
4101
  const preferredSessionId = getSavedSelectedSessionId(savedState) || state.selectedSessionId;
2802
4102
  const preferredModelId = savedSelectedModelId || state.selectedModelId;
4103
+ const chatListScrollTop = getSavedChatListScrollTop(savedState) ?? state.chatListScrollTop;
4104
+ const messagesScrollTop = getSavedMessagesScrollTop(savedState) ?? state.messagesScrollTop;
2803
4105
  const selectedModelId = state.models.some(model => model.id === preferredModelId) ? preferredModelId : state.models[0]?.id || '';
2804
4106
  const selectedSessionId = sessions.some(session => session.id === preferredSessionId) ? preferredSessionId : sessions[0]?.id || '';
2805
4107
  sessions = await loadSelectedSessionMessages(sessions, selectedSessionId);
@@ -2807,7 +4109,11 @@ const loadContent = async (state, savedState) => {
2807
4109
  const viewMode = sessions.length === 0 || !selectedSessionId ? 'list' : preferredViewMode === 'detail' ? 'detail' : 'list';
2808
4110
  return {
2809
4111
  ...state,
4112
+ chatListScrollTop,
2810
4113
  initial: false,
4114
+ messagesScrollTop,
4115
+ openApiApiKey,
4116
+ openApiApiKeyInput: openApiApiKey,
2811
4117
  openRouterApiKey,
2812
4118
  openRouterApiKeyInput: openRouterApiKey,
2813
4119
  selectedModelId,
@@ -2851,12 +4157,22 @@ const openMockSession = async (state, mockSessionId, mockChatMessages) => {
2851
4157
  };
2852
4158
  };
2853
4159
 
4160
+ const getCss = composerHeight => {
4161
+ return `:root {
4162
+ --ChatInputBoxHeight: ${composerHeight}px;
4163
+ }`;
4164
+ };
4165
+
2854
4166
  // TODO render things like scrollbar height,scrollbar offset, textarea height,
2855
4167
  // list height
2856
- const css = `
2857
- `;
4168
+
2858
4169
  const renderCss = (oldState, newState) => {
2859
- return [SetCss, newState.uid, css];
4170
+ const {
4171
+ composerHeight,
4172
+ uid
4173
+ } = newState;
4174
+ const css = getCss(composerHeight);
4175
+ return [SetCss, uid, css];
2860
4176
  };
2861
4177
 
2862
4178
  const getFocusSelector = focus => {
@@ -2906,6 +4222,8 @@ const ChatListItemLabel = 'ChatListItemLabel';
2906
4222
  const Markdown = 'Markdown';
2907
4223
  const Message = 'Message';
2908
4224
  const ChatMessageContent = 'ChatMessageContent';
4225
+ const ChatOrderedList = 'ChatOrderedList';
4226
+ const ChatOrderedListItem = 'ChatOrderedListItem';
2909
4227
  const MessageUser = 'MessageUser';
2910
4228
  const MessageAssistant = 'MessageAssistant';
2911
4229
  const MultilineInputBox = 'MultilineInputBox';
@@ -2930,13 +4248,19 @@ const HandleClickList = 17;
2930
4248
  const HandleClickDelete = 18;
2931
4249
  const HandleSubmit = 19;
2932
4250
  const HandleModelChange = 20;
4251
+ const HandleChatListScroll = 21;
4252
+ const HandleMessagesScroll = 22;
2933
4253
 
2934
4254
  const getModelLabel = model => {
2935
4255
  if (model.provider === 'openRouter') {
2936
4256
  return `${model.name} (OpenRouter)`;
2937
4257
  }
4258
+ if (model.provider === 'openApi' || model.provider === 'openAI' || model.provider === 'openai') {
4259
+ return `${model.name} (OpenAI)`;
4260
+ }
2938
4261
  return model.name;
2939
4262
  };
4263
+
2940
4264
  const getModelOptionDOm = (model, selectedModelId) => {
2941
4265
  return [{
2942
4266
  childCount: 1,
@@ -3004,7 +4328,7 @@ const getUsageOverviewDom = (tokensUsed, tokensMax) => {
3004
4328
  }, text(usageLabel)];
3005
4329
  };
3006
4330
 
3007
- const getChatSendAreaDom = (composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax) => {
4331
+ const getChatSendAreaDom = (composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, composerHeight = 28, composerFontSize = 13, composerFontFamily = 'system-ui', composerLineHeight = 20) => {
3008
4332
  const isSendDisabled = composerValue.trim() === '';
3009
4333
  const modelOptions = models.flatMap(model => getModelOptionDOm(model, selectedModelId));
3010
4334
  return [{
@@ -3022,7 +4346,7 @@ const getChatSendAreaDom = (composerValue, models, selectedModelId, usageOvervie
3022
4346
  onFocus: HandleFocus,
3023
4347
  onInput: HandleInput,
3024
4348
  placeholder: composePlaceholder(),
3025
- rows: 4,
4349
+ // style: `height:${composerHeight}px;font-size:${composerFontSize}px;font-family:${composerFontFamily};line-height:${composerLineHeight}px;`,
3026
4350
  type: TextArea,
3027
4351
  value: composerValue
3028
4352
  }, {
@@ -3111,18 +4435,27 @@ const getChatHeaderDomDetailMode = selectedSessionTitle => {
3111
4435
  }, text(selectedSessionTitle), ...getChatHeaderActionsDom()];
3112
4436
  };
3113
4437
 
3114
- const getMissingOpenRouterApiKeyDom = openRouterApiKeyInput => {
4438
+ const getMissingApiKeyDom = ({
4439
+ getApiKeyText,
4440
+ inputName,
4441
+ inputValue,
4442
+ openSettingsButtonName,
4443
+ placeholder,
4444
+ saveButtonDisabled = false,
4445
+ saveButtonName,
4446
+ saveButtonText = save()
4447
+ }) => {
3115
4448
  return [{
3116
4449
  childCount: 2,
3117
4450
  type: Div
3118
4451
  }, {
3119
4452
  childCount: 0,
3120
4453
  className: InputBox,
3121
- name: OpenRouterApiKeyInput,
4454
+ name: inputName,
3122
4455
  onInput: HandleInput,
3123
- placeholder: openRouterApiKeyPlaceholder(),
4456
+ placeholder,
3124
4457
  type: Input,
3125
- value: openRouterApiKeyInput
4458
+ value: inputValue
3126
4459
  }, {
3127
4460
  childCount: 2,
3128
4461
  className: Actions,
@@ -3130,35 +4463,77 @@ const getMissingOpenRouterApiKeyDom = openRouterApiKeyInput => {
3130
4463
  }, {
3131
4464
  childCount: 1,
3132
4465
  className: mergeClassNames(Button, ButtonPrimary),
3133
- name: SaveOpenRouterApiKey,
4466
+ disabled: saveButtonDisabled,
4467
+ name: saveButtonName,
3134
4468
  onClick: HandleClick,
3135
4469
  type: Button$1
3136
- }, text(save()), {
4470
+ }, text(saveButtonText), {
3137
4471
  childCount: 1,
3138
4472
  className: mergeClassNames(Button, ButtonSecondary),
3139
- name: OpenOpenRouterApiKeySettings,
4473
+ name: openSettingsButtonName,
3140
4474
  onClick: HandleClick,
3141
4475
  type: Button$1
3142
- }, text(getOpenRouterApiKey())];
4476
+ }, text(getApiKeyText)];
4477
+ };
4478
+
4479
+ const getMissingOpenApiApiKeyDom = openApiApiKeyInput => {
4480
+ return getMissingApiKeyDom({
4481
+ getApiKeyText: getOpenApiApiKey(),
4482
+ inputName: OpenApiApiKeyInput,
4483
+ inputValue: openApiApiKeyInput,
4484
+ openSettingsButtonName: OpenOpenApiApiKeySettings,
4485
+ placeholder: openApiApiKeyPlaceholder(),
4486
+ saveButtonName: SaveOpenApiApiKey
4487
+ });
4488
+ };
4489
+
4490
+ const getMissingOpenRouterApiKeyDom = (openRouterApiKeyInput, openRouterApiKeyState = 'idle') => {
4491
+ const isSaving = openRouterApiKeyState === 'saving';
4492
+ return getMissingApiKeyDom({
4493
+ getApiKeyText: getOpenRouterApiKey(),
4494
+ inputName: OpenRouterApiKeyInput,
4495
+ inputValue: openRouterApiKeyInput,
4496
+ openSettingsButtonName: OpenOpenRouterApiKeySettings,
4497
+ placeholder: openRouterApiKeyPlaceholder(),
4498
+ saveButtonDisabled: isSaving,
4499
+ saveButtonName: SaveOpenRouterApiKey,
4500
+ saveButtonText: isSaving ? saving() : save()
4501
+ });
3143
4502
  };
3144
4503
 
3145
4504
  const getOpenRouterRequestFailedDom = () => {
3146
4505
  return [{
3147
4506
  childCount: openRouterRequestFailureReasons.length,
3148
- className: Markdown,
4507
+ className: ChatOrderedList,
3149
4508
  type: Ol
3150
4509
  }, ...openRouterRequestFailureReasons.flatMap(reason => {
3151
4510
  return [{
3152
4511
  childCount: 1,
4512
+ className: ChatOrderedListItem,
4513
+ type: Li
4514
+ }, text(reason)];
4515
+ })];
4516
+ };
4517
+ const getOpenRouterTooManyRequestsDom = () => {
4518
+ return [{
4519
+ childCount: openRouterTooManyRequestsReasons.length,
4520
+ className: ChatOrderedList,
4521
+ type: Ol
4522
+ }, ...openRouterTooManyRequestsReasons.flatMap(reason => {
4523
+ return [{
4524
+ childCount: 1,
4525
+ className: ChatOrderedListItem,
3153
4526
  type: Li
3154
4527
  }, text(reason)];
3155
4528
  })];
3156
4529
  };
3157
- const getChatMessageDom = (message, openRouterApiKeyInput) => {
4530
+ const getChatMessageDom = (message, openRouterApiKeyInput, openApiApiKeyInput = '', openRouterApiKeyState = 'idle') => {
3158
4531
  const roleClassName = message.role === 'user' ? MessageUser : MessageAssistant;
4532
+ const isOpenApiApiKeyMissingMessage = message.role === 'assistant' && message.text === openApiApiKeyRequiredMessage;
3159
4533
  const isOpenRouterApiKeyMissingMessage = message.role === 'assistant' && message.text === openRouterApiKeyRequiredMessage;
3160
4534
  const isOpenRouterRequestFailedMessage = message.role === 'assistant' && message.text === openRouterRequestFailedMessage;
3161
- const extraChildCount = isOpenRouterApiKeyMissingMessage || isOpenRouterRequestFailedMessage ? 2 : 1;
4535
+ const isOpenRouterTooManyRequestsMessage = message.role === 'assistant' && message.text.startsWith(openRouterTooManyRequestsMessage);
4536
+ const extraChildCount = isOpenApiApiKeyMissingMessage || isOpenRouterApiKeyMissingMessage || isOpenRouterRequestFailedMessage || isOpenRouterTooManyRequestsMessage ? 2 : 1;
3162
4537
  return [{
3163
4538
  childCount: 1,
3164
4539
  className: mergeClassNames(Message, roleClassName),
@@ -3171,7 +4546,7 @@ const getChatMessageDom = (message, openRouterApiKeyInput) => {
3171
4546
  childCount: 1,
3172
4547
  className: Markdown,
3173
4548
  type: P
3174
- }, text(message.text), ...(isOpenRouterApiKeyMissingMessage ? getMissingOpenRouterApiKeyDom(openRouterApiKeyInput) : []), ...(isOpenRouterRequestFailedMessage ? getOpenRouterRequestFailedDom() : [])];
4549
+ }, text(message.text), ...(isOpenApiApiKeyMissingMessage ? getMissingOpenApiApiKeyDom(openApiApiKeyInput) : []), ...(isOpenRouterApiKeyMissingMessage ? getMissingOpenRouterApiKeyDom(openRouterApiKeyInput, openRouterApiKeyState) : []), ...(isOpenRouterRequestFailedMessage ? getOpenRouterRequestFailedDom() : []), ...(isOpenRouterTooManyRequestsMessage ? getOpenRouterTooManyRequestsDom() : [])];
3175
4550
  };
3176
4551
 
3177
4552
  const getEmptyMessagesDom = () => {
@@ -3181,18 +4556,21 @@ const getEmptyMessagesDom = () => {
3181
4556
  type: Div
3182
4557
  }, text(startConversation())];
3183
4558
  };
3184
- const getMessagesDom = (messages, openRouterApiKeyInput) => {
4559
+
4560
+ const getMessagesDom = (messages, openRouterApiKeyInput, openApiApiKeyInput = '', openRouterApiKeyState = 'idle', messagesScrollTop = 0) => {
3185
4561
  if (messages.length === 0) {
3186
4562
  return getEmptyMessagesDom();
3187
4563
  }
3188
4564
  return [{
3189
4565
  childCount: messages.length,
3190
4566
  className: 'ChatMessages',
4567
+ onScroll: HandleMessagesScroll,
4568
+ scrollTop: messagesScrollTop,
3191
4569
  type: Div
3192
- }, ...messages.flatMap(message => getChatMessageDom(message, openRouterApiKeyInput))];
4570
+ }, ...messages.flatMap(message => getChatMessageDom(message, openRouterApiKeyInput, openApiApiKeyInput, openRouterApiKeyState))];
3193
4571
  };
3194
4572
 
3195
- const getChatModeDetailVirtualDom = (sessions, selectedSessionId, composerValue, openRouterApiKeyInput, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax) => {
4573
+ const getChatModeDetailVirtualDom = (sessions, selectedSessionId, composerValue, openRouterApiKeyInput, openApiApiKeyInput, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, openRouterApiKeyState = 'idle', composerHeight = 28, composerFontSize = 13, composerFontFamily = 'system-ui', composerLineHeight = 20, messagesScrollTop = 0) => {
3196
4574
  const selectedSession = sessions.find(session => session.id === selectedSessionId);
3197
4575
  const selectedSessionTitle = selectedSession?.title || chatTitle();
3198
4576
  const messages = selectedSession ? selectedSession.messages : [];
@@ -3200,7 +4578,7 @@ const getChatModeDetailVirtualDom = (sessions, selectedSessionId, composerValue,
3200
4578
  childCount: 3,
3201
4579
  className: mergeClassNames(Viewlet, Chat),
3202
4580
  type: Div
3203
- }, ...getChatHeaderDomDetailMode(selectedSessionTitle), ...getMessagesDom(messages, openRouterApiKeyInput), ...getChatSendAreaDom(composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax)];
4581
+ }, ...getChatHeaderDomDetailMode(selectedSessionTitle), ...getMessagesDom(messages, openRouterApiKeyInput, openApiApiKeyInput, openRouterApiKeyState, messagesScrollTop), ...getChatSendAreaDom(composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, composerHeight, composerFontSize, composerFontFamily, composerLineHeight)];
3204
4582
  };
3205
4583
 
3206
4584
  const getChatHeaderListModeDom = () => {
@@ -3257,7 +4635,7 @@ const getSessionDom = session => {
3257
4635
  }, text('🗑')];
3258
4636
  };
3259
4637
 
3260
- const getChatListDom = (sessions, selectedSessionId) => {
4638
+ const getChatListDom = (sessions, selectedSessionId, chatListScrollTop = 0) => {
3261
4639
  if (sessions.length === 0) {
3262
4640
  return getEmptyChatSessionsDom();
3263
4641
  }
@@ -3265,16 +4643,18 @@ const getChatListDom = (sessions, selectedSessionId) => {
3265
4643
  childCount: sessions.length,
3266
4644
  className: ChatList,
3267
4645
  onClick: HandleClickList,
4646
+ onScroll: HandleChatListScroll,
4647
+ scrollTop: chatListScrollTop,
3268
4648
  type: Div
3269
4649
  }, ...sessions.flatMap(getSessionDom)];
3270
4650
  };
3271
4651
 
3272
- const getChatModeListVirtualDom = (sessions, selectedSessionId, composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax) => {
4652
+ const getChatModeListVirtualDom = (sessions, selectedSessionId, composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, composerHeight = 28, composerFontSize = 13, composerFontFamily = 'system-ui', composerLineHeight = 20, chatListScrollTop = 0) => {
3273
4653
  return [{
3274
4654
  childCount: 3,
3275
4655
  className: mergeClassNames(Viewlet, Chat),
3276
4656
  type: Div
3277
- }, ...getChatHeaderListModeDom(), ...getChatListDom(sessions), ...getChatSendAreaDom(composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax)];
4657
+ }, ...getChatHeaderListModeDom(), ...getChatListDom(sessions, selectedSessionId, chatListScrollTop), ...getChatSendAreaDom(composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, composerHeight, composerFontSize, composerFontFamily, composerLineHeight)];
3278
4658
  };
3279
4659
 
3280
4660
  const getChatModeUnsupportedVirtualDom = () => {
@@ -3284,12 +4664,12 @@ const getChatModeUnsupportedVirtualDom = () => {
3284
4664
  }, text(unknownViewMode())];
3285
4665
  };
3286
4666
 
3287
- const getChatVirtualDom = (sessions, selectedSessionId, composerValue, openRouterApiKeyInput, viewMode, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax) => {
4667
+ const getChatVirtualDom = (sessions, selectedSessionId, composerValue, openRouterApiKeyInput, viewMode, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, openApiApiKeyInput = '', openRouterApiKeyState = 'idle', composerHeight = 28, composerFontSize = 13, composerFontFamily = 'system-ui', composerLineHeight = 20, chatListScrollTop = 0, messagesScrollTop = 0) => {
3288
4668
  switch (viewMode) {
3289
4669
  case 'detail':
3290
- return getChatModeDetailVirtualDom(sessions, selectedSessionId, composerValue, openRouterApiKeyInput, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax);
4670
+ return getChatModeDetailVirtualDom(sessions, selectedSessionId, composerValue, openRouterApiKeyInput, openApiApiKeyInput, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, openRouterApiKeyState, composerHeight, composerFontSize, composerFontFamily, composerLineHeight, messagesScrollTop);
3291
4671
  case 'list':
3292
- return getChatModeListVirtualDom(sessions, selectedSessionId, composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax);
4672
+ return getChatModeListVirtualDom(sessions, selectedSessionId, composerValue, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, composerHeight, composerFontSize, composerFontFamily, composerLineHeight, chatListScrollTop);
3293
4673
  default:
3294
4674
  return getChatModeUnsupportedVirtualDom();
3295
4675
  }
@@ -3297,10 +4677,18 @@ const getChatVirtualDom = (sessions, selectedSessionId, composerValue, openRoute
3297
4677
 
3298
4678
  const renderItems = (oldState, newState) => {
3299
4679
  const {
4680
+ chatListScrollTop,
4681
+ composerFontFamily,
4682
+ composerFontSize,
4683
+ composerHeight,
4684
+ composerLineHeight,
3300
4685
  composerValue,
3301
4686
  initial,
4687
+ messagesScrollTop,
3302
4688
  models,
4689
+ openApiApiKeyInput,
3303
4690
  openRouterApiKeyInput,
4691
+ openRouterApiKeyState,
3304
4692
  selectedModelId,
3305
4693
  selectedSessionId,
3306
4694
  sessions,
@@ -3313,7 +4701,7 @@ const renderItems = (oldState, newState) => {
3313
4701
  if (initial) {
3314
4702
  return [SetDom2, uid, []];
3315
4703
  }
3316
- const dom = getChatVirtualDom(sessions, selectedSessionId, composerValue, openRouterApiKeyInput, viewMode, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax);
4704
+ const dom = getChatVirtualDom(sessions, selectedSessionId, composerValue, openRouterApiKeyInput, viewMode, models, selectedModelId, usageOverviewEnabled, tokensUsed, tokensMax, openApiApiKeyInput, openRouterApiKeyState, composerHeight, composerFontSize, composerFontFamily, composerLineHeight, chatListScrollTop, messagesScrollTop);
3317
4705
  return [SetDom2, uid, dom];
3318
4706
  };
3319
4707
 
@@ -3324,6 +4712,14 @@ const renderIncremental = (oldState, newState) => {
3324
4712
  return [SetPatches, newState.uid, patches];
3325
4713
  };
3326
4714
 
4715
+ const renderScrollTop = (oldState, newState) => {
4716
+ const {
4717
+ messagesScrollTop,
4718
+ uid
4719
+ } = newState;
4720
+ return [SetProperty, uid, '.ChatMessages', 'scrollTop', messagesScrollTop];
4721
+ };
4722
+
3327
4723
  const renderValue = (oldState, newState) => {
3328
4724
  const {
3329
4725
  composerValue
@@ -3343,6 +4739,8 @@ const getRenderer = diffType => {
3343
4739
  return renderIncremental;
3344
4740
  case RenderItems:
3345
4741
  return renderItems;
4742
+ case RenderScrollTop:
4743
+ return renderScrollTop;
3346
4744
  case RenderValue:
3347
4745
  return renderValue;
3348
4746
  default:
@@ -3404,6 +4802,12 @@ const renderEventListeners = () => {
3404
4802
  }, {
3405
4803
  name: HandleModelChange,
3406
4804
  params: ['handleModelChange', TargetValue]
4805
+ }, {
4806
+ name: HandleChatListScroll,
4807
+ params: ['handleChatListScroll', 'event.target.scrollTop']
4808
+ }, {
4809
+ name: HandleMessagesScroll,
4810
+ params: ['handleMessagesScroll', 'event.target.scrollTop']
3407
4811
  }, {
3408
4812
  name: HandleFocus,
3409
4813
  params: ['handleInputFocus', TargetName]
@@ -3424,6 +4828,7 @@ const reset = async state => {
3424
4828
  await clearChatSessions();
3425
4829
  return {
3426
4830
  ...state,
4831
+ composerHeight: getMinComposerHeightForState(state),
3427
4832
  composerValue: '',
3428
4833
  openRouterApiKey: '',
3429
4834
  selectedSessionId: '',
@@ -3441,8 +4846,10 @@ const resize = (state, dimensions) => {
3441
4846
 
3442
4847
  const saveState = state => {
3443
4848
  const {
4849
+ chatListScrollTop,
3444
4850
  composerValue,
3445
4851
  height,
4852
+ messagesScrollTop,
3446
4853
  nextMessageId,
3447
4854
  renamingSessionId,
3448
4855
  selectedModelId,
@@ -3453,8 +4860,10 @@ const saveState = state => {
3453
4860
  y
3454
4861
  } = state;
3455
4862
  return {
4863
+ chatListScrollTop,
3456
4864
  composerValue,
3457
4865
  height,
4866
+ messagesScrollTop,
3458
4867
  nextMessageId,
3459
4868
  renamingSessionId,
3460
4869
  selectedModelId,
@@ -3488,6 +4897,21 @@ const setChatList = state => {
3488
4897
  };
3489
4898
  };
3490
4899
 
4900
+ const defaultMockApiCommandId = 'ChatE2e.mockApi';
4901
+ const useMockApi = (state, value, mockApiCommandId = defaultMockApiCommandId) => {
4902
+ if (!value) {
4903
+ return {
4904
+ ...state,
4905
+ useMockApi: false
4906
+ };
4907
+ }
4908
+ return {
4909
+ ...state,
4910
+ mockApiCommandId,
4911
+ useMockApi: true
4912
+ };
4913
+ };
4914
+
3491
4915
  const commandMap = {
3492
4916
  'Chat.clearInput': wrapCommand(clearInput),
3493
4917
  'Chat.create': create,
@@ -3497,6 +4921,7 @@ const commandMap = {
3497
4921
  'Chat.getKeyBindings': getKeyBindings,
3498
4922
  'Chat.getSelectedSessionId': wrapGetter(getSelectedSessionId),
3499
4923
  'Chat.handleChatListContextMenu': handleChatListContextMenu,
4924
+ 'Chat.handleChatListScroll': wrapCommand(handleChatListScroll),
3500
4925
  'Chat.handleClick': wrapCommand(handleClick),
3501
4926
  'Chat.handleClickBack': wrapCommand(handleClickBack),
3502
4927
  'Chat.handleClickClose': handleClickClose,
@@ -3507,6 +4932,7 @@ const commandMap = {
3507
4932
  'Chat.handleInput': wrapCommand(handleInput),
3508
4933
  'Chat.handleInputFocus': wrapCommand(handleInputFocus),
3509
4934
  'Chat.handleKeyDown': wrapCommand(handleKeyDown),
4935
+ 'Chat.handleMessagesScroll': wrapCommand(handleMessagesScroll),
3510
4936
  'Chat.handleModelChange': wrapCommand(handleModelChange),
3511
4937
  'Chat.handleSubmit': wrapCommand(handleSubmit),
3512
4938
  'Chat.initialize': initialize,
@@ -3521,7 +4947,8 @@ const commandMap = {
3521
4947
  'Chat.saveState': wrapGetter(saveState),
3522
4948
  'Chat.setChatList': wrapCommand(setChatList),
3523
4949
  'Chat.setOpenRouterApiKey': wrapCommand(setOpenRouterApiKey),
3524
- 'Chat.terminate': terminate
4950
+ 'Chat.terminate': terminate,
4951
+ 'Chat.useMockApi': wrapCommand(useMockApi)
3525
4952
  };
3526
4953
 
3527
4954
  const listen = async () => {