@lvce-editor/static-server 0.77.0 → 0.77.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1978) hide show
  1. package/config.json +1988 -1996
  2. package/package.json +1 -1
  3. package/static/{bff92c8 → a3ab23c}/css/App.css +1395 -89
  4. package/static/a3ab23c/css/parts/Select.css +44 -0
  5. package/static/{bff92c8 → a3ab23c}/manifest.json +2 -2
  6. package/static/{bff92c8 → a3ab23c}/packages/about-view-worker/dist/aboutWorkerMain.js +3 -3
  7. package/static/a3ab23c/packages/chat-coordinator-worker/dist/chatCoordinatorWorkerMain.js +3551 -0
  8. package/static/{bff92c8/packages/chat-coordinator-worker/dist/chatCoordinatorWorkerMain.js → a3ab23c/packages/chat-storage-worker/dist/chatStorageWorkerMain.js} +571 -446
  9. package/static/{bff92c8 → a3ab23c}/packages/chat-view/dist/chatViewWorkerMain.js +1824 -1976
  10. package/static/{bff92c8 → a3ab23c}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  11. package/static/{bff92c8/packages/quick-pick-worker/dist/quickPickWorkerMain.js → a3ab23c/packages/file-search-worker/dist/fileSearchWorkerMain.js} +146 -137
  12. package/static/{bff92c8/packages/file-search-worker/dist/fileSearchWorkerMain.js → a3ab23c/packages/quick-pick-worker/dist/quickPickWorkerMain.js} +239 -186
  13. package/static/{bff92c8 → a3ab23c}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  14. package/static/{bff92c8 → a3ab23c}/packages/renderer-worker/dist/rendererWorkerMain.js +6 -6
  15. package/static/index.html +4 -4
  16. package/static/bff92c8/css/parts/ChatHeader.css +0 -34
  17. package/static/bff92c8/css/parts/ChatSendArea.css +0 -56
  18. package/static/bff92c8/css/parts/ChatTool.css +0 -81
  19. package/static/bff92c8/css/parts/Select.css +0 -11
  20. package/static/bff92c8/css/parts/ViewletChat.css +0 -545
  21. package/static/bff92c8/css/parts/ViewletChatFocusMode.css +0 -253
  22. package/static/bff92c8/css/parts/ViewletChatModelPicker.css +0 -114
  23. package/static/bff92c8/css/parts/ViewletChatTodoList.css +0 -77
  24. package/static/bff92c8/css/parts/ViewletDebugChat.css +0 -128
  25. package/static/bff92c8/packages/chat-storage-worker/dist/chatStorageWorkerMain.js +0 -912
  26. /package/static/{bff92c8 → a3ab23c}/config/colorTheme.json +0 -0
  27. /package/static/{bff92c8 → a3ab23c}/config/defaultSettings.json +0 -0
  28. /package/static/{bff92c8 → a3ab23c}/config/fileMap.json +0 -0
  29. /package/static/{bff92c8 → a3ab23c}/config/webExtensions.json +0 -0
  30. /package/static/{bff92c8 → a3ab23c}/css/parts/AdditionalDetails.css +0 -0
  31. /package/static/{bff92c8 → a3ab23c}/css/parts/Animation.css +0 -0
  32. /package/static/{bff92c8 → a3ab23c}/css/parts/BrowserScrollBar.css +0 -0
  33. /package/static/{bff92c8 → a3ab23c}/css/parts/Category.css +0 -0
  34. /package/static/{bff92c8 → a3ab23c}/css/parts/DebugButtons.css +0 -0
  35. /package/static/{bff92c8 → a3ab23c}/css/parts/DebugValue.css +0 -0
  36. /package/static/{bff92c8 → a3ab23c}/css/parts/E2eTest.css +0 -0
  37. /package/static/{bff92c8 → a3ab23c}/css/parts/E2eTests.css +0 -0
  38. /package/static/{bff92c8 → a3ab23c}/css/parts/EditorHover.css +0 -0
  39. /package/static/{bff92c8 → a3ab23c}/css/parts/EditorMessage.css +0 -0
  40. /package/static/{bff92c8 → a3ab23c}/css/parts/FeatureContent.css +0 -0
  41. /package/static/{bff92c8 → a3ab23c}/css/parts/Features.css +0 -0
  42. /package/static/{bff92c8 → a3ab23c}/css/parts/ImagePreview.css +0 -0
  43. /package/static/{bff92c8 → a3ab23c}/css/parts/InlineDiffEditor.css +0 -0
  44. /package/static/{bff92c8 → a3ab23c}/css/parts/InputBadge.css +0 -0
  45. /package/static/{bff92c8 → a3ab23c}/css/parts/Key.css +0 -0
  46. /package/static/{bff92c8 → a3ab23c}/css/parts/KeyBindingsHeader.css +0 -0
  47. /package/static/{bff92c8 → a3ab23c}/css/parts/KeyBindingsTable.css +0 -0
  48. /package/static/{bff92c8 → a3ab23c}/css/parts/LegacyDialog.css +0 -0
  49. /package/static/{bff92c8 → a3ab23c}/css/parts/Markdown.css +0 -0
  50. /package/static/{bff92c8 → a3ab23c}/css/parts/Message.css +0 -0
  51. /package/static/{bff92c8 → a3ab23c}/css/parts/Preview.css +0 -0
  52. /package/static/{bff92c8 → a3ab23c}/css/parts/ScrollToTop.css +0 -0
  53. /package/static/{bff92c8 → a3ab23c}/css/parts/SearchToggleButton.css +0 -0
  54. /package/static/{bff92c8 → a3ab23c}/css/parts/SettingsHeader.css +0 -0
  55. /package/static/{bff92c8 → a3ab23c}/css/parts/SettingsItems.css +0 -0
  56. /package/static/{bff92c8 → a3ab23c}/css/parts/SettingsSideBar.css +0 -0
  57. /package/static/{bff92c8 → a3ab23c}/css/parts/Table.css +0 -0
  58. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletAbout.css +0 -0
  59. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletBrowserViewOverview.css +0 -0
  60. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletDebugConsole.css +0 -0
  61. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletDefineKeyBinding.css +0 -0
  62. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletDialog.css +0 -0
  63. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletDiffEditor.css +0 -0
  64. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletEditorWidgetError.css +0 -0
  65. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletExtensionDetail.css +0 -0
  66. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  67. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  68. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletExtensions.css +0 -0
  69. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletIframeInspector.css +0 -0
  70. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletKeyBindings.css +0 -0
  71. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletLanguageModels.css +0 -0
  72. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletMedia.css +0 -0
  73. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletOutput.css +0 -0
  74. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletPanel.css +0 -0
  75. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletPanelTabs.css +0 -0
  76. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletPdf.css +0 -0
  77. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletProblems.css +0 -0
  78. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletReferences.css +0 -0
  79. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletRunAndDebug.css +0 -0
  80. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletScreenCapture.css +0 -0
  81. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletSearch.css +0 -0
  82. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletSettings.css +0 -0
  83. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletSimpleBrowser.css +0 -0
  84. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletSourceControl.css +0 -0
  85. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletStorage.css +0 -0
  86. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletTerminal.css +0 -0
  87. /package/static/{bff92c8 → a3ab23c}/css/parts/ViewletTerminalTabs.css +0 -0
  88. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-bat/README.md +0 -0
  89. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-bat/extension.json +0 -0
  90. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  91. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  92. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-c/README.md +0 -0
  93. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-c/extension.json +0 -0
  94. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  95. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  96. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  97. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  98. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cpp/README.md +0 -0
  99. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  100. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  101. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  102. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cson/README.md +0 -0
  103. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cson/extension.json +0 -0
  104. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  105. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  106. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-css/README.md +0 -0
  107. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-css/extension.json +0 -0
  108. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  109. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  110. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dart/README.md +0 -0
  111. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dart/extension.json +0 -0
  112. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  113. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-desktop/README.md +0 -0
  114. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  115. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  116. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-docker/README.md +0 -0
  117. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-docker/extension.json +0 -0
  118. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  119. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  120. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  121. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  122. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  123. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  124. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  125. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elixir/README.md +0 -0
  126. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  127. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  128. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elm/README.md +0 -0
  129. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elm/extension.json +0 -0
  130. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  131. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  132. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  133. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  134. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gn/README.md +0 -0
  135. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gn/extension.json +0 -0
  136. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  137. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-go/README.md +0 -0
  138. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-go/extension.json +0 -0
  139. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  140. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-graphql/README.md +0 -0
  141. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  142. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  143. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-html/README.md +0 -0
  144. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-html/extension.json +0 -0
  145. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  146. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  147. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-java/README.md +0 -0
  148. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-java/extension.json +0 -0
  149. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  150. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  151. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-javascript/README.md +0 -0
  152. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  153. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  154. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  155. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json/README.md +0 -0
  156. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json/extension.json +0 -0
  157. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  158. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json5/README.md +0 -0
  159. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json5/extension.json +0 -0
  160. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  161. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-jsx/README.md +0 -0
  162. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  163. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  164. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-julia/README.md +0 -0
  165. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-julia/extension.json +0 -0
  166. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  167. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  168. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  169. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  170. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-less/LICENSE +0 -0
  171. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-less/README.md +0 -0
  172. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-less/extension.json +0 -0
  173. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  174. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  175. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-markdown/README.md +0 -0
  176. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  177. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  178. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-mdx/README.md +0 -0
  179. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  180. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  181. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nix/README.md +0 -0
  182. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nix/extension.json +0 -0
  183. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  184. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  185. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  186. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  187. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  188. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-perl/README.md +0 -0
  189. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-perl/extension.json +0 -0
  190. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  191. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  192. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  193. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  194. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-powershell/README.md +0 -0
  195. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  196. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  197. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-python/README.md +0 -0
  198. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-python/extension.json +0 -0
  199. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  200. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  201. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-r/README.md +0 -0
  202. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-r/extension.json +0 -0
  203. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  204. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-ruby/README.md +0 -0
  205. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  206. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  207. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  208. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-rust/README.md +0 -0
  209. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-rust/extension.json +0 -0
  210. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  211. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  212. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-scss/README.md +0 -0
  213. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-scss/extension.json +0 -0
  214. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  215. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  216. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  217. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  218. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  219. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-svelte/README.md +0 -0
  220. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  221. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  222. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-terraform/README.md +0 -0
  223. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  224. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  225. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-toml/README.md +0 -0
  226. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-toml/extension.json +0 -0
  227. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  228. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-typescript/README.md +0 -0
  229. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  230. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-typescript/languageConfiguration.json +0 -0
  231. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  232. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-vue/README.md +0 -0
  233. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-vue/extension.json +0 -0
  234. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  235. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  236. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  237. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  238. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  239. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-xml/README.md +0 -0
  240. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-xml/extension.json +0 -0
  241. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  242. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-yaml/README.md +0 -0
  243. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  244. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  245. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  246. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  247. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  248. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  249. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-ayu/README.md +0 -0
  250. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  251. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-ayu/extension.json +0 -0
  252. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-ayu/images/demo.png +0 -0
  253. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-cobalt2/README.md +0 -0
  254. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  255. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  256. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  257. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  258. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-gruvbox/README.md +0 -0
  259. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  260. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  261. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-gruvbox/images/demo.png +0 -0
  262. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-high-contrast/README.md +0 -0
  263. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  264. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  265. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-material/README.md +0 -0
  266. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-material/color-theme.json +0 -0
  267. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-material/extension.json +0 -0
  268. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-monokai/README.md +0 -0
  269. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  270. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-monokai/extension.json +0 -0
  271. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  272. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  273. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  274. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  275. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-palenight/README.md +0 -0
  276. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  277. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-palenight/extension.json +0 -0
  278. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  279. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-slime/README.md +0 -0
  280. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-slime/color-theme.json +0 -0
  281. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-slime/extension.json +0 -0
  282. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.theme-slime/icon.png +0 -0
  283. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/README.md +0 -0
  284. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/extension.json +0 -0
  285. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  286. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icon.png +0 -0
  287. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/default_file.svg +0 -0
  288. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/default_folder.svg +0 -0
  289. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/default_folder_opened.svg +0 -0
  290. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/default_root_folder.svg +0 -0
  291. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/default_root_folder_opened.svg +0 -0
  292. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_access.svg +0 -0
  293. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_access2.svg +0 -0
  294. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_actionscript.svg +0 -0
  295. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_actionscript2.svg +0 -0
  296. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ada.svg +0 -0
  297. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_advpl.svg +0 -0
  298. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_affectscript.svg +0 -0
  299. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_affinity.svg +0 -0
  300. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_affinitydesigner.svg +0 -0
  301. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_affinityphoto.svg +0 -0
  302. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_affinitypublisher.svg +0 -0
  303. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_agda.svg +0 -0
  304. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_agents.svg +0 -0
  305. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ai.svg +0 -0
  306. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ai2.svg +0 -0
  307. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_al.svg +0 -0
  308. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_al_dal.svg +0 -0
  309. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_alchemy.svg +0 -0
  310. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_allcontributors.svg +0 -0
  311. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_alloy.svg +0 -0
  312. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_allure.svg +0 -0
  313. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_angular.svg +0 -0
  314. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ansible.svg +0 -0
  315. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_antlers_html.svg +0 -0
  316. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_antlr.svg +0 -0
  317. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_anyscript.svg +0 -0
  318. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_apache.svg +0 -0
  319. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_apex.svg +0 -0
  320. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_api_extractor.svg +0 -0
  321. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_apib.svg +0 -0
  322. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_apib2.svg +0 -0
  323. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_apl.svg +0 -0
  324. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_applescript.svg +0 -0
  325. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_appscript.svg +0 -0
  326. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_appsemble.svg +0 -0
  327. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_appveyor.svg +0 -0
  328. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_arduino.svg +0 -0
  329. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_asciidoc.svg +0 -0
  330. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_aseprite.svg +0 -0
  331. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_asp.svg +0 -0
  332. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_aspx.svg +0 -0
  333. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_assembly.svg +0 -0
  334. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_assembly_script.svg +0 -0
  335. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_astro.svg +0 -0
  336. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_astroconfig.svg +0 -0
  337. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_atom.svg +0 -0
  338. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ats.svg +0 -0
  339. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_attw.svg +0 -0
  340. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_audio.svg +0 -0
  341. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_aurelia.svg +0 -0
  342. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_autohotkey.svg +0 -0
  343. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_autoit.svg +0 -0
  344. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_avif.svg +0 -0
  345. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_avro.svg +0 -0
  346. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_awk.svg +0 -0
  347. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_aws.svg +0 -0
  348. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_azure.svg +0 -0
  349. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_azurepipelines.svg +0 -0
  350. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_babel.svg +0 -0
  351. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_babel2.svg +0 -0
  352. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bak.svg +0 -0
  353. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ballerina.svg +0 -0
  354. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bat.svg +0 -0
  355. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bats.svg +0 -0
  356. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bazaar.svg +0 -0
  357. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bazel.svg +0 -0
  358. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bazel_ignore.svg +0 -0
  359. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bazel_version.svg +0 -0
  360. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_befunge.svg +0 -0
  361. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bicep.svg +0 -0
  362. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_biml.svg +0 -0
  363. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_binary.svg +0 -0
  364. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_biome.svg +0 -0
  365. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bitbucketpipeline.svg +0 -0
  366. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bithound.svg +0 -0
  367. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_blade.svg +0 -0
  368. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_blender.svg +0 -0
  369. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_blitzbasic.svg +0 -0
  370. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bolt.svg +0 -0
  371. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bosque.svg +0 -0
  372. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bower.svg +0 -0
  373. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bower2.svg +0 -0
  374. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_browserslist.svg +0 -0
  375. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bruno.svg +0 -0
  376. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_buckbuild.svg +0 -0
  377. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_buf.svg +0 -0
  378. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bun.svg +0 -0
  379. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bundlemon.svg +0 -0
  380. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bundler.svg +0 -0
  381. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_bunfig.svg +0 -0
  382. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_c.svg +0 -0
  383. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_c2.svg +0 -0
  384. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_c3.svg +0 -0
  385. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_c_al.svg +0 -0
  386. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cabal.svg +0 -0
  387. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_caddy.svg +0 -0
  388. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cake.svg +0 -0
  389. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cakephp.svg +0 -0
  390. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_capacitor.svg +0 -0
  391. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_capnp.svg +0 -0
  392. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cargo.svg +0 -0
  393. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_casc.svg +0 -0
  394. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cddl.svg +0 -0
  395. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cert.svg +0 -0
  396. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ceylon.svg +0 -0
  397. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cf.svg +0 -0
  398. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cf2.svg +0 -0
  399. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cfc.svg +0 -0
  400. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cfc2.svg +0 -0
  401. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cfm.svg +0 -0
  402. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cfm2.svg +0 -0
  403. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_changie.svg +0 -0
  404. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cheader.svg +0 -0
  405. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_chef.svg +0 -0
  406. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_chef_cookbook.svg +0 -0
  407. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_circleci.svg +0 -0
  408. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_circom.svg +0 -0
  409. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_class.svg +0 -0
  410. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_claude.svg +0 -0
  411. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_clojure.svg +0 -0
  412. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_clojurescript.svg +0 -0
  413. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cloudflare.svg +0 -0
  414. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cloudfoundry.svg +0 -0
  415. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cmake.svg +0 -0
  416. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cobol.svg +0 -0
  417. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codacy.svg +0 -0
  418. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codeclimate.svg +0 -0
  419. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codecov.svg +0 -0
  420. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codekit.svg +0 -0
  421. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codemagic.svg +0 -0
  422. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codeowners.svg +0 -0
  423. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_codeql.svg +0 -0
  424. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_coderabbit.svg +0 -0
  425. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_coffeelint.svg +0 -0
  426. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_coffeescript.svg +0 -0
  427. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_commitizen.svg +0 -0
  428. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_commitlint.svg +0 -0
  429. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_compass.svg +0 -0
  430. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_composer.svg +0 -0
  431. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_conan.svg +0 -0
  432. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_conda.svg +0 -0
  433. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_config.svg +0 -0
  434. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_confluence.svg +0 -0
  435. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_copilot.svg +0 -0
  436. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_coverage.svg +0 -0
  437. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_coveralls.svg +0 -0
  438. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cpp.svg +0 -0
  439. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cpp2.svg +0 -0
  440. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cpp3.svg +0 -0
  441. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cppheader.svg +0 -0
  442. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_craco.svg +0 -0
  443. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_crowdin.svg +0 -0
  444. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_crystal.svg +0 -0
  445. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_csharp.svg +0 -0
  446. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_csharp2.svg +0 -0
  447. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cspell.svg +0 -0
  448. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_csproj.svg +0 -0
  449. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_css.svg +0 -0
  450. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_css2.svg +0 -0
  451. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_css2map.svg +0 -0
  452. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_csscomb.svg +0 -0
  453. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_csslint.svg +0 -0
  454. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cssmap.svg +0 -0
  455. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cucumber.svg +0 -0
  456. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cuda.svg +0 -0
  457. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cursorrules.svg +0 -0
  458. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cvs.svg +0 -0
  459. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cypress.svg +0 -0
  460. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cypress_spec.svg +0 -0
  461. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_cython.svg +0 -0
  462. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dal.svg +0 -0
  463. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_darcs.svg +0 -0
  464. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dartlang.svg +0 -0
  465. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dartlang_generated.svg +0 -0
  466. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dartlang_ignore.svg +0 -0
  467. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +0 -0
  468. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_db.svg +0 -0
  469. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_debian.svg +0 -0
  470. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_delphi.svg +0 -0
  471. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_deno.svg +0 -0
  472. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_denoify.svg +0 -0
  473. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dependabot.svg +0 -0
  474. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dependencies.svg +0 -0
  475. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_design_tokens.svg +0 -0
  476. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_devcontainer.svg +0 -0
  477. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_devvit.svg +0 -0
  478. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dhall.svg +0 -0
  479. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_diff.svg +0 -0
  480. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_django.svg +0 -0
  481. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dlang.svg +0 -0
  482. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_docker.svg +0 -0
  483. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_docker2.svg +0 -0
  484. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dockertest.svg +0 -0
  485. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dockertest2.svg +0 -0
  486. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_docpad.svg +0 -0
  487. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_docusaurus.svg +0 -0
  488. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_docz.svg +0 -0
  489. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dojo.svg +0 -0
  490. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_doppler.svg +0 -0
  491. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dotenv.svg +0 -0
  492. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dotjs.svg +0 -0
  493. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_doxygen.svg +0 -0
  494. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_drawio.svg +0 -0
  495. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_drone.svg +0 -0
  496. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_drools.svg +0 -0
  497. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dtd.svg +0 -0
  498. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dune.svg +0 -0
  499. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dustjs.svg +0 -0
  500. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dvc.svg +0 -0
  501. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_dylan.svg +0 -0
  502. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_earthly.svg +0 -0
  503. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eas-metadata.svg +0 -0
  504. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_edge.svg +0 -0
  505. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_edge2.svg +0 -0
  506. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_editorconfig.svg +0 -0
  507. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eex.svg +0 -0
  508. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ejs.svg +0 -0
  509. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_elastic.svg +0 -0
  510. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_elasticbeanstalk.svg +0 -0
  511. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_electron.svg +0 -0
  512. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eleventy.svg +0 -0
  513. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eleventy2.svg +0 -0
  514. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_elixir.svg +0 -0
  515. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_elm.svg +0 -0
  516. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_elm2.svg +0 -0
  517. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_emacs.svg +0 -0
  518. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ember.svg +0 -0
  519. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ensime.svg +0 -0
  520. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eps.svg +0 -0
  521. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_epub.svg +0 -0
  522. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_erb.svg +0 -0
  523. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_erlang.svg +0 -0
  524. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_erlang2.svg +0 -0
  525. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_esbuild.svg +0 -0
  526. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eslint.svg +0 -0
  527. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_eslint2.svg +0 -0
  528. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +0 -0
  529. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_excalidraw.svg +0 -0
  530. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_excel.svg +0 -0
  531. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_excel2.svg +0 -0
  532. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_expo.svg +0 -0
  533. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_falcon.svg +0 -0
  534. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fantasticon.svg +0 -0
  535. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fastly.svg +0 -0
  536. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fauna.svg +0 -0
  537. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_favicon.svg +0 -0
  538. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fbx.svg +0 -0
  539. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_firebase.svg +0 -0
  540. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_firebasehosting.svg +0 -0
  541. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_firebasestorage.svg +0 -0
  542. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_firestore.svg +0 -0
  543. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fitbit.svg +0 -0
  544. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fla.svg +0 -0
  545. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flareact.svg +0 -0
  546. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flash.svg +0 -0
  547. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_floobits.svg +0 -0
  548. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flow.svg +0 -0
  549. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flutter.svg +0 -0
  550. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flutter_package.svg +0 -0
  551. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_flyio.svg +0 -0
  552. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_font.svg +0 -0
  553. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_formkit.svg +0 -0
  554. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fortran.svg +0 -0
  555. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fossa.svg +0 -0
  556. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fossil.svg +0 -0
  557. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_freemarker.svg +0 -0
  558. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_frontcommerce.svg +0 -0
  559. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fsharp.svg +0 -0
  560. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fsharp2.svg +0 -0
  561. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fsproj.svg +0 -0
  562. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fthtml.svg +0 -0
  563. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_funding.svg +0 -0
  564. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_fusebox.svg +0 -0
  565. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_galen.svg +0 -0
  566. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_galen2.svg +0 -0
  567. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gamemaker.svg +0 -0
  568. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gamemaker2.svg +0 -0
  569. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gamemaker81.svg +0 -0
  570. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gatsby.svg +0 -0
  571. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gcloud.svg +0 -0
  572. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gcode.svg +0 -0
  573. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gdscript.svg +0 -0
  574. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gduid.svg +0 -0
  575. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gemini.svg +0 -0
  576. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_genstat.svg +0 -0
  577. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_geojson.svg +0 -0
  578. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gimp.svg +0 -0
  579. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_git.svg +0 -0
  580. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_git2.svg +0 -0
  581. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gitlab.svg +0 -0
  582. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gitpod.svg +0 -0
  583. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gleam.svg +0 -0
  584. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gleamconfig.svg +0 -0
  585. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_glide.svg +0 -0
  586. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_glimmer.svg +0 -0
  587. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_glitter.svg +0 -0
  588. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_glsl.svg +0 -0
  589. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gltf.svg +0 -0
  590. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_glyphs.svg +0 -0
  591. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gnu.svg +0 -0
  592. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gnuplot.svg +0 -0
  593. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go.svg +0 -0
  594. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_aqua.svg +0 -0
  595. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_black.svg +0 -0
  596. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_fuchsia.svg +0 -0
  597. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_gopher.svg +0 -0
  598. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_lightblue.svg +0 -0
  599. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_package.svg +0 -0
  600. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_white.svg +0 -0
  601. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_work.svg +0 -0
  602. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_go_yellow.svg +0 -0
  603. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_goctl.svg +0 -0
  604. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_godot.svg +0 -0
  605. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gpg.svg +0 -0
  606. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gradle.svg +0 -0
  607. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gradle2.svg +0 -0
  608. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_grain.svg +0 -0
  609. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_graphql.svg +0 -0
  610. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_graphql_config.svg +0 -0
  611. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_graphviz.svg +0 -0
  612. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_greenkeeper.svg +0 -0
  613. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gridsome.svg +0 -0
  614. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_grit.svg +0 -0
  615. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_groovy.svg +0 -0
  616. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_groovy2.svg +0 -0
  617. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_grunt.svg +0 -0
  618. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_gulp.svg +0 -0
  619. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haml.svg +0 -0
  620. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_handlebars.svg +0 -0
  621. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_handlebars2.svg +0 -0
  622. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_harbour.svg +0 -0
  623. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hardhat.svg +0 -0
  624. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hashicorp.svg +0 -0
  625. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haskell.svg +0 -0
  626. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haskell2.svg +0 -0
  627. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haxe.svg +0 -0
  628. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haxecheckstyle.svg +0 -0
  629. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_haxedevelop.svg +0 -0
  630. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_helix.svg +0 -0
  631. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_helm.svg +0 -0
  632. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_histoire.svg +0 -0
  633. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hjson.svg +0 -0
  634. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hlsl.svg +0 -0
  635. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_homeassistant.svg +0 -0
  636. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_horusec.svg +0 -0
  637. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_host.svg +0 -0
  638. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_html.svg +0 -0
  639. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_htmlhint.svg +0 -0
  640. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_htmlvalidate.svg +0 -0
  641. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_http.svg +0 -0
  642. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hugo.svg +0 -0
  643. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_humanstxt.svg +0 -0
  644. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hunspell.svg +0 -0
  645. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_husky.svg +0 -0
  646. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hy.svg +0 -0
  647. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hygen.svg +0 -0
  648. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_hypr.svg +0 -0
  649. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_icl.svg +0 -0
  650. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_idris.svg +0 -0
  651. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_idrisbin.svg +0 -0
  652. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_idrispkg.svg +0 -0
  653. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_image.svg +0 -0
  654. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_imba.svg +0 -0
  655. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_inc.svg +0 -0
  656. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_infopath.svg +0 -0
  657. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_informix.svg +0 -0
  658. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ini.svg +0 -0
  659. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ink.svg +0 -0
  660. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_innosetup.svg +0 -0
  661. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_io.svg +0 -0
  662. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_iodine.svg +0 -0
  663. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ionic.svg +0 -0
  664. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jake.svg +0 -0
  665. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_janet.svg +0 -0
  666. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jar.svg +0 -0
  667. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jasmine.svg +0 -0
  668. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_java.svg +0 -0
  669. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jbuilder.svg +0 -0
  670. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jekyll.svg +0 -0
  671. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jenkins.svg +0 -0
  672. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jest.svg +0 -0
  673. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jest_snapshot.svg +0 -0
  674. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jetbrains.svg +0 -0
  675. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jinja.svg +0 -0
  676. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jpm.svg +0 -0
  677. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_js.svg +0 -0
  678. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_js_official.svg +0 -0
  679. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsbeautify.svg +0 -0
  680. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsconfig.svg +0 -0
  681. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jscpd.svg +0 -0
  682. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jshint.svg +0 -0
  683. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsmap.svg +0 -0
  684. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_json.svg +0 -0
  685. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_json2.svg +0 -0
  686. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_json5.svg +0 -0
  687. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_json_official.svg +0 -0
  688. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_json_schema.svg +0 -0
  689. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsonld.svg +0 -0
  690. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsonnet.svg +0 -0
  691. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsp.svg +0 -0
  692. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jsr.svg +0 -0
  693. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jss.svg +0 -0
  694. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_juice.svg +0 -0
  695. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_julia.svg +0 -0
  696. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_julia2.svg +0 -0
  697. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_jupyter.svg +0 -0
  698. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_just.svg +0 -0
  699. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_k.svg +0 -0
  700. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_karma.svg +0 -0
  701. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_key.svg +0 -0
  702. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kitchenci.svg +0 -0
  703. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kite.svg +0 -0
  704. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kivy.svg +0 -0
  705. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_knip.svg +0 -0
  706. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kos.svg +0 -0
  707. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kotlin.svg +0 -0
  708. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_kusto.svg +0 -0
  709. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_language_configuration.svg +0 -0
  710. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lark.svg +0 -0
  711. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_latino.svg +0 -0
  712. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_layout.svg +0 -0
  713. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lean.svg +0 -0
  714. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_leanconfig.svg +0 -0
  715. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lefthook.svg +0 -0
  716. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lerna.svg +0 -0
  717. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_less.svg +0 -0
  718. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lex.svg +0 -0
  719. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_liara.svg +0 -0
  720. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_base.svg +0 -0
  721. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_calc.svg +0 -0
  722. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_draw.svg +0 -0
  723. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_impress.svg +0 -0
  724. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_math.svg +0 -0
  725. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_writer.svg +0 -0
  726. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_license.svg +0 -0
  727. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_licensebat.svg +0 -0
  728. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_actionscript2.svg +0 -0
  729. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_ada.svg +0 -0
  730. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_agda.svg +0 -0
  731. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_agents.svg +0 -0
  732. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_apl.svg +0 -0
  733. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_astro.svg +0 -0
  734. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_astroconfig.svg +0 -0
  735. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_babel.svg +0 -0
  736. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_babel2.svg +0 -0
  737. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_cabal.svg +0 -0
  738. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_circleci.svg +0 -0
  739. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_cloudfoundry.svg +0 -0
  740. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_codacy.svg +0 -0
  741. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_codeclimate.svg +0 -0
  742. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_codeowners.svg +0 -0
  743. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_config.svg +0 -0
  744. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_copilot.svg +0 -0
  745. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_crystal.svg +0 -0
  746. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_cypress.svg +0 -0
  747. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_cypress_spec.svg +0 -0
  748. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_db.svg +0 -0
  749. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_deno.svg +0 -0
  750. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_dhall.svg +0 -0
  751. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_docpad.svg +0 -0
  752. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_drone.svg +0 -0
  753. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_eas-metadata.svg +0 -0
  754. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy.svg +0 -0
  755. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy2.svg +0 -0
  756. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +0 -0
  757. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_expo.svg +0 -0
  758. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_firebasehosting.svg +0 -0
  759. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_fla.svg +0 -0
  760. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_font.svg +0 -0
  761. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_gamemaker2.svg +0 -0
  762. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_gradle.svg +0 -0
  763. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_hashicorp.svg +0 -0
  764. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_hjson.svg +0 -0
  765. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_ini.svg +0 -0
  766. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_io.svg +0 -0
  767. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_js.svg +0 -0
  768. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_jsconfig.svg +0 -0
  769. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_jsmap.svg +0 -0
  770. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_json.svg +0 -0
  771. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_json5.svg +0 -0
  772. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_json_schema.svg +0 -0
  773. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_jsonld.svg +0 -0
  774. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_kite.svg +0 -0
  775. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_lark.svg +0 -0
  776. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_lean.svg +0 -0
  777. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_leanconfig.svg +0 -0
  778. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_lerna.svg +0 -0
  779. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +0 -0
  780. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_markuplint.svg +0 -0
  781. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mcp.svg +0 -0
  782. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mdx-components.svg +0 -0
  783. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mdx.svg +0 -0
  784. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mlang.svg +0 -0
  785. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mustache.svg +0 -0
  786. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_mypy.svg +0 -0
  787. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_neo4j.svg +0 -0
  788. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_netlify.svg +0 -0
  789. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_next.svg +0 -0
  790. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_nim.svg +0 -0
  791. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_nx.svg +0 -0
  792. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_objidconfig.svg +0 -0
  793. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_openHAB.svg +0 -0
  794. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_packship.svg +0 -0
  795. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_pcl.svg +0 -0
  796. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_pnpm.svg +0 -0
  797. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_prettier.svg +0 -0
  798. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_prisma.svg +0 -0
  799. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_purescript.svg +0 -0
  800. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_quasar.svg +0 -0
  801. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_raku.svg +0 -0
  802. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_razzle.svg +0 -0
  803. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_reactrouter.svg +0 -0
  804. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_rehype.svg +0 -0
  805. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_remark.svg +0 -0
  806. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_replit.svg +0 -0
  807. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_retext.svg +0 -0
  808. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_rome.svg +0 -0
  809. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_rubocop.svg +0 -0
  810. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_rust.svg +0 -0
  811. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_rust_toolchain.svg +0 -0
  812. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_safetensors.svg +0 -0
  813. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_shadcn.svg +0 -0
  814. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_shaderlab.svg +0 -0
  815. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_solidity.svg +0 -0
  816. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_spin.svg +0 -0
  817. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_stylelint.svg +0 -0
  818. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_stylus.svg +0 -0
  819. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_symfony.svg +0 -0
  820. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_systemd.svg +0 -0
  821. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_systemverilog.svg +0 -0
  822. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_testcafe.svg +0 -0
  823. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_testjs.svg +0 -0
  824. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_tex.svg +0 -0
  825. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_tm.svg +0 -0
  826. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_tmux.svg +0 -0
  827. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_todo.svg +0 -0
  828. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_toit.svg +0 -0
  829. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_toml.svg +0 -0
  830. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_toon.svg +0 -0
  831. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_tree.svg +0 -0
  832. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_turbo.svg +0 -0
  833. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_unibeautify.svg +0 -0
  834. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_vash.svg +0 -0
  835. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_vercel.svg +0 -0
  836. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_vsix.svg +0 -0
  837. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_vsixmanifest.svg +0 -0
  838. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_xfl.svg +0 -0
  839. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_xorg.svg +0 -0
  840. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_yaml.svg +0 -0
  841. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_yaml_official.svg +0 -0
  842. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_light_zeit.svg +0 -0
  843. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lighthouse.svg +0 -0
  844. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lilypond.svg +0 -0
  845. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lime.svg +0 -0
  846. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lintstagedrc.svg +0 -0
  847. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_liquid.svg +0 -0
  848. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lisp.svg +0 -0
  849. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_livescript.svg +0 -0
  850. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lnk.svg +0 -0
  851. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_locale.svg +0 -0
  852. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_log.svg +0 -0
  853. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lolcode.svg +0 -0
  854. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lsl.svg +0 -0
  855. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lua.svg +0 -0
  856. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_luau.svg +0 -0
  857. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_lync.svg +0 -0
  858. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +0 -0
  859. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_makefile.svg +0 -0
  860. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_manifest.svg +0 -0
  861. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_manifest_bak.svg +0 -0
  862. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_manifest_skip.svg +0 -0
  863. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_map.svg +0 -0
  864. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mariadb.svg +0 -0
  865. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_markdown.svg +0 -0
  866. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_markdownlint.svg +0 -0
  867. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_markdownlint_ignore.svg +0 -0
  868. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_marko.svg +0 -0
  869. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_markojs.svg +0 -0
  870. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_markuplint.svg +0 -0
  871. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_master-co.svg +0 -0
  872. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_matlab.svg +0 -0
  873. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_maven.svg +0 -0
  874. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_maxscript.svg +0 -0
  875. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_maya.svg +0 -0
  876. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mcp.svg +0 -0
  877. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mdx-components.svg +0 -0
  878. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mdx.svg +0 -0
  879. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mdxlint.svg +0 -0
  880. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mediawiki.svg +0 -0
  881. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mercurial.svg +0 -0
  882. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mermaid.svg +0 -0
  883. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_meson.svg +0 -0
  884. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_metal.svg +0 -0
  885. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_meteor.svg +0 -0
  886. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_minecraft.svg +0 -0
  887. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mivascript.svg +0 -0
  888. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mjml.svg +0 -0
  889. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mlang.svg +0 -0
  890. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mocha.svg +0 -0
  891. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_modernizr.svg +0 -0
  892. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mojo.svg +0 -0
  893. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mojolicious.svg +0 -0
  894. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_moleculer.svg +0 -0
  895. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mondoo.svg +0 -0
  896. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mongo.svg +0 -0
  897. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_monotone.svg +0 -0
  898. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_motif.svg +0 -0
  899. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mson.svg +0 -0
  900. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mustache.svg +0 -0
  901. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mvt.svg +0 -0
  902. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mvtcss.svg +0 -0
  903. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mvtjs.svg +0 -0
  904. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mypy.svg +0 -0
  905. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_mysql.svg +0 -0
  906. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nanostaged.svg +0 -0
  907. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ndst.svg +0 -0
  908. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nearly.svg +0 -0
  909. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_neo4j.svg +0 -0
  910. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_js.svg +0 -0
  911. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_ts.svg +0 -0
  912. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_js.svg +0 -0
  913. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_ts.svg +0 -0
  914. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_js.svg +0 -0
  915. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_ts.svg +0 -0
  916. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_js.svg +0 -0
  917. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_ts.svg +0 -0
  918. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_js.svg +0 -0
  919. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_ts.svg +0 -0
  920. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_js.svg +0 -0
  921. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_ts.svg +0 -0
  922. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_js.svg +0 -0
  923. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_ts.svg +0 -0
  924. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_js.svg +0 -0
  925. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_ts.svg +0 -0
  926. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_module_js.svg +0 -0
  927. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_module_ts.svg +0 -0
  928. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_js.svg +0 -0
  929. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_ts.svg +0 -0
  930. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_service_js.svg +0 -0
  931. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nest_service_ts.svg +0 -0
  932. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nestjs.svg +0 -0
  933. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_netlify.svg +0 -0
  934. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_next.svg +0 -0
  935. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nextflow.svg +0 -0
  936. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_css.svg +0 -0
  937. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_dart.svg +0 -0
  938. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_html.svg +0 -0
  939. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js.svg +0 -0
  940. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js2.svg +0 -0
  941. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_less.svg +0 -0
  942. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_sass.svg +0 -0
  943. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_scss.svg +0 -0
  944. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts.svg +0 -0
  945. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts2.svg +0 -0
  946. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_js.svg +0 -0
  947. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_ts.svg +0 -0
  948. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_dart.svg +0 -0
  949. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js.svg +0 -0
  950. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js2.svg +0 -0
  951. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts.svg +0 -0
  952. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts2.svg +0 -0
  953. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_dart.svg +0 -0
  954. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_js.svg +0 -0
  955. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_ts.svg +0 -0
  956. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_dart.svg +0 -0
  957. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_js.svg +0 -0
  958. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_ts.svg +0 -0
  959. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_module_dart.svg +0 -0
  960. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js.svg +0 -0
  961. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js2.svg +0 -0
  962. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts.svg +0 -0
  963. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts2.svg +0 -0
  964. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_dart.svg +0 -0
  965. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js.svg +0 -0
  966. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js2.svg +0 -0
  967. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts.svg +0 -0
  968. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts2.svg +0 -0
  969. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_dart.svg +0 -0
  970. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js.svg +0 -0
  971. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js2.svg +0 -0
  972. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts.svg +0 -0
  973. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts2.svg +0 -0
  974. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_service_dart.svg +0 -0
  975. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js.svg +0 -0
  976. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js2.svg +0 -0
  977. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts.svg +0 -0
  978. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts2.svg +0 -0
  979. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_dart.svg +0 -0
  980. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js.svg +0 -0
  981. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js2.svg +0 -0
  982. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts.svg +0 -0
  983. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts2.svg +0 -0
  984. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ng_tailwind.svg +0 -0
  985. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nginx.svg +0 -0
  986. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nim.svg +0 -0
  987. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nimble.svg +0 -0
  988. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ninja.svg +0 -0
  989. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nix.svg +0 -0
  990. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_njsproj.svg +0 -0
  991. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_noc.svg +0 -0
  992. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_node.svg +0 -0
  993. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_node2.svg +0 -0
  994. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nodemon.svg +0 -0
  995. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_npm.svg +0 -0
  996. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_npmpackagejsonlint.svg +0 -0
  997. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nsi.svg +0 -0
  998. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nsri-integrity.svg +0 -0
  999. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nsri.svg +0 -0
  1000. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nuget.svg +0 -0
  1001. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_numpy.svg +0 -0
  1002. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nunjucks.svg +0 -0
  1003. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nushell.svg +0 -0
  1004. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nuxt.svg +0 -0
  1005. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nx.svg +0 -0
  1006. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_nyc.svg +0 -0
  1007. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_objectivec.svg +0 -0
  1008. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_objectivecpp.svg +0 -0
  1009. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_objidconfig.svg +0 -0
  1010. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ocaml.svg +0 -0
  1011. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ocaml_intf.svg +0 -0
  1012. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ogone.svg +0 -0
  1013. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_onenote.svg +0 -0
  1014. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_opam.svg +0 -0
  1015. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_openHAB.svg +0 -0
  1016. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_opencl.svg +0 -0
  1017. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_openscad.svg +0 -0
  1018. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_opentofu.svg +0 -0
  1019. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_org.svg +0 -0
  1020. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_outlook.svg +0 -0
  1021. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ovpn.svg +0 -0
  1022. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_oxc.svg +0 -0
  1023. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_oxlint.svg +0 -0
  1024. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_package.svg +0 -0
  1025. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_packship.svg +0 -0
  1026. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_paket.svg +0 -0
  1027. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pandacss.svg +0 -0
  1028. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_patch.svg +0 -0
  1029. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pcl.svg +0 -0
  1030. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pddl.svg +0 -0
  1031. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pddl_happenings.svg +0 -0
  1032. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pddl_plan.svg +0 -0
  1033. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pdf.svg +0 -0
  1034. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pdf2.svg +0 -0
  1035. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pdm.svg +0 -0
  1036. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_peeky.svg +0 -0
  1037. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_perl.svg +0 -0
  1038. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_perl2.svg +0 -0
  1039. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_perl6.svg +0 -0
  1040. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pgsql.svg +0 -0
  1041. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_photoshop.svg +0 -0
  1042. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_photoshop2.svg +0 -0
  1043. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_php.svg +0 -0
  1044. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_php2.svg +0 -0
  1045. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_php3.svg +0 -0
  1046. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_phpcsfixer.svg +0 -0
  1047. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_phpstan.svg +0 -0
  1048. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_phpunit.svg +0 -0
  1049. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_phraseapp.svg +0 -0
  1050. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pine.svg +0 -0
  1051. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pip.svg +0 -0
  1052. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pipeline.svg +0 -0
  1053. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plantuml.svg +0 -0
  1054. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_platformio.svg +0 -0
  1055. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_playwright.svg +0 -0
  1056. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plsql.svg +0 -0
  1057. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plsql_package.svg +0 -0
  1058. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_body.svg +0 -0
  1059. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_header.svg +0 -0
  1060. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_spec.svg +0 -0
  1061. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pm2.svg +0 -0
  1062. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pnpm.svg +0 -0
  1063. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_poedit.svg +0 -0
  1064. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_poetry.svg +0 -0
  1065. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_polyglot.svg +0 -0
  1066. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_polymer.svg +0 -0
  1067. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pony.svg +0 -0
  1068. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_postcss.svg +0 -0
  1069. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_postcssconfig.svg +0 -0
  1070. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_postman.svg +0 -0
  1071. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powerpoint.svg +0 -0
  1072. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powerpoint2.svg +0 -0
  1073. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell.svg +0 -0
  1074. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell2.svg +0 -0
  1075. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_format.svg +0 -0
  1076. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd.svg +0 -0
  1077. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd2.svg +0 -0
  1078. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm.svg +0 -0
  1079. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm2.svg +0 -0
  1080. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_powershell_types.svg +0 -0
  1081. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_preact.svg +0 -0
  1082. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_precommit.svg +0 -0
  1083. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_prettier.svg +0 -0
  1084. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_prisma.svg +0 -0
  1085. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_prismaconfig.svg +0 -0
  1086. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_processinglang.svg +0 -0
  1087. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_procfile.svg +0 -0
  1088. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_progress.svg +0 -0
  1089. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_prolog.svg +0 -0
  1090. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_prometheus.svg +0 -0
  1091. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_protobuf.svg +0 -0
  1092. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_protractor.svg +0 -0
  1093. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_publiccode.svg +0 -0
  1094. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_publisher.svg +0 -0
  1095. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pug.svg +0 -0
  1096. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pulumi.svg +0 -0
  1097. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_puppet.svg +0 -0
  1098. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_purescript.svg +0 -0
  1099. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_purgecss.svg +0 -0
  1100. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pyenv.svg +0 -0
  1101. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pyret.svg +0 -0
  1102. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pyscript.svg +0 -0
  1103. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pytest.svg +0 -0
  1104. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_python.svg +0 -0
  1105. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +0 -0
  1106. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pytyped.svg +0 -0
  1107. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_pyup.svg +0 -0
  1108. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_q.svg +0 -0
  1109. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_qbs.svg +0 -0
  1110. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_qlikview.svg +0 -0
  1111. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_qml.svg +0 -0
  1112. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_qmldir.svg +0 -0
  1113. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_qsharp.svg +0 -0
  1114. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_quasar.svg +0 -0
  1115. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_r.svg +0 -0
  1116. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ra_syntax_tree.svg +0 -0
  1117. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_racket.svg +0 -0
  1118. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rails.svg +0 -0
  1119. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rake.svg +0 -0
  1120. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_raku.svg +0 -0
  1121. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_raml.svg +0 -0
  1122. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_razor.svg +0 -0
  1123. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_razzle.svg +0 -0
  1124. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_reactjs.svg +0 -0
  1125. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_reactrouter.svg +0 -0
  1126. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_reacttemplate.svg +0 -0
  1127. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_reactts.svg +0 -0
  1128. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_reason.svg +0 -0
  1129. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_red.svg +0 -0
  1130. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_registry.svg +0 -0
  1131. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rego.svg +0 -0
  1132. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rehype.svg +0 -0
  1133. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_remark.svg +0 -0
  1134. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_renovate.svg +0 -0
  1135. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_replit.svg +0 -0
  1136. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rescript.svg +0 -0
  1137. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rest.svg +0 -0
  1138. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_retext.svg +0 -0
  1139. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rexx.svg +0 -0
  1140. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_riot.svg +0 -0
  1141. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ripple.svg +0 -0
  1142. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rmd.svg +0 -0
  1143. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rnc.svg +0 -0
  1144. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_robotframework.svg +0 -0
  1145. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_robots.svg +0 -0
  1146. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rolldown.svg +0 -0
  1147. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rollup.svg +0 -0
  1148. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rome.svg +0 -0
  1149. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ron.svg +0 -0
  1150. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rproj.svg +0 -0
  1151. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rspec.svg +0 -0
  1152. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rss.svg +0 -0
  1153. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rubocop.svg +0 -0
  1154. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ruby.svg +0 -0
  1155. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rust.svg +0 -0
  1156. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_rust_toolchain.svg +0 -0
  1157. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_s-lang.svg +0 -0
  1158. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_safetensors.svg +0 -0
  1159. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sails.svg +0 -0
  1160. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_saltstack.svg +0 -0
  1161. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_san.svg +0 -0
  1162. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sapphire_framework_cli.svg +0 -0
  1163. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sas.svg +0 -0
  1164. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sass.svg +0 -0
  1165. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sbt.svg +0 -0
  1166. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_scala.svg +0 -0
  1167. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_scilab.svg +0 -0
  1168. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_script.svg +0 -0
  1169. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_scss.svg +0 -0
  1170. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_scss2.svg +0 -0
  1171. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sdlang.svg +0 -0
  1172. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_search_result.svg +0 -0
  1173. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_seedkit.svg +0 -0
  1174. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sentry.svg +0 -0
  1175. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sequelize.svg +0 -0
  1176. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_serverless.svg +0 -0
  1177. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_shadcn.svg +0 -0
  1178. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_shaderlab.svg +0 -0
  1179. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_shell.svg +0 -0
  1180. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_shellcheck.svg +0 -0
  1181. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_shuttle.svg +0 -0
  1182. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_silverstripe.svg +0 -0
  1183. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sino.svg +0 -0
  1184. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sitemap.svg +0 -0
  1185. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_siyuan.svg +0 -0
  1186. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sketch.svg +0 -0
  1187. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_skipper.svg +0 -0
  1188. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_slang.svg +0 -0
  1189. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_slashup.svg +0 -0
  1190. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_slice.svg +0 -0
  1191. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_slim.svg +0 -0
  1192. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_slint.svg +0 -0
  1193. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sln.svg +0 -0
  1194. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sln2.svg +0 -0
  1195. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_smarty.svg +0 -0
  1196. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_smithery.svg +0 -0
  1197. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_snakemake.svg +0 -0
  1198. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_snapcraft.svg +0 -0
  1199. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_snaplet.svg +0 -0
  1200. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_snort.svg +0 -0
  1201. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_snyk.svg +0 -0
  1202. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_solidarity.svg +0 -0
  1203. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_solidity.svg +0 -0
  1204. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_source.svg +0 -0
  1205. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_spacengine.svg +0 -0
  1206. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sparql.svg +0 -0
  1207. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_spin.svg +0 -0
  1208. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sqf.svg +0 -0
  1209. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sql.svg +0 -0
  1210. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sqlite.svg +0 -0
  1211. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_squirrel.svg +0 -0
  1212. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sss.svg +0 -0
  1213. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sst.svg +0 -0
  1214. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stackblitz.svg +0 -0
  1215. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stan.svg +0 -0
  1216. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stata.svg +0 -0
  1217. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stencil.svg +0 -0
  1218. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_storyboard.svg +0 -0
  1219. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_storybook.svg +0 -0
  1220. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stryker.svg +0 -0
  1221. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stylable.svg +0 -0
  1222. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_style.svg +0 -0
  1223. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_styled.svg +0 -0
  1224. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stylelint.svg +0 -0
  1225. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stylish_haskell.svg +0 -0
  1226. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_stylus.svg +0 -0
  1227. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_sublime.svg +0 -0
  1228. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_subversion.svg +0 -0
  1229. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_svelte.svg +0 -0
  1230. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_svelteconfig.svg +0 -0
  1231. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_svg.svg +0 -0
  1232. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_svgo.svg +0 -0
  1233. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_swagger.svg +0 -0
  1234. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_swc.svg +0 -0
  1235. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_swift.svg +0 -0
  1236. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_swig.svg +0 -0
  1237. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_symfony.svg +0 -0
  1238. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_syncpack.svg +0 -0
  1239. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_systemd.svg +0 -0
  1240. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_systemverilog.svg +0 -0
  1241. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_t4tt.svg +0 -0
  1242. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tailwind.svg +0 -0
  1243. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tamagui.svg +0 -0
  1244. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_taplo.svg +0 -0
  1245. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_taskfile.svg +0 -0
  1246. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tauri.svg +0 -0
  1247. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tcl.svg +0 -0
  1248. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_teal.svg +0 -0
  1249. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_templ.svg +0 -0
  1250. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tera.svg +0 -0
  1251. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_terraform.svg +0 -0
  1252. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_test.svg +0 -0
  1253. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_testcafe.svg +0 -0
  1254. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_testjs.svg +0 -0
  1255. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_testplane.svg +0 -0
  1256. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_testts.svg +0 -0
  1257. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tex.svg +0 -0
  1258. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_text.svg +0 -0
  1259. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_textile.svg +0 -0
  1260. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tfs.svg +0 -0
  1261. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tiltfile.svg +0 -0
  1262. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tm.svg +0 -0
  1263. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tmux.svg +0 -0
  1264. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_todo.svg +0 -0
  1265. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_toit.svg +0 -0
  1266. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_toml.svg +0 -0
  1267. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_toon.svg +0 -0
  1268. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tox.svg +0 -0
  1269. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_travis.svg +0 -0
  1270. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tree.svg +0 -0
  1271. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tres.svg +0 -0
  1272. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_truffle.svg +0 -0
  1273. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_trunk.svg +0 -0
  1274. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tsbuildinfo.svg +0 -0
  1275. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tscn.svg +0 -0
  1276. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tsconfig.svg +0 -0
  1277. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tsconfig_official.svg +0 -0
  1278. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tsdoc.svg +0 -0
  1279. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tsdown.svg +0 -0
  1280. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tslint.svg +0 -0
  1281. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tt.svg +0 -0
  1282. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_ttcn.svg +0 -0
  1283. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_tuc.svg +0 -0
  1284. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_turbo.svg +0 -0
  1285. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_twig.svg +0 -0
  1286. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typedoc.svg +0 -0
  1287. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typescript.svg +0 -0
  1288. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typescript_official.svg +0 -0
  1289. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef.svg +0 -0
  1290. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef_official.svg +0 -0
  1291. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_typo3.svg +0 -0
  1292. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_uiua.svg +0 -0
  1293. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_unibeautify.svg +0 -0
  1294. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_unison.svg +0 -0
  1295. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_unlicense.svg +0 -0
  1296. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_unocss.svg +0 -0
  1297. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_uv.svg +0 -0
  1298. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vagrant.svg +0 -0
  1299. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vala.svg +0 -0
  1300. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vanilla_extract.svg +0 -0
  1301. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vapi.svg +0 -0
  1302. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vapor.svg +0 -0
  1303. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vash.svg +0 -0
  1304. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vb.svg +0 -0
  1305. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vba.svg +0 -0
  1306. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vbhtml.svg +0 -0
  1307. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vbproj.svg +0 -0
  1308. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vcxproj.svg +0 -0
  1309. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_velocity.svg +0 -0
  1310. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vento.svg +0 -0
  1311. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vercel.svg +0 -0
  1312. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_verilog.svg +0 -0
  1313. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vhdl.svg +0 -0
  1314. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_video.svg +0 -0
  1315. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_view.svg +0 -0
  1316. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vim.svg +0 -0
  1317. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vite.svg +0 -0
  1318. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vitest.svg +0 -0
  1319. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vlang.svg +0 -0
  1320. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_volt.svg +0 -0
  1321. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vroom.svg +0 -0
  1322. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vscode-insiders.svg +0 -0
  1323. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vscode.svg +0 -0
  1324. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vscode2.svg +0 -0
  1325. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vscode3.svg +0 -0
  1326. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vscode_test.svg +0 -0
  1327. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vsix.svg +0 -0
  1328. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vsixmanifest.svg +0 -0
  1329. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vue.svg +0 -0
  1330. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vueconfig.svg +0 -0
  1331. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vvvvvv.svg +0 -0
  1332. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_vyper.svg +0 -0
  1333. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wallaby.svg +0 -0
  1334. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wally.svg +0 -0
  1335. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wasm.svg +0 -0
  1336. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_watchmanconfig.svg +0 -0
  1337. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wdio.svg +0 -0
  1338. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_weblate.svg +0 -0
  1339. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_webpack.svg +0 -0
  1340. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wenyan.svg +0 -0
  1341. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wercker.svg +0 -0
  1342. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wgsl.svg +0 -0
  1343. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wikitext.svg +0 -0
  1344. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_windi.svg +0 -0
  1345. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wit.svg +0 -0
  1346. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wolfram.svg +0 -0
  1347. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_word.svg +0 -0
  1348. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_word2.svg +0 -0
  1349. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wpml.svg +0 -0
  1350. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wurst.svg +0 -0
  1351. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wxml.svg +0 -0
  1352. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wxss.svg +0 -0
  1353. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_wxt.svg +0 -0
  1354. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xaml.svg +0 -0
  1355. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xcode.svg +0 -0
  1356. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xfl.svg +0 -0
  1357. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xib.svg +0 -0
  1358. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xliff.svg +0 -0
  1359. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xmake.svg +0 -0
  1360. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xml.svg +0 -0
  1361. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xo.svg +0 -0
  1362. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xorg.svg +0 -0
  1363. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xquery.svg +0 -0
  1364. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_xsl.svg +0 -0
  1365. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yacc.svg +0 -0
  1366. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yaml.svg +0 -0
  1367. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yaml_official.svg +0 -0
  1368. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yamllint.svg +0 -0
  1369. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yandex.svg +0 -0
  1370. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yang.svg +0 -0
  1371. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yarn.svg +0 -0
  1372. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_yeoman.svg +0 -0
  1373. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_zeit.svg +0 -0
  1374. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_zig.svg +0 -0
  1375. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_zip.svg +0 -0
  1376. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/file_type_zip2.svg +0 -0
  1377. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_android.svg +0 -0
  1378. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_android_opened.svg +0 -0
  1379. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_angular.svg +0 -0
  1380. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_angular_opened.svg +0 -0
  1381. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_apache.svg +0 -0
  1382. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_apache_opened.svg +0 -0
  1383. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_api.svg +0 -0
  1384. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_api_opened.svg +0 -0
  1385. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_app.svg +0 -0
  1386. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_app_opened.svg +0 -0
  1387. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_arangodb.svg +0 -0
  1388. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_arangodb_opened.svg +0 -0
  1389. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_asset.svg +0 -0
  1390. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_asset_opened.svg +0 -0
  1391. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_astro.svg +0 -0
  1392. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_astro_opened.svg +0 -0
  1393. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_audio.svg +0 -0
  1394. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_audio_opened.svg +0 -0
  1395. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_aurelia.svg +0 -0
  1396. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_aurelia_opened.svg +0 -0
  1397. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_aws.svg +0 -0
  1398. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_aws_opened.svg +0 -0
  1399. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_azure.svg +0 -0
  1400. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_azure_opened.svg +0 -0
  1401. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines.svg +0 -0
  1402. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines_opened.svg +0 -0
  1403. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_binary.svg +0 -0
  1404. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_binary_opened.svg +0 -0
  1405. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bloc.svg +0 -0
  1406. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bloc_opened.svg +0 -0
  1407. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_blueprint.svg +0 -0
  1408. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_blueprint_opened.svg +0 -0
  1409. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bot.svg +0 -0
  1410. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bot_opened.svg +0 -0
  1411. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bower.svg +0 -0
  1412. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_bower_opened.svg +0 -0
  1413. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_buildkite.svg +0 -0
  1414. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_buildkite_opened.svg +0 -0
  1415. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cake.svg +0 -0
  1416. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cake_opened.svg +0 -0
  1417. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cargo.svg +0 -0
  1418. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cargo_opened.svg +0 -0
  1419. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_certificate.svg +0 -0
  1420. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_certificate_opened.svg +0 -0
  1421. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_changesets.svg +0 -0
  1422. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_changesets_opened.svg +0 -0
  1423. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_chef.svg +0 -0
  1424. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_chef_opened.svg +0 -0
  1425. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_circleci.svg +0 -0
  1426. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_circleci_opened.svg +0 -0
  1427. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_claude.svg +0 -0
  1428. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_claude_opened.svg +0 -0
  1429. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cli.svg +0 -0
  1430. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cli_opened.svg +0 -0
  1431. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_client.svg +0 -0
  1432. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_client_opened.svg +0 -0
  1433. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare.svg +0 -0
  1434. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare_opened.svg +0 -0
  1435. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cmake.svg +0 -0
  1436. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cmake_opened.svg +0 -0
  1437. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_common.svg +0 -0
  1438. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_common_opened.svg +0 -0
  1439. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_component.svg +0 -0
  1440. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_component_opened.svg +0 -0
  1441. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_composer.svg +0 -0
  1442. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_composer_opened.svg +0 -0
  1443. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_config.svg +0 -0
  1444. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_config_opened.svg +0 -0
  1445. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_controller.svg +0 -0
  1446. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_controller_opened.svg +0 -0
  1447. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_coverage.svg +0 -0
  1448. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_coverage_opened.svg +0 -0
  1449. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_css.svg +0 -0
  1450. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_css2.svg +0 -0
  1451. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_css2_opened.svg +0 -0
  1452. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_css_opened.svg +0 -0
  1453. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cubit.svg +0 -0
  1454. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cubit_opened.svg +0 -0
  1455. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cursor.svg +0 -0
  1456. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cursor_opened.svg +0 -0
  1457. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cypress.svg +0 -0
  1458. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_cypress_opened.svg +0 -0
  1459. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dapr.svg +0 -0
  1460. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dapr_opened.svg +0 -0
  1461. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dart.svg +0 -0
  1462. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dart_opened.svg +0 -0
  1463. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +0 -0
  1464. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +0 -0
  1465. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_db.svg +0 -0
  1466. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_db_opened.svg +0 -0
  1467. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_debian.svg +0 -0
  1468. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_debian_opened.svg +0 -0
  1469. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dependabot.svg +0 -0
  1470. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dependabot_opened.svg +0 -0
  1471. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer.svg +0 -0
  1472. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer_opened.svg +0 -0
  1473. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dist.svg +0 -0
  1474. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_dist_opened.svg +0 -0
  1475. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_docker.svg +0 -0
  1476. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_docker_opened.svg +0 -0
  1477. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_docs.svg +0 -0
  1478. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_docs_opened.svg +0 -0
  1479. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_e2e.svg +0 -0
  1480. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_e2e_opened.svg +0 -0
  1481. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk.svg +0 -0
  1482. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1483. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_electron.svg +0 -0
  1484. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_electron_opened.svg +0 -0
  1485. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_expo.svg +0 -0
  1486. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_expo_opened.svg +0 -0
  1487. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_favicon.svg +0 -0
  1488. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_favicon_opened.svg +0 -0
  1489. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_flow.svg +0 -0
  1490. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_flow_opened.svg +0 -0
  1491. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_flutter.svg +0 -0
  1492. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_flutter_opened.svg +0 -0
  1493. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_fonts.svg +0 -0
  1494. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_fonts_opened.svg +0 -0
  1495. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce.svg +0 -0
  1496. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce_opened.svg +0 -0
  1497. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gcp.svg +0 -0
  1498. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gcp_opened.svg +0 -0
  1499. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_git.svg +0 -0
  1500. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_git_opened.svg +0 -0
  1501. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_github.svg +0 -0
  1502. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_github_opened.svg +0 -0
  1503. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gitlab.svg +0 -0
  1504. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gitlab_opened.svg +0 -0
  1505. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_godot.svg +0 -0
  1506. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_godot_opened.svg +0 -0
  1507. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gradle.svg +0 -0
  1508. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gradle_opened.svg +0 -0
  1509. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_graphql.svg +0 -0
  1510. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_graphql_opened.svg +0 -0
  1511. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_grunt.svg +0 -0
  1512. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_grunt_opened.svg +0 -0
  1513. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gulp.svg +0 -0
  1514. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_gulp_opened.svg +0 -0
  1515. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_haxelib.svg +0 -0
  1516. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_haxelib_opened.svg +0 -0
  1517. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_helper.svg +0 -0
  1518. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_helper_opened.svg +0 -0
  1519. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_histoire.svg +0 -0
  1520. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_histoire_opened.svg +0 -0
  1521. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_hook.svg +0 -0
  1522. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_hook_opened.svg +0 -0
  1523. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_husky.svg +0 -0
  1524. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_husky_opened.svg +0 -0
  1525. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_idea.svg +0 -0
  1526. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_idea_opened.svg +0 -0
  1527. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_images.svg +0 -0
  1528. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_images_opened.svg +0 -0
  1529. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_include.svg +0 -0
  1530. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_include_opened.svg +0 -0
  1531. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_interfaces.svg +0 -0
  1532. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_interfaces_opened.svg +0 -0
  1533. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_ios.svg +0 -0
  1534. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_ios_opened.svg +0 -0
  1535. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_js.svg +0 -0
  1536. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_js_opened.svg +0 -0
  1537. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_json.svg +0 -0
  1538. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_json_official.svg +0 -0
  1539. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_json_official_opened.svg +0 -0
  1540. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_json_opened.svg +0 -0
  1541. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_junie.svg +0 -0
  1542. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_junie_opened.svg +0 -0
  1543. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_kotlin.svg +0 -0
  1544. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_kotlin_opened.svg +0 -0
  1545. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes.svg +0 -0
  1546. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes_opened.svg +0 -0
  1547. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_less.svg +0 -0
  1548. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_less_opened.svg +0 -0
  1549. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_library.svg +0 -0
  1550. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_library_opened.svg +0 -0
  1551. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor.svg +0 -0
  1552. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor_opened.svg +0 -0
  1553. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress.svg +0 -0
  1554. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress_opened.svg +0 -0
  1555. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_electron.svg +0 -0
  1556. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_electron_opened.svg +0 -0
  1557. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_expo.svg +0 -0
  1558. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_expo_opened.svg +0 -0
  1559. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts.svg +0 -0
  1560. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts_opened.svg +0 -0
  1561. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle.svg +0 -0
  1562. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle_opened.svg +0 -0
  1563. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor.svg +0 -0
  1564. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor_opened.svg +0 -0
  1565. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy.svg +0 -0
  1566. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy_opened.svg +0 -0
  1567. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql.svg +0 -0
  1568. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql_opened.svg +0 -0
  1569. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_node.svg +0 -0
  1570. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_node_opened.svg +0 -0
  1571. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_redux.svg +0 -0
  1572. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_redux_opened.svg +0 -0
  1573. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_sass.svg +0 -0
  1574. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_sass_opened.svg +0 -0
  1575. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_zed.svg +0 -0
  1576. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_light_zed_opened.svg +0 -0
  1577. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_linux.svg +0 -0
  1578. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_linux_opened.svg +0 -0
  1579. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_locale.svg +0 -0
  1580. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_locale_opened.svg +0 -0
  1581. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_log.svg +0 -0
  1582. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_log_opened.svg +0 -0
  1583. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_macos.svg +0 -0
  1584. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_macos_opened.svg +0 -0
  1585. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mariadb.svg +0 -0
  1586. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mariadb_opened.svg +0 -0
  1587. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_maven.svg +0 -0
  1588. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_maven_opened.svg +0 -0
  1589. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki.svg +0 -0
  1590. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki_opened.svg +0 -0
  1591. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_memcached.svg +0 -0
  1592. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_memcached_opened.svg +0 -0
  1593. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_meteor.svg +0 -0
  1594. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_meteor_opened.svg +0 -0
  1595. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_middleware.svg +0 -0
  1596. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_middleware_opened.svg +0 -0
  1597. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_minecraft.svg +0 -0
  1598. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_minecraft_opened.svg +0 -0
  1599. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_minikube.svg +0 -0
  1600. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_minikube_opened.svg +0 -0
  1601. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mjml.svg +0 -0
  1602. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mjml_opened.svg +0 -0
  1603. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mock.svg +0 -0
  1604. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mock_opened.svg +0 -0
  1605. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_model.svg +0 -0
  1606. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_model_opened.svg +0 -0
  1607. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_module.svg +0 -0
  1608. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_module_opened.svg +0 -0
  1609. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mojo.svg +0 -0
  1610. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mojo_opened.svg +0 -0
  1611. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mongodb.svg +0 -0
  1612. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mongodb_opened.svg +0 -0
  1613. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mypy.svg +0 -0
  1614. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mypy_opened.svg +0 -0
  1615. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mysql.svg +0 -0
  1616. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_mysql_opened.svg +0 -0
  1617. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_netlify.svg +0 -0
  1618. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_netlify_opened.svg +0 -0
  1619. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_next.svg +0 -0
  1620. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_next_opened.svg +0 -0
  1621. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nginx.svg +0 -0
  1622. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nginx_opened.svg +0 -0
  1623. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nix.svg +0 -0
  1624. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nix_opened.svg +0 -0
  1625. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_node.svg +0 -0
  1626. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_node_opened.svg +0 -0
  1627. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_notebooks.svg +0 -0
  1628. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_notebooks_opened.svg +0 -0
  1629. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_notification.svg +0 -0
  1630. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_notification_opened.svg +0 -0
  1631. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nuget.svg +0 -0
  1632. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nuget_opened.svg +0 -0
  1633. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nuxt.svg +0 -0
  1634. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_nuxt_opened.svg +0 -0
  1635. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_package.svg +0 -0
  1636. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_package_opened.svg +0 -0
  1637. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_paket.svg +0 -0
  1638. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_paket_opened.svg +0 -0
  1639. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_php.svg +0 -0
  1640. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_php_opened.svg +0 -0
  1641. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_platformio.svg +0 -0
  1642. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_platformio_opened.svg +0 -0
  1643. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_plugin.svg +0 -0
  1644. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_plugin_opened.svg +0 -0
  1645. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_prisma.svg +0 -0
  1646. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_prisma_opened.svg +0 -0
  1647. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_private.svg +0 -0
  1648. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_private_opened.svg +0 -0
  1649. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_public.svg +0 -0
  1650. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_public_opened.svg +0 -0
  1651. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_pytest.svg +0 -0
  1652. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_pytest_opened.svg +0 -0
  1653. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_python.svg +0 -0
  1654. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_python_opened.svg +0 -0
  1655. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_ravendb.svg +0 -0
  1656. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_ravendb_opened.svg +0 -0
  1657. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_redis.svg +0 -0
  1658. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_redis_opened.svg +0 -0
  1659. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_redux.svg +0 -0
  1660. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_redux_opened.svg +0 -0
  1661. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_route.svg +0 -0
  1662. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_route_opened.svg +0 -0
  1663. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_sass.svg +0 -0
  1664. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_sass_opened.svg +0 -0
  1665. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_script.svg +0 -0
  1666. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_script_opened.svg +0 -0
  1667. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_seedkit.svg +0 -0
  1668. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_seedkit_opened.svg +0 -0
  1669. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_server.svg +0 -0
  1670. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_server_opened.svg +0 -0
  1671. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_services.svg +0 -0
  1672. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_services_opened.svg +0 -0
  1673. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_shared.svg +0 -0
  1674. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_shared_opened.svg +0 -0
  1675. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_snaplet.svg +0 -0
  1676. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_snaplet_opened.svg +0 -0
  1677. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_spin.svg +0 -0
  1678. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_spin_opened.svg +0 -0
  1679. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_src.svg +0 -0
  1680. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_src_opened.svg +0 -0
  1681. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_sso.svg +0 -0
  1682. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_sso_opened.svg +0 -0
  1683. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_story.svg +0 -0
  1684. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_story_opened.svg +0 -0
  1685. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_style.svg +0 -0
  1686. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_style_opened.svg +0 -0
  1687. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_supabase.svg +0 -0
  1688. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_supabase_opened.svg +0 -0
  1689. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_svelte.svg +0 -0
  1690. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_svelte_opened.svg +0 -0
  1691. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_tauri.svg +0 -0
  1692. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_tauri_opened.svg +0 -0
  1693. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_temp.svg +0 -0
  1694. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_temp_opened.svg +0 -0
  1695. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_template.svg +0 -0
  1696. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_template_opened.svg +0 -0
  1697. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_test.svg +0 -0
  1698. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_test_opened.svg +0 -0
  1699. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_theme.svg +0 -0
  1700. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_theme_opened.svg +0 -0
  1701. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_tools.svg +0 -0
  1702. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_tools_opened.svg +0 -0
  1703. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_travis.svg +0 -0
  1704. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_travis_opened.svg +0 -0
  1705. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_trunk.svg +0 -0
  1706. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_trunk_opened.svg +0 -0
  1707. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_turbo.svg +0 -0
  1708. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_turbo_opened.svg +0 -0
  1709. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typescript.svg +0 -0
  1710. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typescript_opened.svg +0 -0
  1711. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typings.svg +0 -0
  1712. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typings2.svg +0 -0
  1713. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typings2_opened.svg +0 -0
  1714. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_typings_opened.svg +0 -0
  1715. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vagrant.svg +0 -0
  1716. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vagrant_opened.svg +0 -0
  1717. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vercel.svg +0 -0
  1718. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vercel_opened.svg +0 -0
  1719. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_video.svg +0 -0
  1720. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_video_opened.svg +0 -0
  1721. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_view.svg +0 -0
  1722. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_view_opened.svg +0 -0
  1723. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vitepress.svg +0 -0
  1724. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vitepress_opened.svg +0 -0
  1725. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vs.svg +0 -0
  1726. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vs2.svg +0 -0
  1727. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vs2_opened.svg +0 -0
  1728. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vs_opened.svg +0 -0
  1729. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode.svg +0 -0
  1730. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode2.svg +0 -0
  1731. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode2_opened.svg +0 -0
  1732. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode3.svg +0 -0
  1733. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode3_opened.svg +0 -0
  1734. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_opened.svg +0 -0
  1735. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test.svg +0 -0
  1736. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2.svg +0 -0
  1737. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2_opened.svg +0 -0
  1738. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3.svg +0 -0
  1739. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3_opened.svg +0 -0
  1740. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test_opened.svg +0 -0
  1741. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_wasm.svg +0 -0
  1742. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_wasm_opened.svg +0 -0
  1743. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_webpack.svg +0 -0
  1744. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_webpack_opened.svg +0 -0
  1745. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_windows.svg +0 -0
  1746. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_windows_opened.svg +0 -0
  1747. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_windsurf.svg +0 -0
  1748. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_windsurf_opened.svg +0 -0
  1749. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_wit.svg +0 -0
  1750. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_wit_opened.svg +0 -0
  1751. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_www.svg +0 -0
  1752. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_www_opened.svg +0 -0
  1753. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_yarn.svg +0 -0
  1754. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_yarn_opened.svg +0 -0
  1755. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_zed.svg +0 -0
  1756. /package/static/{bff92c8 → a3ab23c}/extensions/builtin.vscode-icons/icons/folder_type_zed_opened.svg +0 -0
  1757. /package/static/{bff92c8 → a3ab23c}/fonts/FiraCode-VariableFont.ttf +0 -0
  1758. /package/static/{bff92c8 → a3ab23c}/icons/add.svg +0 -0
  1759. /package/static/{bff92c8 → a3ab23c}/icons/arrow-down.svg +0 -0
  1760. /package/static/{bff92c8 → a3ab23c}/icons/arrow-left.svg +0 -0
  1761. /package/static/{bff92c8 → a3ab23c}/icons/arrow-right.svg +0 -0
  1762. /package/static/{bff92c8 → a3ab23c}/icons/arrow-up.svg +0 -0
  1763. /package/static/{bff92c8 → a3ab23c}/icons/blank.svg +0 -0
  1764. /package/static/{bff92c8 → a3ab23c}/icons/book.svg +0 -0
  1765. /package/static/{bff92c8 → a3ab23c}/icons/case-sensitive.svg +0 -0
  1766. /package/static/{bff92c8 → a3ab23c}/icons/check.svg +0 -0
  1767. /package/static/{bff92c8 → a3ab23c}/icons/chevron-down.svg +0 -0
  1768. /package/static/{bff92c8 → a3ab23c}/icons/chevron-left.svg +0 -0
  1769. /package/static/{bff92c8 → a3ab23c}/icons/chevron-right.svg +0 -0
  1770. /package/static/{bff92c8 → a3ab23c}/icons/chevron-up.svg +0 -0
  1771. /package/static/{bff92c8 → a3ab23c}/icons/chrome-close.svg +0 -0
  1772. /package/static/{bff92c8 → a3ab23c}/icons/chrome-maximize.svg +0 -0
  1773. /package/static/{bff92c8 → a3ab23c}/icons/chrome-minimize.svg +0 -0
  1774. /package/static/{bff92c8 → a3ab23c}/icons/chrome-restore.svg +0 -0
  1775. /package/static/{bff92c8 → a3ab23c}/icons/circle-filled.svg +0 -0
  1776. /package/static/{bff92c8 → a3ab23c}/icons/clear-all.svg +0 -0
  1777. /package/static/{bff92c8 → a3ab23c}/icons/close.svg +0 -0
  1778. /package/static/{bff92c8 → a3ab23c}/icons/cloud.svg +0 -0
  1779. /package/static/{bff92c8 → a3ab23c}/icons/collapse-all.svg +0 -0
  1780. /package/static/{bff92c8 → a3ab23c}/icons/debug-all.svg +0 -0
  1781. /package/static/{bff92c8 → a3ab23c}/icons/debug-alt-2.svg +0 -0
  1782. /package/static/{bff92c8 → a3ab23c}/icons/debug-alt-small.svg +0 -0
  1783. /package/static/{bff92c8 → a3ab23c}/icons/debug-alt.svg +0 -0
  1784. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1785. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-conditional.svg +0 -0
  1786. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1787. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-data.svg +0 -0
  1788. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1789. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-function.svg +0 -0
  1790. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1791. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-log.svg +0 -0
  1792. /package/static/{bff92c8 → a3ab23c}/icons/debug-breakpoint-unsupported.svg +0 -0
  1793. /package/static/{bff92c8 → a3ab23c}/icons/debug-console.svg +0 -0
  1794. /package/static/{bff92c8 → a3ab23c}/icons/debug-continue-small.svg +0 -0
  1795. /package/static/{bff92c8 → a3ab23c}/icons/debug-continue.svg +0 -0
  1796. /package/static/{bff92c8 → a3ab23c}/icons/debug-coverage.svg +0 -0
  1797. /package/static/{bff92c8 → a3ab23c}/icons/debug-disconnect.svg +0 -0
  1798. /package/static/{bff92c8 → a3ab23c}/icons/debug-line-by-line.svg +0 -0
  1799. /package/static/{bff92c8 → a3ab23c}/icons/debug-pause.svg +0 -0
  1800. /package/static/{bff92c8 → a3ab23c}/icons/debug-rerun.svg +0 -0
  1801. /package/static/{bff92c8 → a3ab23c}/icons/debug-restart-frame.svg +0 -0
  1802. /package/static/{bff92c8 → a3ab23c}/icons/debug-restart.svg +0 -0
  1803. /package/static/{bff92c8 → a3ab23c}/icons/debug-reverse-continue.svg +0 -0
  1804. /package/static/{bff92c8 → a3ab23c}/icons/debug-stackframe-active.svg +0 -0
  1805. /package/static/{bff92c8 → a3ab23c}/icons/debug-stackframe.svg +0 -0
  1806. /package/static/{bff92c8 → a3ab23c}/icons/debug-start.svg +0 -0
  1807. /package/static/{bff92c8 → a3ab23c}/icons/debug-step-back.svg +0 -0
  1808. /package/static/{bff92c8 → a3ab23c}/icons/debug-step-into.svg +0 -0
  1809. /package/static/{bff92c8 → a3ab23c}/icons/debug-step-out.svg +0 -0
  1810. /package/static/{bff92c8 → a3ab23c}/icons/debug-step-over.svg +0 -0
  1811. /package/static/{bff92c8 → a3ab23c}/icons/debug-stop.svg +0 -0
  1812. /package/static/{bff92c8 → a3ab23c}/icons/debug.svg +0 -0
  1813. /package/static/{bff92c8 → a3ab23c}/icons/discard.svg +0 -0
  1814. /package/static/{bff92c8 → a3ab23c}/icons/edit.svg +0 -0
  1815. /package/static/{bff92c8 → a3ab23c}/icons/ellipsis.svg +0 -0
  1816. /package/static/{bff92c8 → a3ab23c}/icons/error.svg +0 -0
  1817. /package/static/{bff92c8 → a3ab23c}/icons/exclude.svg +0 -0
  1818. /package/static/{bff92c8 → a3ab23c}/icons/extensionDefaultIcon.png +0 -0
  1819. /package/static/{bff92c8 → a3ab23c}/icons/extensions.svg +0 -0
  1820. /package/static/{bff92c8 → a3ab23c}/icons/files.svg +0 -0
  1821. /package/static/{bff92c8 → a3ab23c}/icons/filter.svg +0 -0
  1822. /package/static/{bff92c8 → a3ab23c}/icons/go-to-file.svg +0 -0
  1823. /package/static/{bff92c8 → a3ab23c}/icons/icon-close.svg +0 -0
  1824. /package/static/{bff92c8 → a3ab23c}/icons/icon-source-control.svg +0 -0
  1825. /package/static/{bff92c8 → a3ab23c}/icons/icon-sync.svg +0 -0
  1826. /package/static/{bff92c8 → a3ab23c}/icons/icon.png +0 -0
  1827. /package/static/{bff92c8 → a3ab23c}/icons/icon.svg +0 -0
  1828. /package/static/{bff92c8 → a3ab23c}/icons/info.svg +0 -0
  1829. /package/static/{bff92c8 → a3ab23c}/icons/language-icon.svg +0 -0
  1830. /package/static/{bff92c8 → a3ab23c}/icons/link-external.svg +0 -0
  1831. /package/static/{bff92c8 → a3ab23c}/icons/list-flat.svg +0 -0
  1832. /package/static/{bff92c8 → a3ab23c}/icons/list-tree.svg +0 -0
  1833. /package/static/{bff92c8 → a3ab23c}/icons/new-file.svg +0 -0
  1834. /package/static/{bff92c8 → a3ab23c}/icons/new-folder.svg +0 -0
  1835. /package/static/{bff92c8 → a3ab23c}/icons/newline.svg +0 -0
  1836. /package/static/{bff92c8 → a3ab23c}/icons/open-preview.svg +0 -0
  1837. /package/static/{bff92c8 → a3ab23c}/icons/play.svg +0 -0
  1838. /package/static/{bff92c8 → a3ab23c}/icons/preserve-case.svg +0 -0
  1839. /package/static/{bff92c8 → a3ab23c}/icons/progress.svg +0 -0
  1840. /package/static/{bff92c8 → a3ab23c}/icons/pwa-icon-192.png +0 -0
  1841. /package/static/{bff92c8 → a3ab23c}/icons/pwa-icon-512.png +0 -0
  1842. /package/static/{bff92c8 → a3ab23c}/icons/record-keys.svg +0 -0
  1843. /package/static/{bff92c8 → a3ab23c}/icons/refresh.svg +0 -0
  1844. /package/static/{bff92c8 → a3ab23c}/icons/regex.svg +0 -0
  1845. /package/static/{bff92c8 → a3ab23c}/icons/remove.svg +0 -0
  1846. /package/static/{bff92c8 → a3ab23c}/icons/replace-all.svg +0 -0
  1847. /package/static/{bff92c8 → a3ab23c}/icons/replace.svg +0 -0
  1848. /package/static/{bff92c8 → a3ab23c}/icons/repo.svg +0 -0
  1849. /package/static/{bff92c8 → a3ab23c}/icons/run-all.svg +0 -0
  1850. /package/static/{bff92c8 → a3ab23c}/icons/search.svg +0 -0
  1851. /package/static/{bff92c8 → a3ab23c}/icons/send.svg +0 -0
  1852. /package/static/{bff92c8 → a3ab23c}/icons/settings-gear.svg +0 -0
  1853. /package/static/{bff92c8 → a3ab23c}/icons/sort-precedence.svg +0 -0
  1854. /package/static/{bff92c8 → a3ab23c}/icons/source-control.svg +0 -0
  1855. /package/static/{bff92c8 → a3ab23c}/icons/split-horizontal.svg +0 -0
  1856. /package/static/{bff92c8 → a3ab23c}/icons/squiggly-error.svg +0 -0
  1857. /package/static/{bff92c8 → a3ab23c}/icons/squiggly-warning.svg +0 -0
  1858. /package/static/{bff92c8 → a3ab23c}/icons/symbol-array.svg +0 -0
  1859. /package/static/{bff92c8 → a3ab23c}/icons/symbol-boolean.svg +0 -0
  1860. /package/static/{bff92c8 → a3ab23c}/icons/symbol-class.svg +0 -0
  1861. /package/static/{bff92c8 → a3ab23c}/icons/symbol-color.svg +0 -0
  1862. /package/static/{bff92c8 → a3ab23c}/icons/symbol-constant.svg +0 -0
  1863. /package/static/{bff92c8 → a3ab23c}/icons/symbol-enum-member.svg +0 -0
  1864. /package/static/{bff92c8 → a3ab23c}/icons/symbol-enum.svg +0 -0
  1865. /package/static/{bff92c8 → a3ab23c}/icons/symbol-event.svg +0 -0
  1866. /package/static/{bff92c8 → a3ab23c}/icons/symbol-field.svg +0 -0
  1867. /package/static/{bff92c8 → a3ab23c}/icons/symbol-file.svg +0 -0
  1868. /package/static/{bff92c8 → a3ab23c}/icons/symbol-interface.svg +0 -0
  1869. /package/static/{bff92c8 → a3ab23c}/icons/symbol-key.svg +0 -0
  1870. /package/static/{bff92c8 → a3ab23c}/icons/symbol-keyword.svg +0 -0
  1871. /package/static/{bff92c8 → a3ab23c}/icons/symbol-method.svg +0 -0
  1872. /package/static/{bff92c8 → a3ab23c}/icons/symbol-misc.svg +0 -0
  1873. /package/static/{bff92c8 → a3ab23c}/icons/symbol-namespace.svg +0 -0
  1874. /package/static/{bff92c8 → a3ab23c}/icons/symbol-numeric.svg +0 -0
  1875. /package/static/{bff92c8 → a3ab23c}/icons/symbol-operator.svg +0 -0
  1876. /package/static/{bff92c8 → a3ab23c}/icons/symbol-parameter.svg +0 -0
  1877. /package/static/{bff92c8 → a3ab23c}/icons/symbol-property.svg +0 -0
  1878. /package/static/{bff92c8 → a3ab23c}/icons/symbol-ruler.svg +0 -0
  1879. /package/static/{bff92c8 → a3ab23c}/icons/symbol-snippet.svg +0 -0
  1880. /package/static/{bff92c8 → a3ab23c}/icons/symbol-string.svg +0 -0
  1881. /package/static/{bff92c8 → a3ab23c}/icons/symbol-structure.svg +0 -0
  1882. /package/static/{bff92c8 → a3ab23c}/icons/symbol-variable.svg +0 -0
  1883. /package/static/{bff92c8 → a3ab23c}/icons/tag.svg +0 -0
  1884. /package/static/{bff92c8 → a3ab23c}/icons/terminal-bash.svg +0 -0
  1885. /package/static/{bff92c8 → a3ab23c}/icons/terminal.svg +0 -0
  1886. /package/static/{bff92c8 → a3ab23c}/icons/theme-icon.png +0 -0
  1887. /package/static/{bff92c8 → a3ab23c}/icons/trash.svg +0 -0
  1888. /package/static/{bff92c8 → a3ab23c}/icons/triangle-down.svg +0 -0
  1889. /package/static/{bff92c8 → a3ab23c}/icons/triangle-left.svg +0 -0
  1890. /package/static/{bff92c8 → a3ab23c}/icons/triangle-right.svg +0 -0
  1891. /package/static/{bff92c8 → a3ab23c}/icons/triangle-up.svg +0 -0
  1892. /package/static/{bff92c8 → a3ab23c}/icons/warning.svg +0 -0
  1893. /package/static/{bff92c8 → a3ab23c}/icons/whole-word.svg +0 -0
  1894. /package/static/{bff92c8 → a3ab23c}/icons/zoom-in.svg +0 -0
  1895. /package/static/{bff92c8 → a3ab23c}/icons/zoom-out.svg +0 -0
  1896. /package/static/{bff92c8 → a3ab23c}/js/babel-parser.js +0 -0
  1897. /package/static/{bff92c8 → a3ab23c}/js/ky.js +0 -0
  1898. /package/static/{bff92c8 → a3ab23c}/js/lvce-editor-import-script.js +0 -0
  1899. /package/static/{bff92c8 → a3ab23c}/js/lvce-editor-ipc.js +0 -0
  1900. /package/static/{bff92c8 → a3ab23c}/js/lvce-editor-json-rpc.js +0 -0
  1901. /package/static/{bff92c8 → a3ab23c}/js/lvce-editor-rpc.js +0 -0
  1902. /package/static/{bff92c8 → a3ab23c}/js/lvce-editor-verror.js +0 -0
  1903. /package/static/{bff92c8 → a3ab23c}/js/p-min-delay.js +0 -0
  1904. /package/static/{bff92c8 → a3ab23c}/js/pretty-bytes.js +0 -0
  1905. /package/static/{bff92c8 → a3ab23c}/js/preview-injected.js +0 -0
  1906. /package/static/{bff92c8 → a3ab23c}/js/yoctodelay.js +0 -0
  1907. /package/static/{bff92c8 → a3ab23c}/lib-css/termterm.css +0 -0
  1908. /package/static/{bff92c8 → a3ab23c}/packages/activity-bar-worker/dist/activityBarWorkerMain.js +0 -0
  1909. /package/static/{bff92c8 → a3ab23c}/packages/chat-debug-view/dist/chatDebugViewWorkerMain.js +0 -0
  1910. /package/static/{bff92c8 → a3ab23c}/packages/chat-math-worker/dist/chatMathWorkerMain.js +0 -0
  1911. /package/static/{bff92c8 → a3ab23c}/packages/chat-network-worker/dist/chatNetworkWorkerMain.js +0 -0
  1912. /package/static/{bff92c8 → a3ab23c}/packages/chat-tool-worker/dist/chatToolWorkerMain.js +0 -0
  1913. /package/static/{bff92c8 → a3ab23c}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +0 -0
  1914. /package/static/{bff92c8 → a3ab23c}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1915. /package/static/{bff92c8 → a3ab23c}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  1916. /package/static/{bff92c8 → a3ab23c}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
  1917. /package/static/{bff92c8 → a3ab23c}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  1918. /package/static/{bff92c8 → a3ab23c}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1919. /package/static/{bff92c8 → a3ab23c}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  1920. /package/static/{bff92c8 → a3ab23c}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
  1921. /package/static/{bff92c8 → a3ab23c}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1922. /package/static/{bff92c8 → a3ab23c}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1923. /package/static/{bff92c8 → a3ab23c}/packages/extension-management-worker/dist/extensionManagementWorkerMain.js +0 -0
  1924. /package/static/{bff92c8 → a3ab23c}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1925. /package/static/{bff92c8 → a3ab23c}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  1926. /package/static/{bff92c8 → a3ab23c}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  1927. /package/static/{bff92c8 → a3ab23c}/packages/hover-worker/dist/hoverWorkerMain.js +0 -0
  1928. /package/static/{bff92c8 → a3ab23c}/packages/icon-theme-worker/dist/iconThemeWorkerMain.js +0 -0
  1929. /package/static/{bff92c8 → a3ab23c}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1930. /package/static/{bff92c8 → a3ab23c}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1931. /package/static/{bff92c8 → a3ab23c}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1932. /package/static/{bff92c8 → a3ab23c}/packages/language-models-view/dist/languageModelsViewMain.js +0 -0
  1933. /package/static/{bff92c8 → a3ab23c}/packages/main-area-worker/dist/mainAreaWorkerMain.js +0 -0
  1934. /package/static/{bff92c8 → a3ab23c}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  1935. /package/static/{bff92c8 → a3ab23c}/packages/menu-worker/dist/menuWorkerMain.js +0 -0
  1936. /package/static/{bff92c8 → a3ab23c}/packages/opener-worker/dist/openerWorkerMain.js +0 -0
  1937. /package/static/{bff92c8 → a3ab23c}/packages/output-view/dist/outputViewWorkerMain.js +0 -0
  1938. /package/static/{bff92c8 → a3ab23c}/packages/panel-worker/dist/panelWorkerMain.js +0 -0
  1939. /package/static/{bff92c8 → a3ab23c}/packages/preload/dist/index.js +0 -0
  1940. /package/static/{bff92c8 → a3ab23c}/packages/preview-sandbox-worker/dist/previewSandBoxWorkerMain.js +0 -0
  1941. /package/static/{bff92c8 → a3ab23c}/packages/preview-worker/dist/previewWorkerMain.js +0 -0
  1942. /package/static/{bff92c8 → a3ab23c}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
  1943. /package/static/{bff92c8 → a3ab23c}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
  1944. /package/static/{bff92c8 → a3ab23c}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1945. /package/static/{bff92c8 → a3ab23c}/packages/renderer-process/LICENSE +0 -0
  1946. /package/static/{bff92c8 → a3ab23c}/packages/renderer-process/README.md +0 -0
  1947. /package/static/{bff92c8 → a3ab23c}/packages/renderer-process/package.json +0 -0
  1948. /package/static/{bff92c8 → a3ab23c}/packages/settings-view/dist/settingsViewWorkerMain.js +0 -0
  1949. /package/static/{bff92c8 → a3ab23c}/packages/source-action-worker/dist/sourceActionWorkerMain.js +0 -0
  1950. /package/static/{bff92c8 → a3ab23c}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1951. /package/static/{bff92c8 → a3ab23c}/packages/status-bar-worker/dist/statusBarWorkerMain.js +0 -0
  1952. /package/static/{bff92c8 → a3ab23c}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1953. /package/static/{bff92c8 → a3ab23c}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1954. /package/static/{bff92c8 → a3ab23c}/packages/test-worker/dist/testWorkerMain.js +0 -0
  1955. /package/static/{bff92c8 → a3ab23c}/packages/text-measurement-worker/dist/textMeasurementWorkerMain.js +0 -0
  1956. /package/static/{bff92c8 → a3ab23c}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1957. /package/static/{bff92c8 → a3ab23c}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1958. /package/static/{bff92c8 → a3ab23c}/packages/update-worker/dist/updateWorkerMain.js +0 -0
  1959. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.cpp +0 -0
  1960. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.css +0 -0
  1961. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.csv +0 -0
  1962. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.dart +0 -0
  1963. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.env +0 -0
  1964. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.ex +0 -0
  1965. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.html +0 -0
  1966. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.java +0 -0
  1967. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.jl +0 -0
  1968. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.js +0 -0
  1969. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.json +0 -0
  1970. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.kt +0 -0
  1971. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.pl +0 -0
  1972. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.py +0 -0
  1973. /package/static/{bff92c8 → a3ab23c}/playground/languages/index.ts +0 -0
  1974. /package/static/{bff92c8 → a3ab23c}/playground/languages/scrolling.txt +0 -0
  1975. /package/static/{bff92c8 → a3ab23c}/playground/languages/tsconfig.json +0 -0
  1976. /package/static/{bff92c8 → a3ab23c}/playground/sample-folder/a.txt +0 -0
  1977. /package/static/{bff92c8 → a3ab23c}/playground/sample-folder/b.txt +0 -0
  1978. /package/static/{bff92c8 → a3ab23c}/playground/sample-folder/c.txt +0 -0
@@ -0,0 +1,3551 @@
1
+ const isMessagePort = value => {
2
+ return value && value instanceof MessagePort;
3
+ };
4
+ const isMessagePortMain = value => {
5
+ return value && value.constructor && value.constructor.name === 'MessagePortMain';
6
+ };
7
+ const isOffscreenCanvas = value => {
8
+ return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
9
+ };
10
+ const isInstanceOf = (value, constructorName) => {
11
+ return value?.constructor?.name === constructorName;
12
+ };
13
+ const isSocket = value => {
14
+ return isInstanceOf(value, 'Socket');
15
+ };
16
+ const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
17
+ const isTransferrable = value => {
18
+ for (const fn of transferrables) {
19
+ if (fn(value)) {
20
+ return true;
21
+ }
22
+ }
23
+ return false;
24
+ };
25
+ const walkValue = (value, transferrables, isTransferrable) => {
26
+ if (!value) {
27
+ return;
28
+ }
29
+ if (isTransferrable(value)) {
30
+ transferrables.push(value);
31
+ return;
32
+ }
33
+ if (Array.isArray(value)) {
34
+ for (const item of value) {
35
+ walkValue(item, transferrables, isTransferrable);
36
+ }
37
+ return;
38
+ }
39
+ if (typeof value === 'object') {
40
+ for (const property of Object.values(value)) {
41
+ walkValue(property, transferrables, isTransferrable);
42
+ }
43
+ return;
44
+ }
45
+ };
46
+ const getTransferrables = value => {
47
+ const transferrables = [];
48
+ walkValue(value, transferrables, isTransferrable);
49
+ return transferrables;
50
+ };
51
+ const attachEvents = that => {
52
+ const handleMessage = (...args) => {
53
+ const data = that.getData(...args);
54
+ that.dispatchEvent(new MessageEvent('message', {
55
+ data
56
+ }));
57
+ };
58
+ that.onMessage(handleMessage);
59
+ const handleClose = event => {
60
+ that.dispatchEvent(new Event('close'));
61
+ };
62
+ that.onClose(handleClose);
63
+ };
64
+ class Ipc extends EventTarget {
65
+ constructor(rawIpc) {
66
+ super();
67
+ this._rawIpc = rawIpc;
68
+ attachEvents(this);
69
+ }
70
+ }
71
+ const readyMessage = 'ready';
72
+ const getData$2 = event => {
73
+ return event.data;
74
+ };
75
+ const listen$8 = ({
76
+ port
77
+ }) => {
78
+ return port;
79
+ };
80
+ const signal$9 = port => {
81
+ port.postMessage(readyMessage);
82
+ };
83
+ class IpcChildWithMessagePort extends Ipc {
84
+ getData(event) {
85
+ return getData$2(event);
86
+ }
87
+ send(message) {
88
+ this._rawIpc.postMessage(message);
89
+ }
90
+ sendAndTransfer(message) {
91
+ const transfer = getTransferrables(message);
92
+ this._rawIpc.postMessage(message, transfer);
93
+ }
94
+ dispose() {
95
+ // ignore
96
+ }
97
+ onClose(callback) {
98
+ // ignore
99
+ }
100
+ onMessage(callback) {
101
+ this._rawIpc.addEventListener('message', callback);
102
+ this._rawIpc.start();
103
+ }
104
+ }
105
+ const wrap$g = port => {
106
+ return new IpcChildWithMessagePort(port);
107
+ };
108
+ const IpcChildWithMessagePort$1 = {
109
+ __proto__: null,
110
+ listen: listen$8,
111
+ signal: signal$9,
112
+ wrap: wrap$g
113
+ };
114
+ const listen$7 = () => {
115
+ // @ts-ignore
116
+ if (typeof WorkerGlobalScope === 'undefined') {
117
+ throw new TypeError('module is not in web worker scope');
118
+ }
119
+ return globalThis;
120
+ };
121
+ const signal$8 = global => {
122
+ global.postMessage(readyMessage);
123
+ };
124
+ class IpcChildWithModuleWorker extends Ipc {
125
+ getData(event) {
126
+ return getData$2(event);
127
+ }
128
+ send(message) {
129
+ // @ts-ignore
130
+ this._rawIpc.postMessage(message);
131
+ }
132
+ sendAndTransfer(message) {
133
+ const transfer = getTransferrables(message);
134
+ // @ts-ignore
135
+ this._rawIpc.postMessage(message, transfer);
136
+ }
137
+ dispose() {
138
+ // ignore
139
+ }
140
+ onClose(callback) {
141
+ // ignore
142
+ }
143
+ onMessage(callback) {
144
+ this._rawIpc.addEventListener('message', callback);
145
+ }
146
+ }
147
+ const wrap$f = global => {
148
+ return new IpcChildWithModuleWorker(global);
149
+ };
150
+ const IpcChildWithModuleWorker$1 = {
151
+ __proto__: null,
152
+ listen: listen$7,
153
+ signal: signal$8,
154
+ wrap: wrap$f
155
+ };
156
+
157
+ class CommandNotFoundError extends Error {
158
+ constructor(command) {
159
+ super(`Command not found ${command}`);
160
+ this.name = 'CommandNotFoundError';
161
+ }
162
+ }
163
+ const commands = Object.create(null);
164
+ const register = commandMap => {
165
+ Object.assign(commands, commandMap);
166
+ };
167
+ const getCommand = key => {
168
+ return commands[key];
169
+ };
170
+ const execute = (command, ...args) => {
171
+ const fn = getCommand(command);
172
+ if (!fn) {
173
+ throw new CommandNotFoundError(command);
174
+ }
175
+ return fn(...args);
176
+ };
177
+
178
+ const Two$1 = '2.0';
179
+ const callbacks = Object.create(null);
180
+ const get$1 = id => {
181
+ return callbacks[id];
182
+ };
183
+ const remove$1 = id => {
184
+ delete callbacks[id];
185
+ };
186
+ class JsonRpcError extends Error {
187
+ constructor(message) {
188
+ super(message);
189
+ this.name = 'JsonRpcError';
190
+ }
191
+ }
192
+ const NewLine = '\n';
193
+ const DomException = 'DOMException';
194
+ const ReferenceError$1 = 'ReferenceError';
195
+ const SyntaxError$1 = 'SyntaxError';
196
+ const TypeError$1 = 'TypeError';
197
+ const getErrorConstructor = (message, type) => {
198
+ if (type) {
199
+ switch (type) {
200
+ case DomException:
201
+ return DOMException;
202
+ case ReferenceError$1:
203
+ return ReferenceError;
204
+ case SyntaxError$1:
205
+ return SyntaxError;
206
+ case TypeError$1:
207
+ return TypeError;
208
+ default:
209
+ return Error;
210
+ }
211
+ }
212
+ if (message.startsWith('TypeError: ')) {
213
+ return TypeError;
214
+ }
215
+ if (message.startsWith('SyntaxError: ')) {
216
+ return SyntaxError;
217
+ }
218
+ if (message.startsWith('ReferenceError: ')) {
219
+ return ReferenceError;
220
+ }
221
+ return Error;
222
+ };
223
+ const constructError = (message, type, name) => {
224
+ const ErrorConstructor = getErrorConstructor(message, type);
225
+ if (ErrorConstructor === DOMException && name) {
226
+ return new ErrorConstructor(message, name);
227
+ }
228
+ if (ErrorConstructor === Error) {
229
+ const error = new Error(message);
230
+ if (name && name !== 'VError') {
231
+ error.name = name;
232
+ }
233
+ return error;
234
+ }
235
+ return new ErrorConstructor(message);
236
+ };
237
+ const joinLines = lines => {
238
+ return lines.join(NewLine);
239
+ };
240
+ const splitLines = lines => {
241
+ return lines.split(NewLine);
242
+ };
243
+ const getCurrentStack = () => {
244
+ const stackLinesToSkip = 3;
245
+ const currentStack = joinLines(splitLines(new Error().stack || '').slice(stackLinesToSkip));
246
+ return currentStack;
247
+ };
248
+ const getNewLineIndex = (string, startIndex = undefined) => {
249
+ return string.indexOf(NewLine, startIndex);
250
+ };
251
+ const getParentStack = error => {
252
+ let parentStack = error.stack || error.data || error.message || '';
253
+ if (parentStack.startsWith(' at')) {
254
+ parentStack = error.message + NewLine + parentStack;
255
+ }
256
+ return parentStack;
257
+ };
258
+ const MethodNotFound = -32601;
259
+ const Custom = -32001;
260
+ const restoreJsonRpcError = error => {
261
+ const currentStack = getCurrentStack();
262
+ if (error && error instanceof Error) {
263
+ if (typeof error.stack === 'string') {
264
+ error.stack = error.stack + NewLine + currentStack;
265
+ }
266
+ return error;
267
+ }
268
+ if (error && error.code && error.code === MethodNotFound) {
269
+ const restoredError = new JsonRpcError(error.message);
270
+ const parentStack = getParentStack(error);
271
+ restoredError.stack = parentStack + NewLine + currentStack;
272
+ return restoredError;
273
+ }
274
+ if (error && error.message) {
275
+ const restoredError = constructError(error.message, error.type, error.name);
276
+ if (error.data) {
277
+ if (error.data.stack && error.data.type && error.message) {
278
+ restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
279
+ } else if (error.data.stack) {
280
+ restoredError.stack = error.data.stack;
281
+ }
282
+ if (error.data.codeFrame) {
283
+ // @ts-ignore
284
+ restoredError.codeFrame = error.data.codeFrame;
285
+ }
286
+ if (error.data.code) {
287
+ // @ts-ignore
288
+ restoredError.code = error.data.code;
289
+ }
290
+ if (error.data.type) {
291
+ // @ts-ignore
292
+ restoredError.name = error.data.type;
293
+ }
294
+ } else {
295
+ if (error.stack) {
296
+ const lowerStack = restoredError.stack || '';
297
+ // @ts-ignore
298
+ const indexNewLine = getNewLineIndex(lowerStack);
299
+ const parentStack = getParentStack(error);
300
+ // @ts-ignore
301
+ restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
302
+ }
303
+ if (error.codeFrame) {
304
+ // @ts-ignore
305
+ restoredError.codeFrame = error.codeFrame;
306
+ }
307
+ }
308
+ return restoredError;
309
+ }
310
+ if (typeof error === 'string') {
311
+ return new Error(`JsonRpc Error: ${error}`);
312
+ }
313
+ return new Error(`JsonRpc Error: ${error}`);
314
+ };
315
+ const unwrapJsonRpcResult = responseMessage => {
316
+ if ('error' in responseMessage) {
317
+ const restoredError = restoreJsonRpcError(responseMessage.error);
318
+ throw restoredError;
319
+ }
320
+ if ('result' in responseMessage) {
321
+ return responseMessage.result;
322
+ }
323
+ throw new JsonRpcError('unexpected response message');
324
+ };
325
+ const warn = (...args) => {
326
+ console.warn(...args);
327
+ };
328
+ const resolve = (id, response) => {
329
+ const fn = get$1(id);
330
+ if (!fn) {
331
+ console.log(response);
332
+ warn(`callback ${id} may already be disposed`);
333
+ return;
334
+ }
335
+ fn(response);
336
+ remove$1(id);
337
+ };
338
+ const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
339
+ const getErrorType = prettyError => {
340
+ if (prettyError && prettyError.type) {
341
+ return prettyError.type;
342
+ }
343
+ if (prettyError && prettyError.constructor && prettyError.constructor.name) {
344
+ return prettyError.constructor.name;
345
+ }
346
+ return undefined;
347
+ };
348
+ const isAlreadyStack = line => {
349
+ return line.trim().startsWith('at ');
350
+ };
351
+ const getStack = prettyError => {
352
+ const stackString = prettyError.stack || '';
353
+ const newLineIndex = stackString.indexOf('\n');
354
+ if (newLineIndex !== -1 && !isAlreadyStack(stackString.slice(0, newLineIndex))) {
355
+ return stackString.slice(newLineIndex + 1);
356
+ }
357
+ return stackString;
358
+ };
359
+ const getErrorProperty = (error, prettyError) => {
360
+ if (error && error.code === E_COMMAND_NOT_FOUND) {
361
+ return {
362
+ code: MethodNotFound,
363
+ data: error.stack,
364
+ message: error.message
365
+ };
366
+ }
367
+ return {
368
+ code: Custom,
369
+ data: {
370
+ code: prettyError.code,
371
+ codeFrame: prettyError.codeFrame,
372
+ name: prettyError.name,
373
+ stack: getStack(prettyError),
374
+ type: getErrorType(prettyError)
375
+ },
376
+ message: prettyError.message
377
+ };
378
+ };
379
+ const create$1$1 = (id, error) => {
380
+ return {
381
+ error,
382
+ id,
383
+ jsonrpc: Two$1
384
+ };
385
+ };
386
+ const getErrorResponse = (id, error, preparePrettyError, logError) => {
387
+ const prettyError = preparePrettyError(error);
388
+ logError(error, prettyError);
389
+ const errorProperty = getErrorProperty(error, prettyError);
390
+ return create$1$1(id, errorProperty);
391
+ };
392
+ const create$6 = (message, result) => {
393
+ return {
394
+ id: message.id,
395
+ jsonrpc: Two$1,
396
+ result: result ?? null
397
+ };
398
+ };
399
+ const getSuccessResponse = (message, result) => {
400
+ const resultProperty = result ?? null;
401
+ return create$6(message, resultProperty);
402
+ };
403
+ const getErrorResponseSimple = (id, error) => {
404
+ return {
405
+ error: {
406
+ code: Custom,
407
+ data: error,
408
+ // @ts-ignore
409
+ message: error.message
410
+ },
411
+ id,
412
+ jsonrpc: Two$1
413
+ };
414
+ };
415
+ const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
416
+ try {
417
+ const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
418
+ return getSuccessResponse(message, result);
419
+ } catch (error) {
420
+ if (ipc.canUseSimpleErrorResponse) {
421
+ return getErrorResponseSimple(message.id, error);
422
+ }
423
+ return getErrorResponse(message.id, error, preparePrettyError, logError);
424
+ }
425
+ };
426
+ const defaultPreparePrettyError = error => {
427
+ return error;
428
+ };
429
+ const defaultLogError = () => {
430
+ // ignore
431
+ };
432
+ const defaultRequiresSocket = () => {
433
+ return false;
434
+ };
435
+ const defaultResolve = resolve;
436
+
437
+ // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
438
+ const normalizeParams = args => {
439
+ if (args.length === 1) {
440
+ const options = args[0];
441
+ return {
442
+ execute: options.execute,
443
+ ipc: options.ipc,
444
+ logError: options.logError || defaultLogError,
445
+ message: options.message,
446
+ preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
447
+ requiresSocket: options.requiresSocket || defaultRequiresSocket,
448
+ resolve: options.resolve || defaultResolve
449
+ };
450
+ }
451
+ return {
452
+ execute: args[2],
453
+ ipc: args[0],
454
+ logError: args[5],
455
+ message: args[1],
456
+ preparePrettyError: args[4],
457
+ requiresSocket: args[6],
458
+ resolve: args[3]
459
+ };
460
+ };
461
+ const handleJsonRpcMessage = async (...args) => {
462
+ const options = normalizeParams(args);
463
+ const {
464
+ execute,
465
+ ipc,
466
+ logError,
467
+ message,
468
+ preparePrettyError,
469
+ requiresSocket,
470
+ resolve
471
+ } = options;
472
+ if ('id' in message) {
473
+ if ('method' in message) {
474
+ const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
475
+ try {
476
+ ipc.send(response);
477
+ } catch (error) {
478
+ const errorResponse = getErrorResponse(message.id, error, preparePrettyError, logError);
479
+ ipc.send(errorResponse);
480
+ }
481
+ return;
482
+ }
483
+ resolve(message.id, message);
484
+ return;
485
+ }
486
+ if ('method' in message) {
487
+ await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
488
+ return;
489
+ }
490
+ throw new JsonRpcError('unexpected message');
491
+ };
492
+
493
+ const Two = '2.0';
494
+
495
+ const create$5 = (method, params) => {
496
+ return {
497
+ jsonrpc: Two,
498
+ method,
499
+ params
500
+ };
501
+ };
502
+
503
+ const create$4 = (id, method, params) => {
504
+ const message = {
505
+ id,
506
+ jsonrpc: Two,
507
+ method,
508
+ params
509
+ };
510
+ return message;
511
+ };
512
+
513
+ let id = 0;
514
+ const create$3 = () => {
515
+ return ++id;
516
+ };
517
+
518
+ const registerPromise = map => {
519
+ const id = create$3();
520
+ const {
521
+ promise,
522
+ resolve
523
+ } = Promise.withResolvers();
524
+ map[id] = resolve;
525
+ return {
526
+ id,
527
+ promise
528
+ };
529
+ };
530
+
531
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
532
+ const {
533
+ id,
534
+ promise
535
+ } = registerPromise(callbacks);
536
+ const message = create$4(id, method, params);
537
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
538
+ ipc.sendAndTransfer(message);
539
+ } else {
540
+ ipc.send(message);
541
+ }
542
+ const responseMessage = await promise;
543
+ return unwrapJsonRpcResult(responseMessage);
544
+ };
545
+ const createRpc = ipc => {
546
+ const callbacks = Object.create(null);
547
+ ipc._resolve = (id, response) => {
548
+ const fn = callbacks[id];
549
+ if (!fn) {
550
+ console.warn(`callback ${id} may already be disposed`);
551
+ return;
552
+ }
553
+ fn(response);
554
+ delete callbacks[id];
555
+ };
556
+ const rpc = {
557
+ async dispose() {
558
+ await ipc?.dispose();
559
+ },
560
+ invoke(method, ...params) {
561
+ return invokeHelper(callbacks, ipc, method, params, false);
562
+ },
563
+ invokeAndTransfer(method, ...params) {
564
+ return invokeHelper(callbacks, ipc, method, params, true);
565
+ },
566
+ // @ts-ignore
567
+ ipc,
568
+ /**
569
+ * @deprecated
570
+ */
571
+ send(method, ...params) {
572
+ const message = create$5(method, params);
573
+ ipc.send(message);
574
+ }
575
+ };
576
+ return rpc;
577
+ };
578
+
579
+ const requiresSocket = () => {
580
+ return false;
581
+ };
582
+ const preparePrettyError = error => {
583
+ return error;
584
+ };
585
+ const logError = () => {
586
+ // handled by renderer worker
587
+ };
588
+ const handleMessage = event => {
589
+ const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
590
+ const actualExecute = event?.target?.execute || execute;
591
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
592
+ };
593
+
594
+ const handleIpc = ipc => {
595
+ if ('addEventListener' in ipc) {
596
+ ipc.addEventListener('message', handleMessage);
597
+ } else if ('on' in ipc) {
598
+ // deprecated
599
+ ipc.on('message', handleMessage);
600
+ }
601
+ };
602
+
603
+ const listen$1 = async (module, options) => {
604
+ const rawIpc = await module.listen(options);
605
+ if (module.signal) {
606
+ module.signal(rawIpc);
607
+ }
608
+ const ipc = module.wrap(rawIpc);
609
+ return ipc;
610
+ };
611
+
612
+ const create$2 = async ({
613
+ commandMap,
614
+ messagePort
615
+ }) => {
616
+ // TODO create a commandMap per rpc instance
617
+ register(commandMap);
618
+ const ipc = await listen$1(IpcChildWithMessagePort$1, {
619
+ port: messagePort
620
+ });
621
+ handleIpc(ipc);
622
+ const rpc = createRpc(ipc);
623
+ return rpc;
624
+ };
625
+
626
+ const create$1 = async ({
627
+ commandMap
628
+ }) => {
629
+ // TODO create a commandMap per rpc instance
630
+ register(commandMap);
631
+ const ipc = await listen$1(IpcChildWithModuleWorker$1);
632
+ handleIpc(ipc);
633
+ const rpc = createRpc(ipc);
634
+ return rpc;
635
+ };
636
+
637
+ const sessions = [];
638
+ const subscriberQueues = new Map();
639
+ const subscriberWaiters = new Map();
640
+ const activeRunBySessionId = new Map();
641
+ const runById = new Map();
642
+ const cancelledRunIds = new Set();
643
+ const runPromises = new Map();
644
+ const clone = value => {
645
+ return structuredClone(value);
646
+ };
647
+ const getSessionIndex = sessionId => {
648
+ return sessions.findIndex(session => session.id === sessionId);
649
+ };
650
+ const emitEvent = event => {
651
+ for (const queue of subscriberQueues.values()) {
652
+ queue.push(clone(event));
653
+ }
654
+ for (const [subscriberId, waiters] of subscriberWaiters) {
655
+ const queue = subscriberQueues.get(subscriberId);
656
+ if (!queue || queue.length === 0) {
657
+ continue;
658
+ }
659
+ const callbacks = [...waiters];
660
+ waiters.length = 0;
661
+ for (const callback of callbacks) {
662
+ callback();
663
+ }
664
+ }
665
+ };
666
+ const createMessage = (role, text) => {
667
+ return {
668
+ id: crypto.randomUUID(),
669
+ role,
670
+ text,
671
+ time: new Date().toLocaleTimeString([], {
672
+ hour: '2-digit',
673
+ minute: '2-digit'
674
+ })
675
+ };
676
+ };
677
+ const updateMessage = (sessionId, messageId, text, inProgress) => {
678
+ const index = getSessionIndex(sessionId);
679
+ if (index === -1) {
680
+ return undefined;
681
+ }
682
+ const session = sessions[index];
683
+ const nextMessages = session.messages.map(message => {
684
+ if (message.id !== messageId) {
685
+ return message;
686
+ }
687
+ return {
688
+ ...message,
689
+ inProgress,
690
+ text
691
+ };
692
+ });
693
+ const updatedMessage = nextMessages.find(message => message.id === messageId);
694
+ if (!updatedMessage) {
695
+ return undefined;
696
+ }
697
+ sessions[index] = {
698
+ ...session,
699
+ messages: nextMessages
700
+ };
701
+ return updatedMessage;
702
+ };
703
+ const appendMessage = (sessionId, message) => {
704
+ const index = getSessionIndex(sessionId);
705
+ if (index === -1) {
706
+ return false;
707
+ }
708
+ const session = sessions[index];
709
+ sessions[index] = {
710
+ ...session,
711
+ messages: [...session.messages, message]
712
+ };
713
+ return true;
714
+ };
715
+ const getChunks = text => {
716
+ const tokens = text.split(' ');
717
+ return tokens.map((token, index) => {
718
+ if (index === tokens.length - 1) {
719
+ return token;
720
+ }
721
+ return `${token} `;
722
+ });
723
+ };
724
+ const finalizeRun = (runId, sessionId) => {
725
+ activeRunBySessionId.delete(sessionId);
726
+ runById.delete(runId);
727
+ cancelledRunIds.delete(runId);
728
+ runPromises.delete(runId);
729
+ };
730
+ const processRun = async (runId, sessionId, assistantMessageId, prompt) => {
731
+ const baseText = `Coordinator pipeline placeholder response for: ${prompt}`;
732
+ const chunks = getChunks(baseText);
733
+ let currentText = '';
734
+ for (const chunk of chunks) {
735
+ if (cancelledRunIds.has(runId)) {
736
+ const cancelledMessage = updateMessage(sessionId, assistantMessageId, currentText, false);
737
+ if (cancelledMessage) {
738
+ emitEvent({
739
+ message: clone(cancelledMessage),
740
+ runId,
741
+ sessionId,
742
+ type: 'message-updated'
743
+ });
744
+ }
745
+ emitEvent({
746
+ runId,
747
+ sessionId,
748
+ type: 'run-cancelled'
749
+ });
750
+ finalizeRun(runId, sessionId);
751
+ return;
752
+ }
753
+ currentText += chunk;
754
+ const updatedMessage = updateMessage(sessionId, assistantMessageId, currentText, true);
755
+ if (updatedMessage) {
756
+ emitEvent({
757
+ message: clone(updatedMessage),
758
+ runId,
759
+ sessionId,
760
+ type: 'message-updated'
761
+ });
762
+ }
763
+ await Promise.resolve();
764
+ }
765
+ const doneMessage = updateMessage(sessionId, assistantMessageId, currentText, false);
766
+ if (doneMessage) {
767
+ emitEvent({
768
+ message: clone(doneMessage),
769
+ runId,
770
+ sessionId,
771
+ type: 'message-updated'
772
+ });
773
+ }
774
+ emitEvent({
775
+ runId,
776
+ sessionId,
777
+ type: 'run-finished'
778
+ });
779
+ finalizeRun(runId, sessionId);
780
+ };
781
+ const listSessions$1 = () => {
782
+ return sessions.map(session => ({
783
+ id: session.id,
784
+ messageCount: session.messages.length,
785
+ title: session.title
786
+ }));
787
+ };
788
+ const getSession$1 = sessionId => {
789
+ const session = sessions.find(item => item.id === sessionId);
790
+ if (!session) {
791
+ return undefined;
792
+ }
793
+ return clone(session);
794
+ };
795
+ const createSession$1 = (title = `Chat ${sessions.length + 1}`) => {
796
+ const session = {
797
+ id: crypto.randomUUID(),
798
+ messages: [],
799
+ title
800
+ };
801
+ sessions.push(session);
802
+ emitEvent({
803
+ session,
804
+ type: 'session-created'
805
+ });
806
+ return clone(session);
807
+ };
808
+ const deleteSession$1 = sessionId => {
809
+ const index = getSessionIndex(sessionId);
810
+ if (index === -1) {
811
+ return false;
812
+ }
813
+ sessions.splice(index, 1);
814
+ emitEvent({
815
+ sessionId,
816
+ type: 'session-deleted'
817
+ });
818
+ return true;
819
+ };
820
+ const submit$1 = options => {
821
+ const text = options.text.trim();
822
+ if (!text) {
823
+ return {
824
+ message: 'Prompt is empty.',
825
+ type: 'error'
826
+ };
827
+ }
828
+ let session = options.sessionId ? sessions.find(item => item.id === options.sessionId) : undefined;
829
+ if (!session) {
830
+ session = createSession$1();
831
+ }
832
+ if (activeRunBySessionId.has(session.id)) {
833
+ return {
834
+ message: 'Session already has an active run.',
835
+ type: 'error'
836
+ };
837
+ }
838
+ const userMessage = createMessage('user', text);
839
+ const assistantMessage = {
840
+ ...createMessage('assistant', ''),
841
+ inProgress: true
842
+ };
843
+ appendMessage(session.id, userMessage);
844
+ appendMessage(session.id, assistantMessage);
845
+ const updatedSession = getSession$1(session.id);
846
+ if (updatedSession) {
847
+ emitEvent({
848
+ session: updatedSession,
849
+ type: 'session-updated'
850
+ });
851
+ }
852
+ emitEvent({
853
+ message: clone(userMessage),
854
+ sessionId: session.id,
855
+ type: 'message-appended'
856
+ });
857
+ emitEvent({
858
+ message: clone(assistantMessage),
859
+ sessionId: session.id,
860
+ type: 'message-appended'
861
+ });
862
+ const runId = crypto.randomUUID();
863
+ activeRunBySessionId.set(session.id, runId);
864
+ runById.set(runId, {
865
+ assistantMessageId: assistantMessage.id,
866
+ sessionId: session.id
867
+ });
868
+ emitEvent({
869
+ assistantMessageId: assistantMessage.id,
870
+ runId,
871
+ sessionId: session.id,
872
+ type: 'run-started'
873
+ });
874
+ const runPromise = processRun(runId, session.id, assistantMessage.id, text);
875
+ runPromises.set(runId, runPromise);
876
+ return {
877
+ assistantMessageId: assistantMessage.id,
878
+ runId,
879
+ sessionId: session.id,
880
+ type: 'success',
881
+ userMessageId: userMessage.id
882
+ };
883
+ };
884
+ const cancelRun$1 = runId => {
885
+ if (!runById.has(runId)) {
886
+ return false;
887
+ }
888
+ cancelledRunIds.add(runId);
889
+ return true;
890
+ };
891
+ const subscribe$1 = subscriberId => {
892
+ if (subscriberQueues.has(subscriberId)) {
893
+ return;
894
+ }
895
+ subscriberQueues.set(subscriberId, []);
896
+ subscriberWaiters.set(subscriberId, []);
897
+ };
898
+ const unsubscribe$1 = subscriberId => {
899
+ subscriberQueues.delete(subscriberId);
900
+ subscriberWaiters.delete(subscriberId);
901
+ };
902
+ const consumeEvents$1 = subscriberId => {
903
+ const queue = subscriberQueues.get(subscriberId);
904
+ if (!queue) {
905
+ return [];
906
+ }
907
+ const events = [...queue];
908
+ queue.length = 0;
909
+ return events;
910
+ };
911
+ const waitForEvents$1 = async (subscriberId, timeout = 1000) => {
912
+ const queue = subscriberQueues.get(subscriberId);
913
+ if (!queue) {
914
+ return [];
915
+ }
916
+ if (queue.length > 0) {
917
+ return consumeEvents$1(subscriberId);
918
+ }
919
+ await new Promise(resolve => {
920
+ const waiters = subscriberWaiters.get(subscriberId);
921
+ if (!waiters) {
922
+ resolve();
923
+ return;
924
+ }
925
+ waiters.push(resolve);
926
+ setTimeout(resolve, timeout);
927
+ });
928
+ return consumeEvents$1(subscriberId);
929
+ };
930
+
931
+ const createSession = async title => {
932
+ return createSession$1(title);
933
+ };
934
+ const listSessions = async () => {
935
+ return listSessions$1();
936
+ };
937
+ const getSession = async sessionId => {
938
+ return getSession$1(sessionId);
939
+ };
940
+ const deleteSession = async sessionId => {
941
+ return deleteSession$1(sessionId);
942
+ };
943
+ const submit = async options => {
944
+ return submit$1(options);
945
+ };
946
+ const cancelRun = async runId => {
947
+ return cancelRun$1(runId);
948
+ };
949
+ const subscribe = async subscriberId => {
950
+ subscribe$1(subscriberId);
951
+ };
952
+ const unsubscribe = async subscriberId => {
953
+ unsubscribe$1(subscriberId);
954
+ };
955
+ const consumeEvents = async subscriberId => {
956
+ return consumeEvents$1(subscriberId);
957
+ };
958
+ const waitForEvents = async (subscriberId, timeout) => {
959
+ return waitForEvents$1(subscriberId, timeout);
960
+ };
961
+
962
+ const createMockRpc = ({
963
+ commandMap
964
+ }) => {
965
+ const invocations = [];
966
+ const invoke = (method, ...params) => {
967
+ invocations.push([method, ...params]);
968
+ const command = commandMap[method];
969
+ if (!command) {
970
+ throw new Error(`command ${method} not found`);
971
+ }
972
+ return command(...params);
973
+ };
974
+ const mockRpc = {
975
+ invocations,
976
+ invoke,
977
+ invokeAndTransfer: invoke
978
+ };
979
+ return mockRpc;
980
+ };
981
+
982
+ const rpcs = Object.create(null);
983
+ const set = (id, rpc) => {
984
+ rpcs[id] = rpc;
985
+ };
986
+ const get = id => {
987
+ return rpcs[id];
988
+ };
989
+ const remove = id => {
990
+ delete rpcs[id];
991
+ };
992
+
993
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
994
+ const create = rpcId => {
995
+ return {
996
+ async dispose() {
997
+ const rpc = get(rpcId);
998
+ await rpc.dispose();
999
+ },
1000
+ // @ts-ignore
1001
+ invoke(method, ...params) {
1002
+ const rpc = get(rpcId);
1003
+ // @ts-ignore
1004
+ return rpc.invoke(method, ...params);
1005
+ },
1006
+ // @ts-ignore
1007
+ invokeAndTransfer(method, ...params) {
1008
+ const rpc = get(rpcId);
1009
+ // @ts-ignore
1010
+ return rpc.invokeAndTransfer(method, ...params);
1011
+ },
1012
+ registerMockRpc(commandMap) {
1013
+ const mockRpc = createMockRpc({
1014
+ commandMap
1015
+ });
1016
+ set(rpcId, mockRpc);
1017
+ // @ts-ignore
1018
+ mockRpc[Symbol.dispose] = () => {
1019
+ remove(rpcId);
1020
+ };
1021
+ // @ts-ignore
1022
+ return mockRpc;
1023
+ },
1024
+ set(rpc) {
1025
+ set(rpcId, rpc);
1026
+ }
1027
+ };
1028
+ };
1029
+
1030
+ const ChatNetworkWorker = 6002;
1031
+ const ExtensionHostWorker = 44;
1032
+ const RendererWorker = 1;
1033
+
1034
+ const {
1035
+ invoke: invoke$2} = create(ChatNetworkWorker);
1036
+
1037
+ const {
1038
+ invoke: invoke$1} = create(ExtensionHostWorker);
1039
+
1040
+ const {
1041
+ invoke} = create(RendererWorker);
1042
+ const readFile = async uri => {
1043
+ return invoke('FileSystem.readFile', uri);
1044
+ };
1045
+ const writeFile = async (uri, text) => {
1046
+ await invoke('FileSystem.writeFile', uri, text);
1047
+ };
1048
+ const activateByEvent$1 = (event, assetDir, platform) => {
1049
+ return invoke('ExtensionHostManagement.activateByEvent', event, assetDir, platform);
1050
+ };
1051
+ const getWorkspacePath = () => {
1052
+ return invoke('Workspace.getPath');
1053
+ };
1054
+
1055
+ const getToolErrorPayload = error => {
1056
+ const rawStack = error && typeof error === 'object' ? Reflect.get(error, 'stack') : undefined;
1057
+ return {
1058
+ error: String(error),
1059
+ ...(typeof rawStack === 'string' && rawStack.trim() ? {
1060
+ errorStack: rawStack,
1061
+ stack: rawStack
1062
+ } : {})
1063
+ };
1064
+ };
1065
+
1066
+ const executeGetWorkspaceUriTool = async (_args, _options) => {
1067
+ try {
1068
+ const workspaceUri = await getWorkspacePath();
1069
+ return JSON.stringify({
1070
+ workspaceUri
1071
+ });
1072
+ } catch (error) {
1073
+ return JSON.stringify(getToolErrorPayload(error));
1074
+ }
1075
+ };
1076
+
1077
+ const isAbsoluteUri$1 = value => {
1078
+ return /^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(value);
1079
+ };
1080
+ const executeListFilesTool = async (args, _options) => {
1081
+ const uri = typeof args.uri === 'string' ? args.uri : '';
1082
+ if (!uri || !isAbsoluteUri$1(uri)) {
1083
+ return JSON.stringify({
1084
+ error: 'Invalid argument: uri must be an absolute URI.'
1085
+ });
1086
+ }
1087
+ try {
1088
+ const entries = await invoke('FileSystem.readDirWithFileTypes', uri);
1089
+ return JSON.stringify({
1090
+ entries,
1091
+ uri
1092
+ });
1093
+ } catch (error) {
1094
+ return JSON.stringify({
1095
+ ...getToolErrorPayload(error),
1096
+ uri
1097
+ });
1098
+ }
1099
+ };
1100
+
1101
+ const isPathTraversalAttempt = path => {
1102
+ if (!path) {
1103
+ return false;
1104
+ }
1105
+ if (path.startsWith('/') || path.startsWith('\\')) {
1106
+ return true;
1107
+ }
1108
+ if (path.startsWith('file://')) {
1109
+ return true;
1110
+ }
1111
+ if (/^[a-zA-Z]:[\\/]/.test(path)) {
1112
+ return true;
1113
+ }
1114
+ const segments = path.split(/[\\/]/);
1115
+ return segments.includes('..');
1116
+ };
1117
+
1118
+ const normalizeRelativePath = path => {
1119
+ const segments = path.split(/[\\/]/).filter(segment => segment && segment !== '.');
1120
+ if (segments.length === 0) {
1121
+ return '.';
1122
+ }
1123
+ return segments.join('/');
1124
+ };
1125
+
1126
+ const isAbsoluteUri = value => {
1127
+ return /^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(value);
1128
+ };
1129
+ const executeReadFileTool = async (args, _options) => {
1130
+ const uri = typeof args.uri === 'string' ? args.uri : '';
1131
+ if (uri) {
1132
+ if (!isAbsoluteUri(uri)) {
1133
+ return JSON.stringify({
1134
+ error: 'Invalid argument: uri must be an absolute URI.'
1135
+ });
1136
+ }
1137
+ try {
1138
+ const content = await readFile(uri);
1139
+ return JSON.stringify({
1140
+ content,
1141
+ uri
1142
+ });
1143
+ } catch (error) {
1144
+ return JSON.stringify({
1145
+ ...getToolErrorPayload(error),
1146
+ uri
1147
+ });
1148
+ }
1149
+ }
1150
+ const filePath = typeof args.path === 'string' ? args.path : '';
1151
+ if (!filePath || isPathTraversalAttempt(filePath)) {
1152
+ return JSON.stringify({
1153
+ error: 'Access denied: path must be relative and stay within the open workspace folder.'
1154
+ });
1155
+ }
1156
+ const normalizedPath = normalizeRelativePath(filePath);
1157
+ try {
1158
+ const content = await readFile(normalizedPath);
1159
+ return JSON.stringify({
1160
+ content,
1161
+ path: normalizedPath
1162
+ });
1163
+ } catch (error) {
1164
+ return JSON.stringify({
1165
+ ...getToolErrorPayload(error),
1166
+ path: normalizedPath
1167
+ });
1168
+ }
1169
+ };
1170
+
1171
+ const maxPayloadLength = 40_000;
1172
+ const executeRenderHtmlTool = async (args, _options) => {
1173
+ const html = typeof args.html === 'string' ? args.html : '';
1174
+ const css = typeof args.css === 'string' ? args.css : '';
1175
+ const title = typeof args.title === 'string' ? args.title : '';
1176
+ if (!html) {
1177
+ return JSON.stringify({
1178
+ error: 'Missing required argument: html'
1179
+ });
1180
+ }
1181
+ if (html.length > maxPayloadLength || css.length > maxPayloadLength) {
1182
+ return JSON.stringify({
1183
+ error: 'Payload too large: keep html/css under 40,000 characters each.'
1184
+ });
1185
+ }
1186
+ return JSON.stringify({
1187
+ css,
1188
+ html,
1189
+ ok: true,
1190
+ title
1191
+ });
1192
+ };
1193
+
1194
+ const executeWriteFileTool = async (args, _options) => {
1195
+ const filePath = typeof args.path === 'string' ? args.path : '';
1196
+ const content = typeof args.content === 'string' ? args.content : '';
1197
+ if (!filePath || isPathTraversalAttempt(filePath)) {
1198
+ return JSON.stringify({
1199
+ error: 'Access denied: path must be relative and stay within the open workspace folder.'
1200
+ });
1201
+ }
1202
+ const normalizedPath = normalizeRelativePath(filePath);
1203
+ try {
1204
+ await writeFile(normalizedPath, content);
1205
+ return JSON.stringify({
1206
+ ok: true,
1207
+ path: normalizedPath
1208
+ });
1209
+ } catch (error) {
1210
+ return JSON.stringify({
1211
+ ...getToolErrorPayload(error),
1212
+ path: normalizedPath
1213
+ });
1214
+ }
1215
+ };
1216
+
1217
+ const parseToolArguments = rawArguments => {
1218
+ if (typeof rawArguments !== 'string') {
1219
+ return {};
1220
+ }
1221
+ try {
1222
+ const parsed = JSON.parse(rawArguments);
1223
+ if (!parsed || typeof parsed !== 'object') {
1224
+ return {};
1225
+ }
1226
+ return parsed;
1227
+ } catch {
1228
+ return {};
1229
+ }
1230
+ };
1231
+
1232
+ const executeChatTool = async (name, rawArguments, options) => {
1233
+ const args = parseToolArguments(rawArguments);
1234
+ if (name === 'read_file') {
1235
+ return executeReadFileTool(args);
1236
+ }
1237
+ if (name === 'write_file') {
1238
+ return executeWriteFileTool(args);
1239
+ }
1240
+ if (name === 'list_files') {
1241
+ return executeListFilesTool(args);
1242
+ }
1243
+ if (name === 'getWorkspaceUri') {
1244
+ return executeGetWorkspaceUriTool();
1245
+ }
1246
+ if (name === 'render_html') {
1247
+ return executeRenderHtmlTool(args);
1248
+ }
1249
+ return JSON.stringify({
1250
+ error: `Unknown tool: ${name}`
1251
+ });
1252
+ };
1253
+
1254
+ const getReadFileTool = () => {
1255
+ return {
1256
+ function: {
1257
+ description: 'Read UTF-8 text content from a file inside the currently open workspace folder. Only pass an absolute URI.',
1258
+ name: 'read_file',
1259
+ parameters: {
1260
+ additionalProperties: false,
1261
+ properties: {
1262
+ uri: {
1263
+ description: 'Absolute file URI within the workspace (for example: file:///workspace/src/index.ts).',
1264
+ type: 'string'
1265
+ }
1266
+ },
1267
+ required: ['uri'],
1268
+ type: 'object'
1269
+ }
1270
+ },
1271
+ type: 'function'
1272
+ };
1273
+ };
1274
+ const getWriteFileTool = () => {
1275
+ return {
1276
+ function: {
1277
+ description: 'Write UTF-8 text content to a file inside the currently open workspace folder.',
1278
+ name: 'write_file',
1279
+ parameters: {
1280
+ additionalProperties: false,
1281
+ properties: {
1282
+ content: {
1283
+ description: 'New UTF-8 text content to write to the file.',
1284
+ type: 'string'
1285
+ },
1286
+ path: {
1287
+ description: 'Relative file path within the workspace (for example: src/index.ts).',
1288
+ type: 'string'
1289
+ }
1290
+ },
1291
+ required: ['path', 'content'],
1292
+ type: 'object'
1293
+ }
1294
+ },
1295
+ type: 'function'
1296
+ };
1297
+ };
1298
+ const getListFilesTool = () => {
1299
+ return {
1300
+ function: {
1301
+ description: 'List direct children (files and folders) for a folder URI inside the currently open workspace folder. Only pass an absolute URI.',
1302
+ name: 'list_files',
1303
+ parameters: {
1304
+ additionalProperties: false,
1305
+ properties: {
1306
+ uri: {
1307
+ description: 'Absolute folder URI within the workspace (for example: file:///workspace/src).',
1308
+ type: 'string'
1309
+ }
1310
+ },
1311
+ required: ['uri'],
1312
+ type: 'object'
1313
+ }
1314
+ },
1315
+ type: 'function'
1316
+ };
1317
+ };
1318
+ const getGetWorkspaceUriTool = () => {
1319
+ return {
1320
+ function: {
1321
+ description: 'Get the URI of the currently open workspace folder.',
1322
+ name: 'getWorkspaceUri',
1323
+ parameters: {
1324
+ additionalProperties: false,
1325
+ properties: {},
1326
+ type: 'object'
1327
+ }
1328
+ },
1329
+ type: 'function'
1330
+ };
1331
+ };
1332
+ const getRenderHtmlTool = () => {
1333
+ return {
1334
+ function: {
1335
+ description: 'Render custom HTML and optional CSS directly in the chat tool call list using native chat UI rendering. Use this for structured cards, tables, and small dashboards. After calling this tool, do not repeat the same HTML, data table, or long content again as plain text unless the user explicitly asks for a text-only version.',
1336
+ name: 'render_html',
1337
+ parameters: {
1338
+ additionalProperties: false,
1339
+ properties: {
1340
+ css: {
1341
+ description: 'Optional CSS string applied inside the preview document.',
1342
+ type: 'string'
1343
+ },
1344
+ html: {
1345
+ description: 'HTML string to render in the preview document.',
1346
+ type: 'string'
1347
+ },
1348
+ title: {
1349
+ description: 'Optional short title for the preview.',
1350
+ type: 'string'
1351
+ }
1352
+ },
1353
+ required: ['html'],
1354
+ type: 'object'
1355
+ }
1356
+ },
1357
+ type: 'function'
1358
+ };
1359
+ };
1360
+ const getBasicChatTools = () => {
1361
+ return [getReadFileTool(), getWriteFileTool(), getListFilesTool(), getGetWorkspaceUriTool(), getRenderHtmlTool()];
1362
+ };
1363
+
1364
+ const openApiApiKeyRequiredMessage = 'OpenAI API key is not configured. Enter your OpenAI API key below and click Save.';
1365
+ const openApiRequestFailedMessage = 'OpenAI request failed.';
1366
+ const openApiRequestFailedOfflineMessage = 'OpenAI request failed because you are offline. Please check your internet connection.';
1367
+ const openRouterApiKeyRequiredMessage = 'OpenRouter API key is not configured. Enter your OpenRouter API key below and click Save.';
1368
+ const openRouterRequestFailedMessage = 'OpenRouter request failed. Possible reasons:';
1369
+ const openRouterTooManyRequestsMessage = 'OpenRouter rate limit reached (429). Please try again soon. Helpful tips:';
1370
+
1371
+ const getClientRequestIdHeader = () => {
1372
+ return {
1373
+ 'x-client-request-id': crypto.randomUUID()
1374
+ };
1375
+ };
1376
+
1377
+ const delay = async ms => {
1378
+ await new Promise(resolve => setTimeout(resolve, ms));
1379
+ };
1380
+
1381
+ const getMockAiResponse = async (userMessage, delayInMs) => {
1382
+ await delay(delayInMs);
1383
+ return `Mock AI response: I received "${userMessage}".`;
1384
+ };
1385
+
1386
+ let queue = [];
1387
+ let waiters = [];
1388
+ let finished = false;
1389
+ let errorResult;
1390
+ const reset$1 = () => {
1391
+ queue = [];
1392
+ waiters = [];
1393
+ finished = false;
1394
+ errorResult = undefined;
1395
+ };
1396
+ const setHttpErrorResponse = (statusCode, body) => {
1397
+ const rawError = body && typeof body === 'object' ? Reflect.get(body, 'error') : undefined;
1398
+ const errorCode = rawError && typeof rawError === 'object' ? Reflect.get(rawError, 'code') : undefined;
1399
+ const errorMessage = rawError && typeof rawError === 'object' ? Reflect.get(rawError, 'message') : undefined;
1400
+ const errorType = rawError && typeof rawError === 'object' ? Reflect.get(rawError, 'type') : undefined;
1401
+ errorResult = {
1402
+ details: 'http-error',
1403
+ ...(typeof errorCode === 'string' ? {
1404
+ errorCode
1405
+ } : {}),
1406
+ ...(typeof errorMessage === 'string' ? {
1407
+ errorMessage
1408
+ } : {}),
1409
+ ...(typeof errorType === 'string' ? {
1410
+ errorType
1411
+ } : {}),
1412
+ statusCode,
1413
+ type: 'error'
1414
+ };
1415
+ };
1416
+ const takeErrorResponse = () => {
1417
+ const error = errorResult;
1418
+ errorResult = undefined;
1419
+ return error;
1420
+ };
1421
+ const pushChunk = chunk => {
1422
+ if (waiters.length > 0) {
1423
+ const resolve = waiters.shift();
1424
+ resolve?.(chunk);
1425
+ return;
1426
+ }
1427
+ queue.push(chunk);
1428
+ };
1429
+ const finish = () => {
1430
+ finished = true;
1431
+ if (waiters.length === 0) {
1432
+ return;
1433
+ }
1434
+ const activeWaiters = waiters;
1435
+ waiters = [];
1436
+ for (const resolve of activeWaiters) {
1437
+ resolve(undefined);
1438
+ }
1439
+ };
1440
+ const readNextChunk = async () => {
1441
+ if (queue.length > 0) {
1442
+ return queue.shift();
1443
+ }
1444
+ if (finished) {
1445
+ return undefined;
1446
+ }
1447
+ const {
1448
+ promise,
1449
+ resolve
1450
+ } = Promise.withResolvers();
1451
+ waiters.push(resolve);
1452
+ return promise;
1453
+ };
1454
+
1455
+ const getResponseFunctionCalls$1 = value => {
1456
+ if (!value || typeof value !== 'object') {
1457
+ return [];
1458
+ }
1459
+ const output = Reflect.get(value, 'output');
1460
+ if (!Array.isArray(output)) {
1461
+ return [];
1462
+ }
1463
+ const responseFunctionCalls = [];
1464
+ for (const item of output) {
1465
+ if (!item || typeof item !== 'object') {
1466
+ continue;
1467
+ }
1468
+ if (Reflect.get(item, 'type') !== 'function_call') {
1469
+ continue;
1470
+ }
1471
+ const callId = Reflect.get(item, 'call_id');
1472
+ const name = Reflect.get(item, 'name');
1473
+ const rawArguments = Reflect.get(item, 'arguments');
1474
+ if (typeof callId !== 'string' || typeof name !== 'string') {
1475
+ continue;
1476
+ }
1477
+ responseFunctionCalls.push({
1478
+ arguments: typeof rawArguments === 'string' ? rawArguments : '',
1479
+ callId,
1480
+ name
1481
+ });
1482
+ }
1483
+ return responseFunctionCalls;
1484
+ };
1485
+ const parseSseDataLines = eventChunk => {
1486
+ const lines = eventChunk.split('\n');
1487
+ const dataLines = [];
1488
+ for (const line of lines) {
1489
+ if (!line.startsWith('data:')) {
1490
+ continue;
1491
+ }
1492
+ dataLines.push(line.slice(5).trimStart());
1493
+ }
1494
+ return dataLines;
1495
+ };
1496
+ const emitToolCalls = async (toolCallAccumulator, onToolCallsChunk) => {
1497
+ if (!onToolCallsChunk) {
1498
+ return;
1499
+ }
1500
+ const toolCalls = Object.entries(toolCallAccumulator).toSorted((a, b) => Number(a[0]) - Number(b[0])).map(entry => entry[1]).filter(toolCall => !!toolCall.name);
1501
+ if (toolCalls.length === 0) {
1502
+ return;
1503
+ }
1504
+ await onToolCallsChunk(toolCalls);
1505
+ };
1506
+ const getMockOpenApiAssistantText = async (stream, onTextChunk, onToolCallsChunk, onDataEvent, onEventStreamFinished) => {
1507
+ const error = takeErrorResponse();
1508
+ if (error) {
1509
+ return error;
1510
+ }
1511
+ let text = '';
1512
+ let remainder = '';
1513
+ let toolCallAccumulator = {};
1514
+ let responseFunctionCalls = [];
1515
+ let responseId;
1516
+ let requestDone = false;
1517
+ let finishedNotified = false;
1518
+ const notifyFinished = async () => {
1519
+ if (finishedNotified) {
1520
+ return;
1521
+ }
1522
+ finishedNotified = true;
1523
+ if (onEventStreamFinished) {
1524
+ await onEventStreamFinished();
1525
+ }
1526
+ };
1527
+ const handleParsedSseEvent = async parsed => {
1528
+ if (onDataEvent) {
1529
+ await onDataEvent(parsed);
1530
+ }
1531
+ if (!parsed || typeof parsed !== 'object') {
1532
+ return;
1533
+ }
1534
+ const eventType = Reflect.get(parsed, 'type');
1535
+ if (eventType === 'response.completed') {
1536
+ const response = Reflect.get(parsed, 'response');
1537
+ responseFunctionCalls = getResponseFunctionCalls$1(response);
1538
+ const parsedResponseId = response && typeof response === 'object' ? Reflect.get(response, 'id') : undefined;
1539
+ if (typeof parsedResponseId === 'string' && parsedResponseId) {
1540
+ responseId = parsedResponseId;
1541
+ }
1542
+ requestDone = true;
1543
+ await notifyFinished();
1544
+ return;
1545
+ }
1546
+ if (eventType === 'response.output_text.delta') {
1547
+ const delta = Reflect.get(parsed, 'delta');
1548
+ if (typeof delta !== 'string' || !delta) {
1549
+ return;
1550
+ }
1551
+ text += delta;
1552
+ if (stream && onTextChunk) {
1553
+ await onTextChunk(delta);
1554
+ }
1555
+ return;
1556
+ }
1557
+ if (eventType === 'response.output_item.added') {
1558
+ const outputIndex = Reflect.get(parsed, 'output_index');
1559
+ const item = Reflect.get(parsed, 'item');
1560
+ if (typeof outputIndex !== 'number' || !item || typeof item !== 'object') {
1561
+ return;
1562
+ }
1563
+ if (Reflect.get(item, 'type') !== 'function_call') {
1564
+ return;
1565
+ }
1566
+ const name = Reflect.get(item, 'name');
1567
+ const argumentsValue = Reflect.get(item, 'arguments');
1568
+ const callId = Reflect.get(item, 'call_id');
1569
+ toolCallAccumulator = {
1570
+ ...toolCallAccumulator,
1571
+ [outputIndex]: {
1572
+ arguments: typeof argumentsValue === 'string' ? argumentsValue : '',
1573
+ ...(typeof callId === 'string' ? {
1574
+ id: callId
1575
+ } : {}),
1576
+ name: typeof name === 'string' ? name : ''
1577
+ }
1578
+ };
1579
+ await emitToolCalls(toolCallAccumulator, onToolCallsChunk);
1580
+ return;
1581
+ }
1582
+ if (eventType === 'response.function_call_arguments.delta' || eventType === 'response.function_call_arguments.done') {
1583
+ const outputIndex = Reflect.get(parsed, 'output_index');
1584
+ if (typeof outputIndex !== 'number') {
1585
+ return;
1586
+ }
1587
+ const current = toolCallAccumulator[outputIndex] || {
1588
+ arguments: '',
1589
+ name: ''
1590
+ };
1591
+ const delta = Reflect.get(parsed, 'delta');
1592
+ const argumentsValue = Reflect.get(parsed, 'arguments');
1593
+ const name = Reflect.get(parsed, 'name');
1594
+ const callId = Reflect.get(parsed, 'call_id');
1595
+ const next = {
1596
+ arguments: typeof argumentsValue === 'string' ? argumentsValue : typeof delta === 'string' ? `${current.arguments}${delta}` : current.arguments,
1597
+ ...(typeof callId === 'string' ? {
1598
+ id: callId
1599
+ } : current.id ? {
1600
+ id: current.id
1601
+ } : {}),
1602
+ name: typeof name === 'string' && name ? name : current.name
1603
+ };
1604
+ toolCallAccumulator = {
1605
+ ...toolCallAccumulator,
1606
+ [outputIndex]: next
1607
+ };
1608
+ await emitToolCalls(toolCallAccumulator, onToolCallsChunk);
1609
+ }
1610
+ };
1611
+ const consumeSseDataLines = async dataLines => {
1612
+ for (const line of dataLines) {
1613
+ if (line === '[DONE]') {
1614
+ requestDone = true;
1615
+ await notifyFinished();
1616
+ break;
1617
+ }
1618
+ let parsed;
1619
+ try {
1620
+ parsed = JSON.parse(line);
1621
+ } catch {
1622
+ continue;
1623
+ }
1624
+ await handleParsedSseEvent(parsed);
1625
+ if (requestDone) {
1626
+ break;
1627
+ }
1628
+ }
1629
+ };
1630
+ while (!requestDone) {
1631
+ const chunk = await readNextChunk();
1632
+ if (typeof chunk !== 'string') {
1633
+ break;
1634
+ }
1635
+ if (chunk.startsWith('data:')) {
1636
+ remainder += chunk;
1637
+ while (true) {
1638
+ const separatorIndex = remainder.indexOf('\n\n');
1639
+ if (separatorIndex === -1) {
1640
+ break;
1641
+ }
1642
+ const rawEvent = remainder.slice(0, separatorIndex);
1643
+ remainder = remainder.slice(separatorIndex + 2);
1644
+ const dataLines = parseSseDataLines(rawEvent);
1645
+ await consumeSseDataLines(dataLines);
1646
+ if (requestDone) {
1647
+ break;
1648
+ }
1649
+ }
1650
+ continue;
1651
+ }
1652
+ text += chunk;
1653
+ if (stream && onTextChunk) {
1654
+ await onTextChunk(chunk);
1655
+ }
1656
+ }
1657
+ if (!requestDone && remainder) {
1658
+ const dataLines = parseSseDataLines(remainder);
1659
+ await consumeSseDataLines(dataLines);
1660
+ }
1661
+ await notifyFinished();
1662
+ return {
1663
+ ...(responseId ? {
1664
+ responseId
1665
+ } : {}),
1666
+ responseFunctionCalls,
1667
+ text,
1668
+ type: 'success'
1669
+ };
1670
+ };
1671
+
1672
+ const activateByEvent = (event, assetDir, platform) => {
1673
+ // @ts-ignore
1674
+ return activateByEvent$1(event, assetDir, platform);
1675
+ };
1676
+
1677
+ const executeProvider = async ({
1678
+ assetDir,
1679
+ event,
1680
+ method,
1681
+ noProviderFoundMessage,
1682
+ params,
1683
+ platform
1684
+ }) => {
1685
+ await activateByEvent(event, assetDir, platform);
1686
+ // @ts-ignore
1687
+ const result = invoke$1(method, ...params);
1688
+ return result;
1689
+ };
1690
+
1691
+ const CommandExecute = 'ExtensionHostCommand.executeCommand';
1692
+
1693
+ const normalizeLimitInfo = value => {
1694
+ if (!value || typeof value !== 'object') {
1695
+ return undefined;
1696
+ }
1697
+ const limitRemaining = Reflect.get(value, 'limitRemaining');
1698
+ const limitReset = Reflect.get(value, 'limitReset');
1699
+ const retryAfter = Reflect.get(value, 'retryAfter');
1700
+ const usage = Reflect.get(value, 'usage');
1701
+ const usageDaily = Reflect.get(value, 'usageDaily');
1702
+ const normalized = {
1703
+ ...(typeof limitRemaining === 'number' || limitRemaining === null ? {
1704
+ limitRemaining
1705
+ } : {}),
1706
+ ...(typeof limitReset === 'string' || limitReset === null ? {
1707
+ limitReset
1708
+ } : {}),
1709
+ ...(typeof retryAfter === 'string' || retryAfter === null ? {
1710
+ retryAfter
1711
+ } : {}),
1712
+ ...(typeof usage === 'number' ? {
1713
+ usage
1714
+ } : {}),
1715
+ ...(typeof usageDaily === 'number' ? {
1716
+ usageDaily
1717
+ } : {})
1718
+ };
1719
+ const hasDetails = typeof limitRemaining === 'number' || limitRemaining === null || typeof limitReset === 'string' || limitReset === null || typeof retryAfter === 'string' || retryAfter === null || typeof usage === 'number' || typeof usageDaily === 'number';
1720
+ return hasDetails ? normalized : undefined;
1721
+ };
1722
+
1723
+ const normalizeMockResult = value => {
1724
+ if (typeof value === 'string') {
1725
+ return {
1726
+ text: value,
1727
+ type: 'success'
1728
+ };
1729
+ }
1730
+ if (!value || typeof value !== 'object') {
1731
+ return {
1732
+ details: 'request-failed',
1733
+ type: 'error'
1734
+ };
1735
+ }
1736
+ const type = Reflect.get(value, 'type');
1737
+ if (type === 'success') {
1738
+ const text = Reflect.get(value, 'text');
1739
+ if (typeof text === 'string') {
1740
+ return {
1741
+ text,
1742
+ type: 'success'
1743
+ };
1744
+ }
1745
+ return {
1746
+ details: 'request-failed',
1747
+ type: 'error'
1748
+ };
1749
+ }
1750
+ if (type === 'error') {
1751
+ const details = Reflect.get(value, 'details');
1752
+ if (details === 'request-failed' || details === 'too-many-requests' || details === 'http-error') {
1753
+ const rawMessage = Reflect.get(value, 'rawMessage');
1754
+ const statusCode = Reflect.get(value, 'statusCode');
1755
+ const limitInfo = normalizeLimitInfo(Reflect.get(value, 'limitInfo'));
1756
+ return {
1757
+ details,
1758
+ ...(limitInfo ? {
1759
+ limitInfo
1760
+ } : {}),
1761
+ ...(typeof rawMessage === 'string' ? {
1762
+ rawMessage
1763
+ } : {}),
1764
+ ...(typeof statusCode === 'number' ? {
1765
+ statusCode
1766
+ } : {}),
1767
+ type: 'error'
1768
+ };
1769
+ }
1770
+ }
1771
+ const text = Reflect.get(value, 'text');
1772
+ if (typeof text === 'string') {
1773
+ return {
1774
+ text,
1775
+ type: 'success'
1776
+ };
1777
+ }
1778
+ return {
1779
+ details: 'request-failed',
1780
+ type: 'error'
1781
+ };
1782
+ };
1783
+
1784
+ const getMockOpenRouterAssistantText = async (messages, modelId, openRouterApiBaseUrl, openRouterApiKey, mockApiCommandId, assetDir, platform) => {
1785
+ if (!mockApiCommandId) {
1786
+ return {
1787
+ details: 'request-failed',
1788
+ type: 'error'
1789
+ };
1790
+ }
1791
+ try {
1792
+ const result = await executeProvider({
1793
+ assetDir,
1794
+ event: `onCommand:${mockApiCommandId}`,
1795
+ method: CommandExecute,
1796
+ noProviderFoundMessage: 'No mock api command found',
1797
+ params: [mockApiCommandId, {
1798
+ messages,
1799
+ modelId,
1800
+ openRouterApiBaseUrl,
1801
+ openRouterApiKey
1802
+ }],
1803
+ platform
1804
+ });
1805
+ return normalizeMockResult(result);
1806
+ } catch {
1807
+ return {
1808
+ details: 'request-failed',
1809
+ type: 'error'
1810
+ };
1811
+ }
1812
+ };
1813
+
1814
+ const getOpenApiApiEndpoint = openApiApiBaseUrl => {
1815
+ return `${openApiApiBaseUrl}/responses`;
1816
+ };
1817
+
1818
+ const makeApiRequest = async options => {
1819
+ return invoke$2('ChatNetwork.makeApiRequest', options);
1820
+ };
1821
+ const makeStreamingApiRequest = async options => {
1822
+ return invoke$2('ChatNetwork.makeStreamingApiRequest', options);
1823
+ };
1824
+
1825
+ const getTextContent = content => {
1826
+ if (typeof content === 'string') {
1827
+ return content;
1828
+ }
1829
+ if (!Array.isArray(content)) {
1830
+ return '';
1831
+ }
1832
+ const textParts = [];
1833
+ for (const part of content) {
1834
+ if (!part || typeof part !== 'object') {
1835
+ continue;
1836
+ }
1837
+ const maybeType = Reflect.get(part, 'type');
1838
+ const maybeText = Reflect.get(part, 'text');
1839
+ if (maybeType === 'text' && typeof maybeText === 'string') {
1840
+ textParts.push(maybeText);
1841
+ }
1842
+ }
1843
+ return textParts.join('\n');
1844
+ };
1845
+
1846
+ /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
1847
+
1848
+ const getOpenAiTools = tools => {
1849
+ return tools.map(tool => {
1850
+ if (!tool || typeof tool !== 'object') {
1851
+ return tool;
1852
+ }
1853
+ const type = Reflect.get(tool, 'type');
1854
+ const toolFunction = Reflect.get(tool, 'function');
1855
+ if (type !== 'function' || !toolFunction || typeof toolFunction !== 'object') {
1856
+ return tool;
1857
+ }
1858
+ const name = Reflect.get(toolFunction, 'name');
1859
+ const description = Reflect.get(toolFunction, 'description');
1860
+ const parameters = Reflect.get(toolFunction, 'parameters');
1861
+ return {
1862
+ ...(typeof description === 'string' ? {
1863
+ description
1864
+ } : {}),
1865
+ ...(typeof name === 'string' ? {
1866
+ name
1867
+ } : {}),
1868
+ ...(parameters && typeof parameters === 'object' ? {
1869
+ parameters
1870
+ } : {}),
1871
+ type: 'function'
1872
+ };
1873
+ });
1874
+ };
1875
+ const getOpenAiParams = (input, modelId, stream, includeObfuscation, tools, webSearchEnabled, previousResponseId) => {
1876
+ const openAiTools = getOpenAiTools(tools);
1877
+ return {
1878
+ input,
1879
+ model: modelId,
1880
+ ...(stream ? {
1881
+ stream: true,
1882
+ ...(includeObfuscation ? {} : {
1883
+ stream_options: {
1884
+ include_obfuscation: false
1885
+ }
1886
+ })
1887
+ } : {}),
1888
+ ...(previousResponseId ? {
1889
+ previous_response_id: previousResponseId
1890
+ } : {}),
1891
+ tool_choice: 'auto',
1892
+ tools: webSearchEnabled ? [...openAiTools, {
1893
+ type: 'web_search'
1894
+ }] : openAiTools
1895
+ };
1896
+ };
1897
+ const getStreamChunkText = content => {
1898
+ if (typeof content === 'string') {
1899
+ return content;
1900
+ }
1901
+ if (!Array.isArray(content)) {
1902
+ return '';
1903
+ }
1904
+ return content.map(part => {
1905
+ if (!part || typeof part !== 'object') {
1906
+ return '';
1907
+ }
1908
+ const text = Reflect.get(part, 'text');
1909
+ return typeof text === 'string' ? text : '';
1910
+ }).join('');
1911
+ };
1912
+ const getShortToolErrorMessage = error => {
1913
+ const trimmed = error.trim().replace(/^Error:\s*/, '');
1914
+ const firstLine = trimmed.split('\n')[0];
1915
+ if (firstLine.length <= 80) {
1916
+ return firstLine;
1917
+ }
1918
+ return `${firstLine.slice(0, 77)}...`;
1919
+ };
1920
+ const getToolCallExecutionStatus = content => {
1921
+ let parsed;
1922
+ try {
1923
+ parsed = JSON.parse(content);
1924
+ } catch {
1925
+ return {
1926
+ errorMessage: 'Invalid tool output',
1927
+ status: 'error'
1928
+ };
1929
+ }
1930
+ if (!parsed || typeof parsed !== 'object') {
1931
+ return {
1932
+ errorMessage: 'Invalid tool output',
1933
+ status: 'error'
1934
+ };
1935
+ }
1936
+ const rawError = Reflect.get(parsed, 'error');
1937
+ if (typeof rawError !== 'string' || !rawError.trim()) {
1938
+ return {
1939
+ status: 'success'
1940
+ };
1941
+ }
1942
+ const rawStack = Reflect.get(parsed, 'errorStack') ?? Reflect.get(parsed, 'stack');
1943
+ const errorStack = typeof rawStack === 'string' && rawStack.trim() ? rawStack : undefined;
1944
+ const errorMessage = getShortToolErrorMessage(rawError);
1945
+ if (/not[\s_-]?found|enoent/i.test(errorMessage)) {
1946
+ return {
1947
+ ...(errorStack ? {
1948
+ errorStack
1949
+ } : {}),
1950
+ status: 'not-found'
1951
+ };
1952
+ }
1953
+ return {
1954
+ ...(errorStack ? {
1955
+ errorStack
1956
+ } : {}),
1957
+ errorMessage,
1958
+ status: 'error'
1959
+ };
1960
+ };
1961
+ const getResponseOutputText = parsed => {
1962
+ if (!parsed || typeof parsed !== 'object') {
1963
+ return '';
1964
+ }
1965
+ const outputText = Reflect.get(parsed, 'output_text');
1966
+ if (typeof outputText === 'string') {
1967
+ return outputText;
1968
+ }
1969
+ const output = Reflect.get(parsed, 'output');
1970
+ if (!Array.isArray(output)) {
1971
+ return '';
1972
+ }
1973
+ const chunks = [];
1974
+ for (const outputItem of output) {
1975
+ if (!outputItem || typeof outputItem !== 'object') {
1976
+ continue;
1977
+ }
1978
+ const itemType = Reflect.get(outputItem, 'type');
1979
+ if (itemType !== 'message') {
1980
+ continue;
1981
+ }
1982
+ const content = Reflect.get(outputItem, 'content');
1983
+ if (!Array.isArray(content)) {
1984
+ continue;
1985
+ }
1986
+ for (const part of content) {
1987
+ if (!part || typeof part !== 'object') {
1988
+ continue;
1989
+ }
1990
+ const partType = Reflect.get(part, 'type');
1991
+ const text = Reflect.get(part, 'text');
1992
+ if ((partType === 'output_text' || partType === 'text') && typeof text === 'string') {
1993
+ chunks.push(text);
1994
+ }
1995
+ }
1996
+ }
1997
+ return chunks.join('');
1998
+ };
1999
+ const getResponseFunctionCalls = parsed => {
2000
+ if (!parsed || typeof parsed !== 'object') {
2001
+ return [];
2002
+ }
2003
+ const output = Reflect.get(parsed, 'output');
2004
+ if (!Array.isArray(output)) {
2005
+ return [];
2006
+ }
2007
+ const calls = [];
2008
+ for (const outputItem of output) {
2009
+ if (!outputItem || typeof outputItem !== 'object') {
2010
+ continue;
2011
+ }
2012
+ const itemType = Reflect.get(outputItem, 'type');
2013
+ if (itemType !== 'function_call') {
2014
+ continue;
2015
+ }
2016
+ const callId = Reflect.get(outputItem, 'call_id');
2017
+ const name = Reflect.get(outputItem, 'name');
2018
+ const rawArguments = Reflect.get(outputItem, 'arguments');
2019
+ if (typeof callId !== 'string' || typeof name !== 'string') {
2020
+ continue;
2021
+ }
2022
+ calls.push({
2023
+ arguments: typeof rawArguments === 'string' ? rawArguments : '',
2024
+ callId,
2025
+ name
2026
+ });
2027
+ }
2028
+ return calls;
2029
+ };
2030
+ const parseSseEvent = eventChunk => {
2031
+ const lines = eventChunk.split('\n');
2032
+ const dataLines = [];
2033
+ for (const line of lines) {
2034
+ if (!line.startsWith('data:')) {
2035
+ continue;
2036
+ }
2037
+ dataLines.push(line.slice(5).trimStart());
2038
+ }
2039
+ return dataLines;
2040
+ };
2041
+ const updateToolCallAccumulator = (accumulator, chunk) => {
2042
+ let changed = false;
2043
+ const nextAccumulator = {
2044
+ ...accumulator
2045
+ };
2046
+ for (const item of chunk) {
2047
+ if (!item || typeof item !== 'object') {
2048
+ continue;
2049
+ }
2050
+ const index = Reflect.get(item, 'index');
2051
+ if (typeof index !== 'number') {
2052
+ continue;
2053
+ }
2054
+ const current = nextAccumulator[index] || {
2055
+ arguments: '',
2056
+ name: ''
2057
+ };
2058
+ const id = Reflect.get(item, 'id');
2059
+ const toolFunction = Reflect.get(item, 'function');
2060
+ let {
2061
+ name
2062
+ } = current;
2063
+ let args = current.arguments;
2064
+ if (toolFunction && typeof toolFunction === 'object') {
2065
+ const deltaName = Reflect.get(toolFunction, 'name');
2066
+ const deltaArguments = Reflect.get(toolFunction, 'arguments');
2067
+ if (typeof deltaName === 'string' && deltaName) {
2068
+ name = deltaName;
2069
+ }
2070
+ if (typeof deltaArguments === 'string') {
2071
+ args += deltaArguments;
2072
+ }
2073
+ }
2074
+ const next = {
2075
+ arguments: args,
2076
+ ...(typeof id === 'string' ? {
2077
+ id
2078
+ } : current.id ? {
2079
+ id: current.id
2080
+ } : {}),
2081
+ name
2082
+ };
2083
+ if (JSON.stringify(next) !== JSON.stringify(current)) {
2084
+ nextAccumulator[index] = next;
2085
+ changed = true;
2086
+ }
2087
+ }
2088
+ if (!changed) {
2089
+ return undefined;
2090
+ }
2091
+ const toolCalls = Object.entries(nextAccumulator).toSorted((a, b) => Number(a[0]) - Number(b[0])).map(entry => entry[1]).filter(toolCall => !!toolCall.name);
2092
+ return {
2093
+ nextAccumulator,
2094
+ toolCalls
2095
+ };
2096
+ };
2097
+ const getResponseFunctionCallsFromStreamingAccumulator = toolCallAccumulator => {
2098
+ return Object.entries(toolCallAccumulator).toSorted((a, b) => a[0].localeCompare(b[0])).map(entry => entry[1]).filter(toolCall => typeof toolCall.id === 'string' && !!toolCall.id && !!toolCall.name).map(toolCall => ({
2099
+ arguments: toolCall.arguments,
2100
+ callId: toolCall.id,
2101
+ name: toolCall.name
2102
+ }));
2103
+ };
2104
+ const getStreamingToolCallKey = value => {
2105
+ if (!value || typeof value !== 'object') {
2106
+ return undefined;
2107
+ }
2108
+ const outputIndex = Reflect.get(value, 'output_index');
2109
+ if (typeof outputIndex === 'number') {
2110
+ return String(outputIndex);
2111
+ }
2112
+ if (typeof outputIndex === 'string' && outputIndex) {
2113
+ return outputIndex;
2114
+ }
2115
+ const itemId = Reflect.get(value, 'item_id');
2116
+ if (typeof itemId === 'string' && itemId) {
2117
+ return itemId;
2118
+ }
2119
+ return undefined;
2120
+ };
2121
+ const parseOpenApiStream = async (response, onTextChunk, onToolCallsChunk, onDataEvent) => {
2122
+ if (!response.body) {
2123
+ return {
2124
+ details: 'request-failed',
2125
+ type: 'error'
2126
+ };
2127
+ }
2128
+ const reader = response.body.getReader();
2129
+ const decoder = new TextDecoder();
2130
+ let remainder = '';
2131
+ let text = '';
2132
+ let done = false;
2133
+ let toolCallAccumulator = {};
2134
+ let responseId;
2135
+ let completedResponseFunctionCalls = [];
2136
+ const emitToolCallAccumulator = async () => {
2137
+ if (!onToolCallsChunk) {
2138
+ return;
2139
+ }
2140
+ const toolCalls = Object.entries(toolCallAccumulator).toSorted((a, b) => a[0].localeCompare(b[0])).map(entry => entry[1]).filter(toolCall => !!toolCall.name);
2141
+ if (toolCalls.length === 0) {
2142
+ return;
2143
+ }
2144
+ await onToolCallsChunk(toolCalls);
2145
+ };
2146
+ const handleParsedStreamEvent = async parsed => {
2147
+ if (onDataEvent) {
2148
+ await onDataEvent(parsed);
2149
+ }
2150
+ if (!parsed || typeof parsed !== 'object') {
2151
+ return;
2152
+ }
2153
+ const eventType = Reflect.get(parsed, 'type');
2154
+ if (eventType === 'response.completed') {
2155
+ const response = Reflect.get(parsed, 'response');
2156
+ if (response && typeof response === 'object') {
2157
+ const parsedResponseId = Reflect.get(response, 'id');
2158
+ if (typeof parsedResponseId === 'string' && parsedResponseId) {
2159
+ responseId = parsedResponseId;
2160
+ }
2161
+ completedResponseFunctionCalls = getResponseFunctionCalls(response);
2162
+ }
2163
+ return;
2164
+ }
2165
+ if (eventType === 'response.created' || eventType === 'response.in_progress') {
2166
+ const response = Reflect.get(parsed, 'response');
2167
+ if (!response || typeof response !== 'object') {
2168
+ return;
2169
+ }
2170
+ const parsedResponseId = Reflect.get(response, 'id');
2171
+ if (typeof parsedResponseId === 'string' && parsedResponseId) {
2172
+ responseId = parsedResponseId;
2173
+ }
2174
+ return;
2175
+ }
2176
+ if (eventType === 'response.output_text.delta') {
2177
+ const delta = Reflect.get(parsed, 'delta');
2178
+ if (typeof delta !== 'string' || !delta) {
2179
+ return;
2180
+ }
2181
+ text += delta;
2182
+ if (onTextChunk) {
2183
+ await onTextChunk(delta);
2184
+ }
2185
+ return;
2186
+ }
2187
+ if (eventType === 'response.output_item.added') {
2188
+ const toolCallKey = getStreamingToolCallKey(parsed);
2189
+ const item = Reflect.get(parsed, 'item');
2190
+ if (!toolCallKey || !item || typeof item !== 'object') {
2191
+ return;
2192
+ }
2193
+ const itemType = Reflect.get(item, 'type');
2194
+ if (itemType !== 'function_call') {
2195
+ return;
2196
+ }
2197
+ const callId = Reflect.get(item, 'call_id');
2198
+ const name = Reflect.get(item, 'name');
2199
+ const rawArguments = Reflect.get(item, 'arguments');
2200
+ const next = {
2201
+ arguments: typeof rawArguments === 'string' ? rawArguments : '',
2202
+ ...(typeof callId === 'string' ? {
2203
+ id: callId
2204
+ } : {}),
2205
+ name: typeof name === 'string' ? name : ''
2206
+ };
2207
+ toolCallAccumulator = {
2208
+ ...toolCallAccumulator,
2209
+ [toolCallKey]: next
2210
+ };
2211
+ await emitToolCallAccumulator();
2212
+ return;
2213
+ }
2214
+ if (eventType === 'response.output_item.done') {
2215
+ const toolCallKey = getStreamingToolCallKey(parsed);
2216
+ const item = Reflect.get(parsed, 'item');
2217
+ if (!toolCallKey || !item || typeof item !== 'object') {
2218
+ return;
2219
+ }
2220
+ const itemType = Reflect.get(item, 'type');
2221
+ if (itemType !== 'function_call') {
2222
+ return;
2223
+ }
2224
+ const callId = Reflect.get(item, 'call_id');
2225
+ const name = Reflect.get(item, 'name');
2226
+ const rawArguments = Reflect.get(item, 'arguments');
2227
+ const current = toolCallAccumulator[toolCallKey] || {
2228
+ arguments: '',
2229
+ name: ''
2230
+ };
2231
+ toolCallAccumulator = {
2232
+ ...toolCallAccumulator,
2233
+ [toolCallKey]: {
2234
+ arguments: typeof rawArguments === 'string' ? rawArguments : current.arguments,
2235
+ ...(typeof callId === 'string' ? {
2236
+ id: callId
2237
+ } : current.id ? {
2238
+ id: current.id
2239
+ } : {}),
2240
+ name: typeof name === 'string' && name ? name : current.name
2241
+ }
2242
+ };
2243
+ await emitToolCallAccumulator();
2244
+ return;
2245
+ }
2246
+ if (eventType === 'response.function_call_arguments.delta' || eventType === 'response.function_call_arguments.done') {
2247
+ const toolCallKey = getStreamingToolCallKey(parsed);
2248
+ if (!toolCallKey) {
2249
+ return;
2250
+ }
2251
+ const current = toolCallAccumulator[toolCallKey] || {
2252
+ arguments: '',
2253
+ name: ''
2254
+ };
2255
+ const name = Reflect.get(parsed, 'name');
2256
+ const callId = Reflect.get(parsed, 'call_id');
2257
+ const delta = Reflect.get(parsed, 'delta');
2258
+ const rawArguments = Reflect.get(parsed, 'arguments');
2259
+ const next = {
2260
+ arguments: typeof rawArguments === 'string' ? rawArguments : typeof delta === 'string' ? `${current.arguments}${delta}` : current.arguments,
2261
+ ...(typeof callId === 'string' ? {
2262
+ id: callId
2263
+ } : current.id ? {
2264
+ id: current.id
2265
+ } : {}),
2266
+ name: typeof name === 'string' && name ? name : current.name
2267
+ };
2268
+ toolCallAccumulator = {
2269
+ ...toolCallAccumulator,
2270
+ [toolCallKey]: next
2271
+ };
2272
+ await emitToolCallAccumulator();
2273
+ return;
2274
+ }
2275
+ const choices = Reflect.get(parsed, 'choices');
2276
+ if (!Array.isArray(choices)) {
2277
+ return;
2278
+ }
2279
+ const firstChoice = choices[0];
2280
+ if (!firstChoice || typeof firstChoice !== 'object') {
2281
+ return;
2282
+ }
2283
+ const delta = Reflect.get(firstChoice, 'delta');
2284
+ if (!delta || typeof delta !== 'object') {
2285
+ return;
2286
+ }
2287
+ const toolCalls = Reflect.get(delta, 'tool_calls');
2288
+ const updatedToolCallResult = Array.isArray(toolCalls) ? updateToolCallAccumulator(toolCallAccumulator, toolCalls) : undefined;
2289
+ if (updatedToolCallResult) {
2290
+ toolCallAccumulator = updatedToolCallResult.nextAccumulator;
2291
+ }
2292
+ if (updatedToolCallResult && onToolCallsChunk) {
2293
+ await onToolCallsChunk(updatedToolCallResult.toolCalls);
2294
+ }
2295
+ const content = Reflect.get(delta, 'content');
2296
+ const chunkText = getStreamChunkText(content);
2297
+ if (!chunkText) {
2298
+ return;
2299
+ }
2300
+ text += chunkText;
2301
+ if (onTextChunk) {
2302
+ await onTextChunk(chunkText);
2303
+ }
2304
+ };
2305
+ while (!done) {
2306
+ const {
2307
+ done: streamDone,
2308
+ value
2309
+ } = await reader.read();
2310
+ if (streamDone) {
2311
+ done = true;
2312
+ } else if (value) {
2313
+ remainder += decoder.decode(value, {
2314
+ stream: true
2315
+ });
2316
+ }
2317
+ while (true) {
2318
+ const separatorIndex = remainder.indexOf('\n\n');
2319
+ if (separatorIndex === -1) {
2320
+ break;
2321
+ }
2322
+ const rawEvent = remainder.slice(0, separatorIndex);
2323
+ remainder = remainder.slice(separatorIndex + 2);
2324
+ const dataLines = parseSseEvent(rawEvent);
2325
+ if (dataLines.length === 0) {
2326
+ continue;
2327
+ }
2328
+ for (const line of dataLines) {
2329
+ if (line === '[DONE]') {
2330
+ done = true;
2331
+ break;
2332
+ }
2333
+ let parsed;
2334
+ try {
2335
+ parsed = JSON.parse(line);
2336
+ } catch {
2337
+ continue;
2338
+ }
2339
+ await handleParsedStreamEvent(parsed);
2340
+ }
2341
+ }
2342
+ }
2343
+ if (remainder) {
2344
+ const dataLines = parseSseEvent(remainder);
2345
+ for (const line of dataLines) {
2346
+ if (line === '[DONE]') {
2347
+ continue;
2348
+ }
2349
+ let parsed;
2350
+ try {
2351
+ parsed = JSON.parse(line);
2352
+ } catch {
2353
+ continue;
2354
+ }
2355
+ await handleParsedStreamEvent(parsed);
2356
+ }
2357
+ }
2358
+ const responseFunctionCalls = completedResponseFunctionCalls.length > 0 ? completedResponseFunctionCalls : getResponseFunctionCallsFromStreamingAccumulator(toolCallAccumulator);
2359
+ return {
2360
+ ...(responseId ? {
2361
+ responseId
2362
+ } : {}),
2363
+ responseFunctionCalls,
2364
+ text,
2365
+ type: 'success'
2366
+ };
2367
+ };
2368
+ const getOpenApiErrorDetails = async response => {
2369
+ let parsed;
2370
+ try {
2371
+ parsed = await response.json();
2372
+ } catch {
2373
+ return {};
2374
+ }
2375
+ if (!parsed || typeof parsed !== 'object') {
2376
+ return {};
2377
+ }
2378
+ const error = Reflect.get(parsed, 'error');
2379
+ if (!error || typeof error !== 'object') {
2380
+ return {};
2381
+ }
2382
+ const errorCode = Reflect.get(error, 'code');
2383
+ const errorMessage = Reflect.get(error, 'message');
2384
+ const errorType = Reflect.get(error, 'type');
2385
+ return {
2386
+ ...(typeof errorCode === 'string' ? {
2387
+ errorCode
2388
+ } : {}),
2389
+ ...(typeof errorMessage === 'string' ? {
2390
+ errorMessage
2391
+ } : {}),
2392
+ ...(typeof errorType === 'string' ? {
2393
+ errorType
2394
+ } : {})
2395
+ };
2396
+ };
2397
+ const getOpenApiErrorDetailsFromResponseText = responseText => {
2398
+ let parsed;
2399
+ try {
2400
+ parsed = JSON.parse(responseText);
2401
+ } catch {
2402
+ return {};
2403
+ }
2404
+ if (!parsed || typeof parsed !== 'object') {
2405
+ return {};
2406
+ }
2407
+ const error = Reflect.get(parsed, 'error');
2408
+ if (!error || typeof error !== 'object') {
2409
+ return {};
2410
+ }
2411
+ const errorCode = Reflect.get(error, 'code');
2412
+ const errorMessage = Reflect.get(error, 'message');
2413
+ const errorType = Reflect.get(error, 'type');
2414
+ return {
2415
+ ...(typeof errorCode === 'string' ? {
2416
+ errorCode
2417
+ } : {}),
2418
+ ...(typeof errorMessage === 'string' ? {
2419
+ errorMessage
2420
+ } : {}),
2421
+ ...(typeof errorType === 'string' ? {
2422
+ errorType
2423
+ } : {})
2424
+ };
2425
+ };
2426
+ const getResponseFromSseEvents = events => {
2427
+ const chunks = events.map(event => {
2428
+ const data = typeof event === 'string' ? event : JSON.stringify(event);
2429
+ return `data: ${data}\n\n`;
2430
+ });
2431
+ const stream = new ReadableStream({
2432
+ start(controller) {
2433
+ for (const chunk of chunks) {
2434
+ controller.enqueue(new TextEncoder().encode(chunk));
2435
+ }
2436
+ controller.close();
2437
+ }
2438
+ });
2439
+ return {
2440
+ body: stream
2441
+ };
2442
+ };
2443
+ const getOpenApiAssistantText = async (messages, modelId, openApiApiKey, openApiApiBaseUrl, assetDir, platform, options) => {
2444
+ const {
2445
+ includeObfuscation = false,
2446
+ onDataEvent,
2447
+ onEventStreamFinished,
2448
+ onTextChunk,
2449
+ onToolCallsChunk,
2450
+ stream,
2451
+ useChatNetworkWorkerForRequests = false,
2452
+ webSearchEnabled = false
2453
+ } = options ?? {
2454
+ stream: false
2455
+ };
2456
+ const openAiInput = messages.map(message => ({
2457
+ content: message.text,
2458
+ role: message.role
2459
+ }));
2460
+ const tools = getBasicChatTools();
2461
+ const maxToolIterations = 4;
2462
+ let previousResponseId;
2463
+ for (let i = 0; i <= maxToolIterations; i++) {
2464
+ const postBody = getOpenAiParams(openAiInput, modelId, stream, includeObfuscation, tools, webSearchEnabled, previousResponseId);
2465
+ if (stream) {
2466
+ const streamResult = useChatNetworkWorkerForRequests ? await (async () => {
2467
+ const requestResult = await makeStreamingApiRequest({
2468
+ headers: {
2469
+ Authorization: `Bearer ${openApiApiKey}`,
2470
+ 'Content-Type': 'application/json',
2471
+ ...getClientRequestIdHeader()
2472
+ },
2473
+ method: 'POST',
2474
+ postBody,
2475
+ url: getOpenApiApiEndpoint(openApiApiBaseUrl)
2476
+ });
2477
+ if (requestResult.type === 'error') {
2478
+ if (requestResult.statusCode === 0) {
2479
+ return {
2480
+ details: 'request-failed',
2481
+ type: 'error'
2482
+ };
2483
+ }
2484
+ const {
2485
+ errorCode,
2486
+ errorMessage,
2487
+ errorType
2488
+ } = getOpenApiErrorDetailsFromResponseText(requestResult.response);
2489
+ return {
2490
+ details: 'http-error',
2491
+ ...(errorCode ? {
2492
+ errorCode
2493
+ } : {}),
2494
+ ...(errorMessage ? {
2495
+ errorMessage
2496
+ } : {}),
2497
+ ...(errorType ? {
2498
+ errorType
2499
+ } : {}),
2500
+ statusCode: requestResult.statusCode,
2501
+ type: 'error'
2502
+ };
2503
+ }
2504
+ const response = getResponseFromSseEvents(requestResult.body);
2505
+ return parseOpenApiStream(response, onTextChunk, onToolCallsChunk, onDataEvent);
2506
+ })() : await (async () => {
2507
+ let response;
2508
+ try {
2509
+ response = await fetch(getOpenApiApiEndpoint(openApiApiBaseUrl), {
2510
+ body: JSON.stringify(postBody),
2511
+ headers: {
2512
+ Authorization: `Bearer ${openApiApiKey}`,
2513
+ 'Content-Type': 'application/json',
2514
+ ...getClientRequestIdHeader()
2515
+ },
2516
+ method: 'POST'
2517
+ });
2518
+ } catch {
2519
+ return {
2520
+ details: 'request-failed',
2521
+ type: 'error'
2522
+ };
2523
+ }
2524
+ if (!response.ok) {
2525
+ const {
2526
+ errorCode,
2527
+ errorMessage,
2528
+ errorType
2529
+ } = await getOpenApiErrorDetails(response);
2530
+ return {
2531
+ details: 'http-error',
2532
+ ...(errorCode ? {
2533
+ errorCode
2534
+ } : {}),
2535
+ ...(errorMessage ? {
2536
+ errorMessage
2537
+ } : {}),
2538
+ ...(errorType ? {
2539
+ errorType
2540
+ } : {}),
2541
+ statusCode: response.status,
2542
+ type: 'error'
2543
+ };
2544
+ }
2545
+ return parseOpenApiStream(response, onTextChunk, onToolCallsChunk, onDataEvent);
2546
+ })();
2547
+ if (streamResult.type !== 'success') {
2548
+ return streamResult;
2549
+ }
2550
+ if (streamResult.responseId) {
2551
+ previousResponseId = streamResult.responseId;
2552
+ }
2553
+ if (streamResult.responseFunctionCalls.length > 0) {
2554
+ openAiInput.length = 0;
2555
+ const executedToolCalls = [];
2556
+ for (const toolCall of streamResult.responseFunctionCalls) {
2557
+ const content = await executeChatTool(toolCall.name, toolCall.arguments);
2558
+ const executionStatus = getToolCallExecutionStatus(content);
2559
+ executedToolCalls.push({
2560
+ arguments: toolCall.arguments,
2561
+ ...(executionStatus.errorStack ? {
2562
+ errorStack: executionStatus.errorStack
2563
+ } : {}),
2564
+ ...(executionStatus.errorMessage ? {
2565
+ errorMessage: executionStatus.errorMessage
2566
+ } : {}),
2567
+ ...(executionStatus.errorStack ? {
2568
+ errorStack: executionStatus.errorStack
2569
+ } : {}),
2570
+ id: toolCall.callId,
2571
+ name: toolCall.name,
2572
+ ...(executionStatus.status ? {
2573
+ status: executionStatus.status
2574
+ } : {})
2575
+ });
2576
+ openAiInput.push({
2577
+ call_id: toolCall.callId,
2578
+ output: content,
2579
+ type: 'function_call_output'
2580
+ });
2581
+ }
2582
+ if (onToolCallsChunk && executedToolCalls.length > 0) {
2583
+ await onToolCallsChunk(executedToolCalls);
2584
+ }
2585
+ continue;
2586
+ }
2587
+ if (onEventStreamFinished) {
2588
+ await onEventStreamFinished();
2589
+ }
2590
+ return {
2591
+ text: streamResult.text,
2592
+ type: 'success'
2593
+ };
2594
+ }
2595
+ let parsed;
2596
+ if (useChatNetworkWorkerForRequests) {
2597
+ const requestResult = await makeApiRequest({
2598
+ headers: {
2599
+ Authorization: `Bearer ${openApiApiKey}`,
2600
+ 'Content-Type': 'application/json',
2601
+ ...getClientRequestIdHeader()
2602
+ },
2603
+ method: 'POST',
2604
+ postBody,
2605
+ url: getOpenApiApiEndpoint(openApiApiBaseUrl)
2606
+ });
2607
+ if (requestResult.type === 'error') {
2608
+ if (requestResult.statusCode === 0) {
2609
+ return {
2610
+ details: 'request-failed',
2611
+ type: 'error'
2612
+ };
2613
+ }
2614
+ const {
2615
+ errorCode,
2616
+ errorMessage,
2617
+ errorType
2618
+ } = getOpenApiErrorDetailsFromResponseText(requestResult.response);
2619
+ return {
2620
+ details: 'http-error',
2621
+ ...(errorCode ? {
2622
+ errorCode
2623
+ } : {}),
2624
+ ...(errorMessage ? {
2625
+ errorMessage
2626
+ } : {}),
2627
+ ...(errorType ? {
2628
+ errorType
2629
+ } : {}),
2630
+ statusCode: requestResult.statusCode,
2631
+ type: 'error'
2632
+ };
2633
+ }
2634
+ parsed = requestResult.body;
2635
+ } else {
2636
+ let response;
2637
+ try {
2638
+ response = await fetch(getOpenApiApiEndpoint(openApiApiBaseUrl), {
2639
+ body: JSON.stringify(postBody),
2640
+ headers: {
2641
+ Authorization: `Bearer ${openApiApiKey}`,
2642
+ 'Content-Type': 'application/json',
2643
+ ...getClientRequestIdHeader()
2644
+ },
2645
+ method: 'POST'
2646
+ });
2647
+ } catch {
2648
+ return {
2649
+ details: 'request-failed',
2650
+ type: 'error'
2651
+ };
2652
+ }
2653
+ if (!response.ok) {
2654
+ const {
2655
+ errorCode,
2656
+ errorMessage,
2657
+ errorType
2658
+ } = await getOpenApiErrorDetails(response);
2659
+ return {
2660
+ details: 'http-error',
2661
+ ...(errorCode ? {
2662
+ errorCode
2663
+ } : {}),
2664
+ ...(errorMessage ? {
2665
+ errorMessage
2666
+ } : {}),
2667
+ ...(errorType ? {
2668
+ errorType
2669
+ } : {}),
2670
+ statusCode: response.status,
2671
+ type: 'error'
2672
+ };
2673
+ }
2674
+ try {
2675
+ parsed = await response.json();
2676
+ } catch {
2677
+ return {
2678
+ details: 'request-failed',
2679
+ type: 'error'
2680
+ };
2681
+ }
2682
+ }
2683
+ if (!parsed || typeof parsed !== 'object') {
2684
+ return {
2685
+ text: '',
2686
+ type: 'success'
2687
+ };
2688
+ }
2689
+ const parsedResponseId = Reflect.get(parsed, 'id');
2690
+ if (typeof parsedResponseId === 'string' && parsedResponseId) {
2691
+ previousResponseId = parsedResponseId;
2692
+ }
2693
+ const responseFunctionCalls = getResponseFunctionCalls(parsed);
2694
+ if (responseFunctionCalls.length > 0) {
2695
+ openAiInput.length = 0;
2696
+ const executedToolCalls = [];
2697
+ for (const toolCall of responseFunctionCalls) {
2698
+ const content = await executeChatTool(toolCall.name, toolCall.arguments);
2699
+ const executionStatus = getToolCallExecutionStatus(content);
2700
+ executedToolCalls.push({
2701
+ arguments: toolCall.arguments,
2702
+ ...(executionStatus.errorStack ? {
2703
+ errorStack: executionStatus.errorStack
2704
+ } : {}),
2705
+ ...(executionStatus.errorMessage ? {
2706
+ errorMessage: executionStatus.errorMessage
2707
+ } : {}),
2708
+ ...(executionStatus.errorStack ? {
2709
+ errorStack: executionStatus.errorStack
2710
+ } : {}),
2711
+ id: toolCall.callId,
2712
+ name: toolCall.name,
2713
+ ...(executionStatus.status ? {
2714
+ status: executionStatus.status
2715
+ } : {})
2716
+ });
2717
+ openAiInput.push({
2718
+ call_id: toolCall.callId,
2719
+ output: content,
2720
+ type: 'function_call_output'
2721
+ });
2722
+ }
2723
+ if (onToolCallsChunk && executedToolCalls.length > 0) {
2724
+ await onToolCallsChunk(executedToolCalls);
2725
+ }
2726
+ continue;
2727
+ }
2728
+ const outputText = getResponseOutputText(parsed);
2729
+ if (outputText) {
2730
+ return {
2731
+ text: outputText,
2732
+ type: 'success'
2733
+ };
2734
+ }
2735
+ const choices = Reflect.get(parsed, 'choices');
2736
+ if (Array.isArray(choices)) {
2737
+ const firstChoice = choices[0];
2738
+ if (!firstChoice || typeof firstChoice !== 'object') {
2739
+ return {
2740
+ text: '',
2741
+ type: 'success'
2742
+ };
2743
+ }
2744
+ const message = Reflect.get(firstChoice, 'message');
2745
+ if (!message || typeof message !== 'object') {
2746
+ return {
2747
+ text: '',
2748
+ type: 'success'
2749
+ };
2750
+ }
2751
+ const toolCalls = Reflect.get(message, 'tool_calls');
2752
+ if (Array.isArray(toolCalls) && toolCalls.length > 0) {
2753
+ openAiInput.length = 0;
2754
+ const executedToolCalls = [];
2755
+ for (const toolCall of toolCalls) {
2756
+ if (!toolCall || typeof toolCall !== 'object') {
2757
+ continue;
2758
+ }
2759
+ const id = Reflect.get(toolCall, 'id');
2760
+ const toolFunction = Reflect.get(toolCall, 'function');
2761
+ if (typeof id !== 'string' || !toolFunction || typeof toolFunction !== 'object') {
2762
+ continue;
2763
+ }
2764
+ const name = Reflect.get(toolFunction, 'name');
2765
+ const rawArguments = Reflect.get(toolFunction, 'arguments');
2766
+ const content = typeof name === 'string' ? await executeChatTool(name, rawArguments) : '{}';
2767
+ if (typeof name === 'string') {
2768
+ const executionStatus = getToolCallExecutionStatus(content);
2769
+ executedToolCalls.push({
2770
+ arguments: typeof rawArguments === 'string' ? rawArguments : '',
2771
+ ...(executionStatus.errorStack ? {
2772
+ errorStack: executionStatus.errorStack
2773
+ } : {}),
2774
+ ...(executionStatus.errorMessage ? {
2775
+ errorMessage: executionStatus.errorMessage
2776
+ } : {}),
2777
+ ...(executionStatus.errorStack ? {
2778
+ errorStack: executionStatus.errorStack
2779
+ } : {}),
2780
+ id,
2781
+ name,
2782
+ ...(executionStatus.status ? {
2783
+ status: executionStatus.status
2784
+ } : {})
2785
+ });
2786
+ }
2787
+ openAiInput.push({
2788
+ call_id: id,
2789
+ output: content,
2790
+ type: 'function_call_output'
2791
+ });
2792
+ }
2793
+ if (onToolCallsChunk && executedToolCalls.length > 0) {
2794
+ await onToolCallsChunk(executedToolCalls);
2795
+ }
2796
+ continue;
2797
+ }
2798
+ const content = Reflect.get(message, 'content');
2799
+ return {
2800
+ text: getTextContent(content),
2801
+ type: 'success'
2802
+ };
2803
+ }
2804
+ return {
2805
+ text: '',
2806
+ type: 'success'
2807
+ };
2808
+ }
2809
+ return {
2810
+ details: 'request-failed',
2811
+ type: 'error'
2812
+ };
2813
+ };
2814
+
2815
+ const isOffline = () => {
2816
+ if (!globalThis.navigator) {
2817
+ return false;
2818
+ }
2819
+ return globalThis.navigator.onLine === false;
2820
+ };
2821
+ const getOpenApiErrorMessage = errorResult => {
2822
+ switch (errorResult.details) {
2823
+ case 'http-error':
2824
+ {
2825
+ const errorMessage = errorResult.errorMessage?.trim();
2826
+ const hasErrorCode = typeof errorResult.errorCode === 'string' && errorResult.errorCode.length > 0;
2827
+ const hasErrorType = typeof errorResult.errorType === 'string' && errorResult.errorType.length > 0;
2828
+
2829
+ // Provide a concise, user-friendly message when OpenAI reports an invalid API key.
2830
+ if (errorResult.errorCode === 'invalid_api_key') {
2831
+ const status = typeof errorResult.statusCode === 'number' ? errorResult.statusCode : 401;
2832
+ return `OpenAI request failed (Status ${status}): Invalid API key. Please verify your OpenAI API key in Chat Settings.`;
2833
+ }
2834
+ if (errorResult.statusCode === 429) {
2835
+ let prefix = 'OpenAI rate limit exceeded (429)';
2836
+ if (hasErrorCode) {
2837
+ prefix = `OpenAI rate limit exceeded (429: ${errorResult.errorCode})`;
2838
+ }
2839
+ if (hasErrorType) {
2840
+ prefix += ` [${errorResult.errorType}]`;
2841
+ }
2842
+ prefix += '.';
2843
+ if (!errorMessage) {
2844
+ return prefix;
2845
+ }
2846
+ return `${prefix} ${errorMessage}`;
2847
+ }
2848
+ if (typeof errorResult.statusCode === 'number') {
2849
+ let prefix = `OpenAI request failed (status ${errorResult.statusCode})`;
2850
+ if (hasErrorCode) {
2851
+ prefix += `: ${errorResult.errorCode}`;
2852
+ }
2853
+ if (hasErrorType) {
2854
+ prefix += ` [${errorResult.errorType}]`;
2855
+ }
2856
+ prefix += '.';
2857
+ if (!errorMessage) {
2858
+ return prefix;
2859
+ }
2860
+ return `${prefix} ${errorMessage}`;
2861
+ }
2862
+ if (errorMessage) {
2863
+ return `OpenAI request failed. ${errorMessage}`;
2864
+ }
2865
+ return openApiRequestFailedMessage;
2866
+ }
2867
+ case 'request-failed':
2868
+ if (isOffline()) {
2869
+ return openApiRequestFailedOfflineMessage;
2870
+ }
2871
+ return openApiRequestFailedMessage;
2872
+ }
2873
+ };
2874
+
2875
+ const getOpenApiModelId = selectedModelId => {
2876
+ const openApiPrefix = 'openapi/';
2877
+ const openAiPrefix = 'openai/';
2878
+ const normalizedModelId = selectedModelId.toLowerCase();
2879
+ if (normalizedModelId.startsWith(openApiPrefix)) {
2880
+ return selectedModelId.slice(openApiPrefix.length);
2881
+ }
2882
+ if (normalizedModelId.startsWith(openAiPrefix)) {
2883
+ return selectedModelId.slice(openAiPrefix.length);
2884
+ }
2885
+ return selectedModelId;
2886
+ };
2887
+
2888
+ const getOpenRouterApiEndpoint = openRouterApiBaseUrl => {
2889
+ const trimmedBaseUrl = openRouterApiBaseUrl.replace(/\/+$/, '');
2890
+ return `${trimmedBaseUrl}/chat/completions`;
2891
+ };
2892
+
2893
+ const getOpenRouterKeyEndpoint = openRouterApiBaseUrl => {
2894
+ const trimmedBaseUrl = openRouterApiBaseUrl.replace(/\/+$/, '');
2895
+ return `${trimmedBaseUrl}/auth/key`;
2896
+ };
2897
+
2898
+ const getOpenRouterRaw429Message = async response => {
2899
+ let parsed;
2900
+ try {
2901
+ parsed = await response.json();
2902
+ } catch {
2903
+ return undefined;
2904
+ }
2905
+ if (!parsed || typeof parsed !== 'object') {
2906
+ return undefined;
2907
+ }
2908
+ const error = Reflect.get(parsed, 'error');
2909
+ if (!error || typeof error !== 'object') {
2910
+ return undefined;
2911
+ }
2912
+ const metadata = Reflect.get(error, 'metadata');
2913
+ if (!metadata || typeof metadata !== 'object') {
2914
+ return undefined;
2915
+ }
2916
+ const raw = Reflect.get(metadata, 'raw');
2917
+ if (typeof raw !== 'string' || !raw) {
2918
+ return undefined;
2919
+ }
2920
+ return raw;
2921
+ };
2922
+ const getOpenRouterRaw429MessageFromText = responseText => {
2923
+ let parsed;
2924
+ try {
2925
+ parsed = JSON.parse(responseText);
2926
+ } catch {
2927
+ return undefined;
2928
+ }
2929
+ if (!parsed || typeof parsed !== 'object') {
2930
+ return undefined;
2931
+ }
2932
+ const error = Reflect.get(parsed, 'error');
2933
+ if (!error || typeof error !== 'object') {
2934
+ return undefined;
2935
+ }
2936
+ const metadata = Reflect.get(error, 'metadata');
2937
+ if (!metadata || typeof metadata !== 'object') {
2938
+ return undefined;
2939
+ }
2940
+ const raw = Reflect.get(metadata, 'raw');
2941
+ if (typeof raw !== 'string' || !raw) {
2942
+ return undefined;
2943
+ }
2944
+ return raw;
2945
+ };
2946
+ const getOpenRouterLimitInfo = async (openRouterApiKey, openRouterApiBaseUrl, useChatNetworkWorkerForRequests) => {
2947
+ let parsed;
2948
+ if (useChatNetworkWorkerForRequests) {
2949
+ const result = await makeApiRequest({
2950
+ headers: {
2951
+ Authorization: `Bearer ${openRouterApiKey}`,
2952
+ ...getClientRequestIdHeader()
2953
+ },
2954
+ method: 'GET',
2955
+ url: getOpenRouterKeyEndpoint(openRouterApiBaseUrl)
2956
+ });
2957
+ if (result.type === 'error') {
2958
+ return undefined;
2959
+ }
2960
+ parsed = result.body;
2961
+ } else {
2962
+ let response;
2963
+ try {
2964
+ response = await fetch(getOpenRouterKeyEndpoint(openRouterApiBaseUrl), {
2965
+ headers: {
2966
+ Authorization: `Bearer ${openRouterApiKey}`,
2967
+ ...getClientRequestIdHeader()
2968
+ },
2969
+ method: 'GET'
2970
+ });
2971
+ } catch {
2972
+ return undefined;
2973
+ }
2974
+ if (!response.ok) {
2975
+ return undefined;
2976
+ }
2977
+ try {
2978
+ parsed = await response.json();
2979
+ } catch {
2980
+ return undefined;
2981
+ }
2982
+ }
2983
+ if (!parsed || typeof parsed !== 'object') {
2984
+ return undefined;
2985
+ }
2986
+ const data = Reflect.get(parsed, 'data');
2987
+ if (!data || typeof data !== 'object') {
2988
+ return undefined;
2989
+ }
2990
+ const limitRemaining = Reflect.get(data, 'limit_remaining');
2991
+ const limitReset = Reflect.get(data, 'limit_reset');
2992
+ const usage = Reflect.get(data, 'usage');
2993
+ const usageDaily = Reflect.get(data, 'usage_daily');
2994
+ const normalizedLimitInfo = {
2995
+ ...(typeof limitRemaining === 'number' || limitRemaining === null ? {
2996
+ limitRemaining
2997
+ } : {}),
2998
+ ...(typeof limitReset === 'string' || limitReset === null ? {
2999
+ limitReset
3000
+ } : {}),
3001
+ ...(typeof usage === 'number' ? {
3002
+ usage
3003
+ } : {}),
3004
+ ...(typeof usageDaily === 'number' ? {
3005
+ usageDaily
3006
+ } : {})
3007
+ };
3008
+ const hasLimitInfo = normalizedLimitInfo.limitRemaining !== undefined || normalizedLimitInfo.limitReset !== undefined || normalizedLimitInfo.usage !== undefined || normalizedLimitInfo.usageDaily !== undefined;
3009
+ if (!hasLimitInfo) {
3010
+ return undefined;
3011
+ }
3012
+ return normalizedLimitInfo;
3013
+ };
3014
+ const getOpenRouterAssistantText = async (messages, modelId, openRouterApiKey, openRouterApiBaseUrl, assetDir, platform, useChatNetworkWorkerForRequests = false) => {
3015
+ const completionMessages = messages.map(message => ({
3016
+ content: message.text,
3017
+ role: message.role
3018
+ }));
3019
+ const tools = getBasicChatTools();
3020
+ const maxToolIterations = 4;
3021
+ for (let i = 0; i <= maxToolIterations; i++) {
3022
+ let parsed;
3023
+ if (useChatNetworkWorkerForRequests) {
3024
+ const requestResult = await makeApiRequest({
3025
+ headers: {
3026
+ Authorization: `Bearer ${openRouterApiKey}`,
3027
+ 'Content-Type': 'application/json',
3028
+ ...getClientRequestIdHeader()
3029
+ },
3030
+ method: 'POST',
3031
+ postBody: {
3032
+ messages: completionMessages,
3033
+ model: modelId,
3034
+ tool_choice: 'auto',
3035
+ tools
3036
+ },
3037
+ url: getOpenRouterApiEndpoint(openRouterApiBaseUrl)
3038
+ });
3039
+ if (requestResult.type === 'error') {
3040
+ if (requestResult.statusCode === 429) {
3041
+ const retryAfter = requestResult.headers?.['retry-after'] ?? null;
3042
+ const rawMessage = getOpenRouterRaw429MessageFromText(requestResult.response);
3043
+ const limitInfo = await getOpenRouterLimitInfo(openRouterApiKey, openRouterApiBaseUrl, useChatNetworkWorkerForRequests);
3044
+ return {
3045
+ details: 'too-many-requests',
3046
+ ...(limitInfo || retryAfter ? {
3047
+ limitInfo: {
3048
+ ...limitInfo,
3049
+ ...(retryAfter ? {
3050
+ retryAfter
3051
+ } : {})
3052
+ }
3053
+ } : {}),
3054
+ ...(rawMessage ? {
3055
+ rawMessage
3056
+ } : {}),
3057
+ statusCode: 429,
3058
+ type: 'error'
3059
+ };
3060
+ }
3061
+ return {
3062
+ details: 'http-error',
3063
+ statusCode: requestResult.statusCode,
3064
+ type: 'error'
3065
+ };
3066
+ }
3067
+ parsed = requestResult.body;
3068
+ } else {
3069
+ let response;
3070
+ try {
3071
+ response = await fetch(getOpenRouterApiEndpoint(openRouterApiBaseUrl), {
3072
+ body: JSON.stringify({
3073
+ messages: completionMessages,
3074
+ model: modelId,
3075
+ tool_choice: 'auto',
3076
+ tools
3077
+ }),
3078
+ headers: {
3079
+ Authorization: `Bearer ${openRouterApiKey}`,
3080
+ 'Content-Type': 'application/json',
3081
+ ...getClientRequestIdHeader()
3082
+ },
3083
+ method: 'POST'
3084
+ });
3085
+ } catch {
3086
+ return {
3087
+ details: 'request-failed',
3088
+ type: 'error'
3089
+ };
3090
+ }
3091
+ if (!response.ok) {
3092
+ if (response.status === 429) {
3093
+ const retryAfter = response.headers?.get?.('retry-after') ?? null;
3094
+ const rawMessage = await getOpenRouterRaw429Message(response);
3095
+ const limitInfo = await getOpenRouterLimitInfo(openRouterApiKey, openRouterApiBaseUrl, useChatNetworkWorkerForRequests);
3096
+ return {
3097
+ details: 'too-many-requests',
3098
+ ...(limitInfo || retryAfter ? {
3099
+ limitInfo: {
3100
+ ...limitInfo,
3101
+ ...(retryAfter ? {
3102
+ retryAfter
3103
+ } : {})
3104
+ }
3105
+ } : {}),
3106
+ ...(rawMessage ? {
3107
+ rawMessage
3108
+ } : {}),
3109
+ statusCode: 429,
3110
+ type: 'error'
3111
+ };
3112
+ }
3113
+ return {
3114
+ details: 'http-error',
3115
+ statusCode: response.status,
3116
+ type: 'error'
3117
+ };
3118
+ }
3119
+ try {
3120
+ parsed = await response.json();
3121
+ } catch {
3122
+ return {
3123
+ details: 'request-failed',
3124
+ type: 'error'
3125
+ };
3126
+ }
3127
+ }
3128
+ if (!parsed || typeof parsed !== 'object') {
3129
+ return {
3130
+ text: '',
3131
+ type: 'success'
3132
+ };
3133
+ }
3134
+ const choices = Reflect.get(parsed, 'choices');
3135
+ if (!Array.isArray(choices)) {
3136
+ return {
3137
+ text: '',
3138
+ type: 'success'
3139
+ };
3140
+ }
3141
+ const firstChoice = choices[0];
3142
+ if (!firstChoice || typeof firstChoice !== 'object') {
3143
+ return {
3144
+ text: '',
3145
+ type: 'success'
3146
+ };
3147
+ }
3148
+ const message = Reflect.get(firstChoice, 'message');
3149
+ if (!message || typeof message !== 'object') {
3150
+ return {
3151
+ text: '',
3152
+ type: 'success'
3153
+ };
3154
+ }
3155
+ const toolCalls = Reflect.get(message, 'tool_calls');
3156
+ if (Array.isArray(toolCalls) && toolCalls.length > 0) {
3157
+ completionMessages.push(message);
3158
+ for (const toolCall of toolCalls) {
3159
+ if (!toolCall || typeof toolCall !== 'object') {
3160
+ continue;
3161
+ }
3162
+ const id = Reflect.get(toolCall, 'id');
3163
+ const toolFunction = Reflect.get(toolCall, 'function');
3164
+ if (typeof id !== 'string' || !toolFunction || typeof toolFunction !== 'object') {
3165
+ continue;
3166
+ }
3167
+ const name = Reflect.get(toolFunction, 'name');
3168
+ const rawArguments = Reflect.get(toolFunction, 'arguments');
3169
+ const content = typeof name === 'string' ? await executeChatTool(name, rawArguments) : '{}';
3170
+ completionMessages.push({
3171
+ content,
3172
+ role: 'tool',
3173
+ tool_call_id: id
3174
+ });
3175
+ }
3176
+ continue;
3177
+ }
3178
+ const content = Reflect.get(message, 'content');
3179
+ return {
3180
+ text: getTextContent(content),
3181
+ type: 'success'
3182
+ };
3183
+ }
3184
+ return {
3185
+ details: 'request-failed',
3186
+ type: 'error'
3187
+ };
3188
+ };
3189
+
3190
+ const getOpenRouterTooManyRequestsMessage = errorResult => {
3191
+ const details = [];
3192
+ if (errorResult.rawMessage) {
3193
+ details.push(errorResult.rawMessage);
3194
+ }
3195
+ const {
3196
+ limitInfo
3197
+ } = errorResult;
3198
+ if (limitInfo) {
3199
+ if (limitInfo.retryAfter) {
3200
+ details.push(`Retry after: ${limitInfo.retryAfter}.`);
3201
+ }
3202
+ if (limitInfo.limitReset) {
3203
+ details.push(`Limit resets: ${limitInfo.limitReset}.`);
3204
+ }
3205
+ if (limitInfo.limitRemaining === null) {
3206
+ details.push('Credits remaining: unlimited.');
3207
+ } else if (typeof limitInfo.limitRemaining === 'number') {
3208
+ details.push(`Credits remaining: ${limitInfo.limitRemaining}.`);
3209
+ }
3210
+ if (typeof limitInfo.usageDaily === 'number') {
3211
+ details.push(`Credits used today (UTC): ${limitInfo.usageDaily}.`);
3212
+ }
3213
+ if (typeof limitInfo.usage === 'number') {
3214
+ details.push(`Credits used (all time): ${limitInfo.usage}.`);
3215
+ }
3216
+ }
3217
+ if (details.length === 0) {
3218
+ return openRouterTooManyRequestsMessage;
3219
+ }
3220
+ return `${openRouterTooManyRequestsMessage} ${details.join(' ')}`;
3221
+ };
3222
+
3223
+ const getOpenRouterErrorMessage = errorResult => {
3224
+ switch (errorResult.details) {
3225
+ case 'http-error':
3226
+ case 'request-failed':
3227
+ return openRouterRequestFailedMessage;
3228
+ case 'too-many-requests':
3229
+ return getOpenRouterTooManyRequestsMessage(errorResult);
3230
+ }
3231
+ };
3232
+
3233
+ // cspell:ignore openrouter
3234
+ const getOpenRouterModelId = selectedModelId => {
3235
+ const openRouterPrefix = 'openrouter/';
3236
+ if (selectedModelId.toLowerCase().startsWith(openRouterPrefix)) {
3237
+ return selectedModelId.slice(openRouterPrefix.length);
3238
+ }
3239
+ return selectedModelId;
3240
+ };
3241
+
3242
+ const isOpenApiModel = (selectedModelId, models) => {
3243
+ const selectedModel = models.find(model => model.id === selectedModelId);
3244
+ const normalizedProvider = selectedModel?.provider?.toLowerCase();
3245
+ if (normalizedProvider === 'openapi' || normalizedProvider === 'openai' || normalizedProvider === 'open-ai') {
3246
+ return true;
3247
+ }
3248
+ const normalizedModelId = selectedModelId.toLowerCase();
3249
+ return normalizedModelId.startsWith('openapi/') || normalizedModelId.startsWith('openai/');
3250
+ };
3251
+
3252
+ // cspell:ignore openrouter
3253
+
3254
+ const isOpenRouterModel = (selectedModelId, models) => {
3255
+ const selectedModel = models.find(model => model.id === selectedModelId);
3256
+ const normalizedProvider = selectedModel?.provider?.toLowerCase();
3257
+ if (normalizedProvider === 'openrouter' || normalizedProvider === 'open-router') {
3258
+ return true;
3259
+ }
3260
+ return selectedModelId.toLowerCase().startsWith('openrouter/');
3261
+ };
3262
+
3263
+ let requests = [];
3264
+ const reset = () => {
3265
+ requests = [];
3266
+ };
3267
+ const capture = request => {
3268
+ requests = [...requests, request];
3269
+ };
3270
+ const getAll = () => {
3271
+ return requests;
3272
+ };
3273
+
3274
+ /* eslint-disable prefer-destructuring */
3275
+
3276
+ const getAiResponse = async ({
3277
+ assetDir,
3278
+ messageId,
3279
+ messages,
3280
+ mockAiResponseDelay = 800,
3281
+ mockApiCommandId,
3282
+ models,
3283
+ onDataEvent,
3284
+ onEventStreamFinished,
3285
+ onTextChunk,
3286
+ onToolCallsChunk,
3287
+ openApiApiBaseUrl,
3288
+ openApiApiKey,
3289
+ openRouterApiBaseUrl,
3290
+ openRouterApiKey,
3291
+ passIncludeObfuscation = false,
3292
+ platform,
3293
+ selectedModelId,
3294
+ streamingEnabled = true,
3295
+ useChatNetworkWorkerForRequests = false,
3296
+ useMockApi,
3297
+ userText,
3298
+ webSearchEnabled = false
3299
+ }) => {
3300
+ let text = '';
3301
+ const usesOpenApiModel = isOpenApiModel(selectedModelId, models);
3302
+ const usesOpenRouterModel = isOpenRouterModel(selectedModelId, models);
3303
+ if (usesOpenApiModel) {
3304
+ if (useMockApi) {
3305
+ const openAiInput = messages.map(message => ({
3306
+ content: message.text,
3307
+ role: message.role
3308
+ }));
3309
+ const modelId = getOpenApiModelId(selectedModelId);
3310
+ const headers = {
3311
+ Authorization: `Bearer ${openApiApiKey}`,
3312
+ 'Content-Type': 'application/json',
3313
+ ...getClientRequestIdHeader()
3314
+ };
3315
+ const maxToolIterations = 4;
3316
+ let previousResponseId;
3317
+ for (let i = 0; i <= maxToolIterations; i++) {
3318
+ capture({
3319
+ headers,
3320
+ method: 'POST',
3321
+ payload: getOpenAiParams(openAiInput, modelId, streamingEnabled, passIncludeObfuscation, getBasicChatTools(), webSearchEnabled, previousResponseId),
3322
+ url: getOpenApiApiEndpoint(openApiApiBaseUrl)
3323
+ });
3324
+ const result = await getMockOpenApiAssistantText(streamingEnabled, onTextChunk, onToolCallsChunk, onDataEvent, onEventStreamFinished);
3325
+ if (result.type !== 'success') {
3326
+ text = getOpenApiErrorMessage(result);
3327
+ break;
3328
+ }
3329
+ text = result.text;
3330
+ if (result.responseId) {
3331
+ previousResponseId = result.responseId;
3332
+ }
3333
+ if (result.responseFunctionCalls.length === 0) {
3334
+ break;
3335
+ }
3336
+ openAiInput.length = 0;
3337
+ for (const toolCall of result.responseFunctionCalls) {
3338
+ const content = await executeChatTool(toolCall.name, toolCall.arguments);
3339
+ openAiInput.push({
3340
+ call_id: toolCall.callId,
3341
+ output: content,
3342
+ type: 'function_call_output'
3343
+ });
3344
+ }
3345
+ }
3346
+ } else if (openApiApiKey) {
3347
+ const result = await getOpenApiAssistantText(messages, getOpenApiModelId(selectedModelId), openApiApiKey, openApiApiBaseUrl, assetDir, platform, {
3348
+ includeObfuscation: passIncludeObfuscation,
3349
+ ...(onDataEvent ? {
3350
+ onDataEvent
3351
+ } : {}),
3352
+ ...(onEventStreamFinished ? {
3353
+ onEventStreamFinished
3354
+ } : {}),
3355
+ ...(onTextChunk ? {
3356
+ onTextChunk
3357
+ } : {}),
3358
+ ...(onToolCallsChunk ? {
3359
+ onToolCallsChunk
3360
+ } : {}),
3361
+ stream: streamingEnabled,
3362
+ useChatNetworkWorkerForRequests,
3363
+ webSearchEnabled
3364
+ });
3365
+ if (result.type === 'success') {
3366
+ const {
3367
+ text: assistantText
3368
+ } = result;
3369
+ text = assistantText;
3370
+ } else {
3371
+ text = getOpenApiErrorMessage(result);
3372
+ }
3373
+ } else {
3374
+ text = openApiApiKeyRequiredMessage;
3375
+ }
3376
+ } else if (usesOpenRouterModel) {
3377
+ const modelId = getOpenRouterModelId(selectedModelId);
3378
+ if (useMockApi) {
3379
+ const result = await getMockOpenRouterAssistantText(messages, modelId, openRouterApiBaseUrl, openRouterApiKey, mockApiCommandId, assetDir, platform);
3380
+ if (result.type === 'success') {
3381
+ const {
3382
+ text: assistantText
3383
+ } = result;
3384
+ text = assistantText;
3385
+ } else {
3386
+ text = getOpenRouterErrorMessage(result);
3387
+ }
3388
+ } else if (openRouterApiKey) {
3389
+ const result = await getOpenRouterAssistantText(messages, modelId, openRouterApiKey, openRouterApiBaseUrl, assetDir, platform, useChatNetworkWorkerForRequests);
3390
+ if (result.type === 'success') {
3391
+ const {
3392
+ text: assistantText
3393
+ } = result;
3394
+ text = assistantText;
3395
+ } else {
3396
+ text = getOpenRouterErrorMessage(result);
3397
+ }
3398
+ } else {
3399
+ text = openRouterApiKeyRequiredMessage;
3400
+ }
3401
+ }
3402
+ if (!text && !usesOpenApiModel && !usesOpenRouterModel) {
3403
+ text = await getMockAiResponse(userText, mockAiResponseDelay);
3404
+ }
3405
+ const assistantTime = new Date().toLocaleTimeString([], {
3406
+ hour: '2-digit',
3407
+ minute: '2-digit'
3408
+ });
3409
+ const message = {
3410
+ id: messageId || crypto.randomUUID(),
3411
+ role: 'assistant',
3412
+ text,
3413
+ time: assistantTime
3414
+ };
3415
+ return message;
3416
+ };
3417
+
3418
+ const isDefaultSessionTitle = title => {
3419
+ return /^Chat \d+$/.test(title);
3420
+ };
3421
+
3422
+ const sanitizeGeneratedTitle = value => {
3423
+ return value.replace(/^title:\s*/i, '').replaceAll(/^['"`\s]+|['"`\s]+$/g, '').replaceAll(/\s+/g, ' ').trim().slice(0, 80);
3424
+ };
3425
+
3426
+ const getTimeString = () => {
3427
+ return new Date().toLocaleTimeString([], {
3428
+ hour: '2-digit',
3429
+ minute: '2-digit'
3430
+ });
3431
+ };
3432
+ const getAiSessionTitle = async (state, userText, assistantText) => {
3433
+ const {
3434
+ models,
3435
+ openApiApiBaseUrl,
3436
+ openApiApiKey,
3437
+ openRouterApiBaseUrl,
3438
+ openRouterApiKey,
3439
+ selectedModelId,
3440
+ useMockApi
3441
+ } = state;
3442
+ if (useMockApi) {
3443
+ return '';
3444
+ }
3445
+ const usesOpenApiModel = isOpenApiModel(selectedModelId, models);
3446
+ const usesOpenRouterModel = isOpenRouterModel(selectedModelId, models);
3447
+ if (usesOpenApiModel && !openApiApiKey) {
3448
+ return '';
3449
+ }
3450
+ if (usesOpenRouterModel && !openRouterApiKey) {
3451
+ return '';
3452
+ }
3453
+ if (!usesOpenApiModel && !usesOpenRouterModel) {
3454
+ return '';
3455
+ }
3456
+ const titlePrompt = `Create a concise title (max 6 words) for this conversation. Respond only with the title, no punctuation at the end.
3457
+ User: ${userText}
3458
+ Assistant: ${assistantText}`;
3459
+ const promptMessage = {
3460
+ id: crypto.randomUUID(),
3461
+ role: 'user',
3462
+ text: titlePrompt,
3463
+ time: getTimeString()
3464
+ };
3465
+ const titleResponse = await getAiResponse({
3466
+ assetDir: state.assetDir,
3467
+ messages: [promptMessage],
3468
+ mockAiResponseDelay: state.mockAiResponseDelay,
3469
+ mockApiCommandId: state.mockApiCommandId,
3470
+ models,
3471
+ openApiApiBaseUrl,
3472
+ openApiApiKey,
3473
+ openRouterApiBaseUrl,
3474
+ openRouterApiKey,
3475
+ passIncludeObfuscation: state.passIncludeObfuscation,
3476
+ platform: state.platform,
3477
+ selectedModelId,
3478
+ streamingEnabled: false,
3479
+ useChatNetworkWorkerForRequests: state.useChatNetworkWorkerForRequests,
3480
+ useMockApi,
3481
+ userText: titlePrompt,
3482
+ webSearchEnabled: false
3483
+ });
3484
+ const title = sanitizeGeneratedTitle(titleResponse.text);
3485
+ return title && !isDefaultSessionTitle(title) ? title : '';
3486
+ };
3487
+
3488
+ const handleMessagePort = async port => {
3489
+ await create$2({
3490
+ commandMap: commandMap,
3491
+ messagePort: port
3492
+ });
3493
+ };
3494
+
3495
+ const mockOpenApiRequestGetAll = () => {
3496
+ return getAll();
3497
+ };
3498
+
3499
+ const mockOpenApiRequestReset = () => {
3500
+ reset();
3501
+ };
3502
+
3503
+ const mockOpenApiSetHttpErrorResponse = (statusCode, body) => {
3504
+ setHttpErrorResponse(statusCode, body);
3505
+ };
3506
+
3507
+ const mockOpenApiStreamFinish = () => {
3508
+ finish();
3509
+ };
3510
+
3511
+ const mockOpenApiStreamPushChunk = chunk => {
3512
+ pushChunk(chunk);
3513
+ };
3514
+
3515
+ const mockOpenApiStreamReset = () => {
3516
+ reset$1();
3517
+ };
3518
+
3519
+ const commandMap = {
3520
+ 'ChatCoordinator.cancelRun': cancelRun,
3521
+ 'ChatCoordinator.consumeEvents': consumeEvents,
3522
+ 'ChatCoordinator.createSession': createSession,
3523
+ 'ChatCoordinator.deleteSession': deleteSession,
3524
+ 'ChatCoordinator.getAiResponse': getAiResponse,
3525
+ 'ChatCoordinator.getAiSessionTitle': getAiSessionTitle,
3526
+ 'ChatCoordinator.getSession': getSession,
3527
+ 'ChatCoordinator.listSessions': listSessions,
3528
+ 'ChatCoordinator.mockOpenApiRequestGetAll': mockOpenApiRequestGetAll,
3529
+ 'ChatCoordinator.mockOpenApiRequestReset': mockOpenApiRequestReset,
3530
+ 'ChatCoordinator.mockOpenApiSetHttpErrorResponse': mockOpenApiSetHttpErrorResponse,
3531
+ 'ChatCoordinator.mockOpenApiStreamFinish': mockOpenApiStreamFinish,
3532
+ 'ChatCoordinator.mockOpenApiStreamPushChunk': mockOpenApiStreamPushChunk,
3533
+ 'ChatCoordinator.mockOpenApiStreamReset': mockOpenApiStreamReset,
3534
+ 'ChatCoordinator.submit': submit,
3535
+ 'ChatCoordinator.subscribe': subscribe,
3536
+ 'ChatCoordinator.unsubscribe': unsubscribe,
3537
+ 'ChatCoordinator.waitForEvents': waitForEvents,
3538
+ 'HandleMessagePort.handleMessagePort': handleMessagePort
3539
+ };
3540
+
3541
+ const listen = async () => {
3542
+ await create$1({
3543
+ commandMap: commandMap
3544
+ });
3545
+ };
3546
+
3547
+ const main = async () => {
3548
+ await listen();
3549
+ };
3550
+
3551
+ main();