@lvce-editor/static-server 0.80.18 → 0.81.0

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 (2399) hide show
  1. package/config.json +2420 -2427
  2. package/dist/static-server.js +1 -1
  3. package/package.json +1 -1
  4. package/static/{0e2b358 → 3101f6f}/css/App.css +92 -93
  5. package/static/{0e2b358 → 3101f6f}/manifest.json +2 -2
  6. package/static/{0e2b358 → 3101f6f}/packages/about-view-worker/dist/aboutWorkerMain.js +291 -222
  7. package/static/{0e2b358 → 3101f6f}/packages/activity-bar-worker/dist/activityBarWorkerMain.js +37 -11
  8. package/static/{0e2b358 → 3101f6f}/packages/auth-worker/dist/authWorkerMain.js +133 -52
  9. package/static/{0e2b358 → 3101f6f}/packages/chat-coordinator-worker/dist/chatCoordinatorWorkerMain.js +375 -48
  10. package/static/{0e2b358 → 3101f6f}/packages/chat-debug-view/dist/chatDebugViewWorkerMain.js +1917 -786
  11. package/static/{0e2b358 → 3101f6f}/packages/chat-storage-worker/dist/chatStorageWorkerMain.js +188 -129
  12. package/static/{0e2b358 → 3101f6f}/packages/chat-view/dist/chatViewWorkerMain.js +1721 -3306
  13. package/static/3101f6f/packages/chat-view-model/dist/chatViewModelWorkerMain.js +3123 -0
  14. package/static/{0e2b358 → 3101f6f}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +1642 -1564
  15. package/static/{0e2b358 → 3101f6f}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  16. package/static/{0e2b358 → 3101f6f}/packages/renderer-process/dist/rendererProcessMain.js +1640 -1651
  17. package/static/{0e2b358 → 3101f6f}/packages/renderer-process/package.json +1 -1
  18. package/static/{0e2b358 → 3101f6f}/packages/renderer-worker/dist/rendererWorkerMain.js +25 -12
  19. package/static/{0e2b358 → 3101f6f}/packages/test-worker/dist/testWorkerMain.js +202 -27
  20. package/static/{0e2b358 → 3101f6f}/packages/title-bar-worker/dist/titleBarWorkerMain.js +7 -5
  21. package/static/index.html +4 -4
  22. /package/static/{0e2b358 → 3101f6f}/config/colorTheme.json +0 -0
  23. /package/static/{0e2b358 → 3101f6f}/config/defaultSettings.json +0 -0
  24. /package/static/{0e2b358 → 3101f6f}/config/fileMap.json +0 -0
  25. /package/static/{0e2b358 → 3101f6f}/config/webExtensions.json +0 -0
  26. /package/static/{0e2b358 → 3101f6f}/css/parts/AdditionalDetails.css +0 -0
  27. /package/static/{0e2b358 → 3101f6f}/css/parts/Animation.css +0 -0
  28. /package/static/{0e2b358 → 3101f6f}/css/parts/BrowserScrollBar.css +0 -0
  29. /package/static/{0e2b358 → 3101f6f}/css/parts/Category.css +0 -0
  30. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugButtons.css +0 -0
  31. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatDetails.css +0 -0
  32. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatDetailsClose.css +0 -0
  33. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatImagePreview.css +0 -0
  34. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTable.css +0 -0
  35. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTimeline.css +0 -0
  36. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTop.css +0 -0
  37. /package/static/{0e2b358 → 3101f6f}/css/parts/DebugValue.css +0 -0
  38. /package/static/{0e2b358 → 3101f6f}/css/parts/E2eTest.css +0 -0
  39. /package/static/{0e2b358 → 3101f6f}/css/parts/E2eTests.css +0 -0
  40. /package/static/{0e2b358 → 3101f6f}/css/parts/EditorHover.css +0 -0
  41. /package/static/{0e2b358 → 3101f6f}/css/parts/EditorMessage.css +0 -0
  42. /package/static/{0e2b358 → 3101f6f}/css/parts/FeatureContent.css +0 -0
  43. /package/static/{0e2b358 → 3101f6f}/css/parts/Features.css +0 -0
  44. /package/static/{0e2b358 → 3101f6f}/css/parts/ImagePreview.css +0 -0
  45. /package/static/{0e2b358 → 3101f6f}/css/parts/InlineDiffEditor.css +0 -0
  46. /package/static/{0e2b358 → 3101f6f}/css/parts/InputBadge.css +0 -0
  47. /package/static/{0e2b358 → 3101f6f}/css/parts/Key.css +0 -0
  48. /package/static/{0e2b358 → 3101f6f}/css/parts/KeyBindingsHeader.css +0 -0
  49. /package/static/{0e2b358 → 3101f6f}/css/parts/KeyBindingsTable.css +0 -0
  50. /package/static/{0e2b358 → 3101f6f}/css/parts/LegacyDialog.css +0 -0
  51. /package/static/{0e2b358 → 3101f6f}/css/parts/Markdown.css +0 -0
  52. /package/static/{0e2b358 → 3101f6f}/css/parts/Message.css +0 -0
  53. /package/static/{0e2b358 → 3101f6f}/css/parts/Preview.css +0 -0
  54. /package/static/{0e2b358 → 3101f6f}/css/parts/ScrollToTop.css +0 -0
  55. /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsHeader.css +0 -0
  56. /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsItems.css +0 -0
  57. /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsSideBar.css +0 -0
  58. /package/static/{0e2b358 → 3101f6f}/css/parts/SourceControlListItem.css +0 -0
  59. /package/static/{0e2b358 → 3101f6f}/css/parts/Table.css +0 -0
  60. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletAbout.css +0 -0
  61. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletBrowserViewOverview.css +0 -0
  62. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDebugConsole.css +0 -0
  63. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDefineKeyBinding.css +0 -0
  64. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDiffEditor.css +0 -0
  65. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletEditorWidgetError.css +0 -0
  66. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetail.css +0 -0
  67. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  68. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  69. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensions.css +0 -0
  70. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletIframeInspector.css +0 -0
  71. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletKeyBindings.css +0 -0
  72. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletLanguageModels.css +0 -0
  73. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainDragOverlay.css +0 -0
  74. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainEditorGroup.css +0 -0
  75. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainWaterMark.css +0 -0
  76. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMedia.css +0 -0
  77. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletOutput.css +0 -0
  78. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPanel.css +0 -0
  79. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPanelTabs.css +0 -0
  80. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPdf.css +0 -0
  81. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletProblems.css +0 -0
  82. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletReferences.css +0 -0
  83. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletRunAndDebug.css +0 -0
  84. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletScreenCapture.css +0 -0
  85. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSearch.css +0 -0
  86. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSettings.css +0 -0
  87. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSimpleBrowser.css +0 -0
  88. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSourceControl.css +0 -0
  89. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletStorage.css +0 -0
  90. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletTerminal.css +0 -0
  91. /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletTerminalTabs.css +0 -0
  92. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/README.md +0 -0
  93. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/extension.json +0 -0
  94. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  95. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  96. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/README.md +0 -0
  97. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/extension.json +0 -0
  98. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  99. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  100. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  101. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  102. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/README.md +0 -0
  103. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  104. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  105. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  106. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/README.md +0 -0
  107. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/extension.json +0 -0
  108. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  109. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  110. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/README.md +0 -0
  111. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/extension.json +0 -0
  112. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  113. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  114. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/README.md +0 -0
  115. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/extension.json +0 -0
  116. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  117. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/README.md +0 -0
  118. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  119. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  120. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/README.md +0 -0
  121. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/extension.json +0 -0
  122. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  123. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  124. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  125. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  126. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  127. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  128. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  129. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/README.md +0 -0
  130. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  131. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  132. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/README.md +0 -0
  133. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/extension.json +0 -0
  134. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  135. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  136. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  137. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  138. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/README.md +0 -0
  139. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/extension.json +0 -0
  140. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  141. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/README.md +0 -0
  142. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/extension.json +0 -0
  143. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  144. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/README.md +0 -0
  145. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  146. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  147. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/README.md +0 -0
  148. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/extension.json +0 -0
  149. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  150. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  151. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/README.md +0 -0
  152. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/extension.json +0 -0
  153. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  154. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  155. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/README.md +0 -0
  156. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  157. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  158. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  159. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/README.md +0 -0
  160. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/extension.json +0 -0
  161. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  162. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/README.md +0 -0
  163. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/extension.json +0 -0
  164. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  165. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/README.md +0 -0
  166. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  167. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  168. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/README.md +0 -0
  169. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/extension.json +0 -0
  170. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  171. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  172. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  173. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  174. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/LICENSE +0 -0
  175. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/README.md +0 -0
  176. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/extension.json +0 -0
  177. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  178. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  179. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/README.md +0 -0
  180. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  181. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  182. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/README.md +0 -0
  183. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  184. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  185. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/README.md +0 -0
  186. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/extension.json +0 -0
  187. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  188. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  189. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  190. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  191. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  192. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/README.md +0 -0
  193. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/extension.json +0 -0
  194. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  195. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  196. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  197. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  198. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/README.md +0 -0
  199. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  200. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  201. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/README.md +0 -0
  202. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/extension.json +0 -0
  203. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  204. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  205. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/README.md +0 -0
  206. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/extension.json +0 -0
  207. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  208. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/README.md +0 -0
  209. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  210. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  211. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  212. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/README.md +0 -0
  213. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/extension.json +0 -0
  214. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  215. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  216. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/README.md +0 -0
  217. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/extension.json +0 -0
  218. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  219. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  220. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  221. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  222. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  223. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/README.md +0 -0
  224. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  225. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  226. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/README.md +0 -0
  227. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  228. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  229. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/README.md +0 -0
  230. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/extension.json +0 -0
  231. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  232. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/README.md +0 -0
  233. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  234. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/languageConfiguration.json +0 -0
  235. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  236. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/README.md +0 -0
  237. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/extension.json +0 -0
  238. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  239. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  240. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  241. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  242. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  243. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/README.md +0 -0
  244. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/extension.json +0 -0
  245. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  246. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/README.md +0 -0
  247. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  248. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  249. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  250. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  251. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  252. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  253. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/README.md +0 -0
  254. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  255. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/extension.json +0 -0
  256. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/images/demo.png +0 -0
  257. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/README.md +0 -0
  258. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  259. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  260. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  261. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  262. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/README.md +0 -0
  263. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  264. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  265. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/images/demo.png +0 -0
  266. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/README.md +0 -0
  267. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  268. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  269. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/README.md +0 -0
  270. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/color-theme.json +0 -0
  271. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/extension.json +0 -0
  272. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/README.md +0 -0
  273. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  274. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/extension.json +0 -0
  275. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  276. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  277. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  278. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  279. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/README.md +0 -0
  280. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  281. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/extension.json +0 -0
  282. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  283. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/README.md +0 -0
  284. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/color-theme.json +0 -0
  285. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/extension.json +0 -0
  286. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/icon.png +0 -0
  287. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/README.md +0 -0
  288. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/extension.json +0 -0
  289. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  290. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icon.png +0 -0
  291. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_file.svg +0 -0
  292. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_folder.svg +0 -0
  293. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_folder_opened.svg +0 -0
  294. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_root_folder.svg +0 -0
  295. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_root_folder_opened.svg +0 -0
  296. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_access.svg +0 -0
  297. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_access2.svg +0 -0
  298. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_actionscript.svg +0 -0
  299. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_actionscript2.svg +0 -0
  300. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ada.svg +0 -0
  301. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_advpl.svg +0 -0
  302. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affectscript.svg +0 -0
  303. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinity.svg +0 -0
  304. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinitydesigner.svg +0 -0
  305. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinityphoto.svg +0 -0
  306. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinitypublisher.svg +0 -0
  307. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_agda.svg +0 -0
  308. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_agents.svg +0 -0
  309. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ai.svg +0 -0
  310. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ai2.svg +0 -0
  311. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_al.svg +0 -0
  312. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_al_dal.svg +0 -0
  313. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_alchemy.svg +0 -0
  314. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_allcontributors.svg +0 -0
  315. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_alloy.svg +0 -0
  316. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_allure.svg +0 -0
  317. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_angular.svg +0 -0
  318. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ansible.svg +0 -0
  319. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_antlers_html.svg +0 -0
  320. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_antlr.svg +0 -0
  321. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_anyscript.svg +0 -0
  322. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apache.svg +0 -0
  323. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apex.svg +0 -0
  324. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_api_extractor.svg +0 -0
  325. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apib.svg +0 -0
  326. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apib2.svg +0 -0
  327. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apl.svg +0 -0
  328. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_applescript.svg +0 -0
  329. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appscript.svg +0 -0
  330. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appsemble.svg +0 -0
  331. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appveyor.svg +0 -0
  332. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_arduino.svg +0 -0
  333. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_asciidoc.svg +0 -0
  334. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aseprite.svg +0 -0
  335. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_asp.svg +0 -0
  336. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aspx.svg +0 -0
  337. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_assembly.svg +0 -0
  338. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_assembly_script.svg +0 -0
  339. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_astro.svg +0 -0
  340. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_astroconfig.svg +0 -0
  341. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_atom.svg +0 -0
  342. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ats.svg +0 -0
  343. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_attw.svg +0 -0
  344. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_audio.svg +0 -0
  345. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aurelia.svg +0 -0
  346. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_autohotkey.svg +0 -0
  347. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_autoit.svg +0 -0
  348. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_avif.svg +0 -0
  349. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_avro.svg +0 -0
  350. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_awk.svg +0 -0
  351. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aws.svg +0 -0
  352. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_azure.svg +0 -0
  353. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_azurepipelines.svg +0 -0
  354. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_babel.svg +0 -0
  355. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_babel2.svg +0 -0
  356. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bak.svg +0 -0
  357. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ballerina.svg +0 -0
  358. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bat.svg +0 -0
  359. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bats.svg +0 -0
  360. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazaar.svg +0 -0
  361. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel.svg +0 -0
  362. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel_ignore.svg +0 -0
  363. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel_version.svg +0 -0
  364. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_befunge.svg +0 -0
  365. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bicep.svg +0 -0
  366. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_biml.svg +0 -0
  367. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_binary.svg +0 -0
  368. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_biome.svg +0 -0
  369. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bitbucketpipeline.svg +0 -0
  370. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bithound.svg +0 -0
  371. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blade.svg +0 -0
  372. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blender.svg +0 -0
  373. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blitzbasic.svg +0 -0
  374. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bolt.svg +0 -0
  375. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bosque.svg +0 -0
  376. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bower.svg +0 -0
  377. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bower2.svg +0 -0
  378. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_browserslist.svg +0 -0
  379. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bruno.svg +0 -0
  380. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_buckbuild.svg +0 -0
  381. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_buf.svg +0 -0
  382. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bun.svg +0 -0
  383. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bundlemon.svg +0 -0
  384. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bundler.svg +0 -0
  385. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bunfig.svg +0 -0
  386. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c.svg +0 -0
  387. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c2.svg +0 -0
  388. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c3.svg +0 -0
  389. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c_al.svg +0 -0
  390. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cabal.svg +0 -0
  391. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_caddy.svg +0 -0
  392. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cake.svg +0 -0
  393. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cakephp.svg +0 -0
  394. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_capacitor.svg +0 -0
  395. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_capnp.svg +0 -0
  396. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cargo.svg +0 -0
  397. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_casc.svg +0 -0
  398. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cddl.svg +0 -0
  399. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cert.svg +0 -0
  400. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ceylon.svg +0 -0
  401. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cf.svg +0 -0
  402. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cf2.svg +0 -0
  403. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfc.svg +0 -0
  404. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfc2.svg +0 -0
  405. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfm.svg +0 -0
  406. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfm2.svg +0 -0
  407. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_changie.svg +0 -0
  408. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cheader.svg +0 -0
  409. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_chef.svg +0 -0
  410. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_chef_cookbook.svg +0 -0
  411. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_circleci.svg +0 -0
  412. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_circom.svg +0 -0
  413. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_class.svg +0 -0
  414. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_claude.svg +0 -0
  415. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_clojure.svg +0 -0
  416. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_clojurescript.svg +0 -0
  417. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cloudflare.svg +0 -0
  418. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cloudfoundry.svg +0 -0
  419. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cmake.svg +0 -0
  420. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cobol.svg +0 -0
  421. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codacy.svg +0 -0
  422. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeclimate.svg +0 -0
  423. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codecov.svg +0 -0
  424. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codekit.svg +0 -0
  425. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codemagic.svg +0 -0
  426. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeowners.svg +0 -0
  427. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeql.svg +0 -0
  428. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coderabbit.svg +0 -0
  429. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coffeelint.svg +0 -0
  430. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coffeescript.svg +0 -0
  431. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_commitizen.svg +0 -0
  432. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_commitlint.svg +0 -0
  433. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_compass.svg +0 -0
  434. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_composer.svg +0 -0
  435. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_conan.svg +0 -0
  436. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_conda.svg +0 -0
  437. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_config.svg +0 -0
  438. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_confluence.svg +0 -0
  439. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_copilot.svg +0 -0
  440. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coverage.svg +0 -0
  441. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coveralls.svg +0 -0
  442. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp.svg +0 -0
  443. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp2.svg +0 -0
  444. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp3.svg +0 -0
  445. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cppheader.svg +0 -0
  446. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_craco.svg +0 -0
  447. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_crowdin.svg +0 -0
  448. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_crystal.svg +0 -0
  449. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csharp.svg +0 -0
  450. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csharp2.svg +0 -0
  451. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cspell.svg +0 -0
  452. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csproj.svg +0 -0
  453. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css.svg +0 -0
  454. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css2.svg +0 -0
  455. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css2map.svg +0 -0
  456. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csscomb.svg +0 -0
  457. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csslint.svg +0 -0
  458. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cssmap.svg +0 -0
  459. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cucumber.svg +0 -0
  460. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cuda.svg +0 -0
  461. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cursorrules.svg +0 -0
  462. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cvs.svg +0 -0
  463. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cypress.svg +0 -0
  464. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cypress_spec.svg +0 -0
  465. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cython.svg +0 -0
  466. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dal.svg +0 -0
  467. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_darcs.svg +0 -0
  468. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang.svg +0 -0
  469. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang_generated.svg +0 -0
  470. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang_ignore.svg +0 -0
  471. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +0 -0
  472. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_db.svg +0 -0
  473. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_debian.svg +0 -0
  474. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_delphi.svg +0 -0
  475. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_deno.svg +0 -0
  476. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_denoify.svg +0 -0
  477. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dependabot.svg +0 -0
  478. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dependencies.svg +0 -0
  479. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_design_tokens.svg +0 -0
  480. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_devcontainer.svg +0 -0
  481. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_devvit.svg +0 -0
  482. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dhall.svg +0 -0
  483. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_diff.svg +0 -0
  484. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_django.svg +0 -0
  485. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dlang.svg +0 -0
  486. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docker.svg +0 -0
  487. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docker2.svg +0 -0
  488. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dockertest.svg +0 -0
  489. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dockertest2.svg +0 -0
  490. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docpad.svg +0 -0
  491. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docusaurus.svg +0 -0
  492. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docz.svg +0 -0
  493. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dojo.svg +0 -0
  494. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_doppler.svg +0 -0
  495. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dotenv.svg +0 -0
  496. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dotjs.svg +0 -0
  497. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_doxygen.svg +0 -0
  498. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drawio.svg +0 -0
  499. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drone.svg +0 -0
  500. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drools.svg +0 -0
  501. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dtd.svg +0 -0
  502. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dune.svg +0 -0
  503. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dustjs.svg +0 -0
  504. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dvc.svg +0 -0
  505. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dylan.svg +0 -0
  506. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_earthly.svg +0 -0
  507. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eas-metadata.svg +0 -0
  508. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_edge.svg +0 -0
  509. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_edge2.svg +0 -0
  510. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_editorconfig.svg +0 -0
  511. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eex.svg +0 -0
  512. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ejs.svg +0 -0
  513. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elastic.svg +0 -0
  514. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elasticbeanstalk.svg +0 -0
  515. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_electron.svg +0 -0
  516. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eleventy.svg +0 -0
  517. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eleventy2.svg +0 -0
  518. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elixir.svg +0 -0
  519. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elm.svg +0 -0
  520. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elm2.svg +0 -0
  521. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_emacs.svg +0 -0
  522. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ember.svg +0 -0
  523. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ensime.svg +0 -0
  524. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eps.svg +0 -0
  525. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_epub.svg +0 -0
  526. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erb.svg +0 -0
  527. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erlang.svg +0 -0
  528. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erlang2.svg +0 -0
  529. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_esbuild.svg +0 -0
  530. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eslint.svg +0 -0
  531. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eslint2.svg +0 -0
  532. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +0 -0
  533. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excalidraw.svg +0 -0
  534. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excel.svg +0 -0
  535. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excel2.svg +0 -0
  536. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_expo.svg +0 -0
  537. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_falcon.svg +0 -0
  538. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fantasticon.svg +0 -0
  539. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fastly.svg +0 -0
  540. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fauna.svg +0 -0
  541. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_favicon.svg +0 -0
  542. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fbx.svg +0 -0
  543. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebase.svg +0 -0
  544. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebasehosting.svg +0 -0
  545. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebasestorage.svg +0 -0
  546. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firestore.svg +0 -0
  547. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fitbit.svg +0 -0
  548. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fla.svg +0 -0
  549. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flareact.svg +0 -0
  550. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flash.svg +0 -0
  551. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_floobits.svg +0 -0
  552. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flow.svg +0 -0
  553. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flutter.svg +0 -0
  554. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flutter_package.svg +0 -0
  555. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flyio.svg +0 -0
  556. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_font.svg +0 -0
  557. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_formkit.svg +0 -0
  558. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fortran.svg +0 -0
  559. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fossa.svg +0 -0
  560. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fossil.svg +0 -0
  561. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_freemarker.svg +0 -0
  562. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_frontcommerce.svg +0 -0
  563. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsharp.svg +0 -0
  564. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsharp2.svg +0 -0
  565. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsproj.svg +0 -0
  566. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fthtml.svg +0 -0
  567. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_funding.svg +0 -0
  568. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fusebox.svg +0 -0
  569. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_galen.svg +0 -0
  570. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_galen2.svg +0 -0
  571. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker.svg +0 -0
  572. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker2.svg +0 -0
  573. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker81.svg +0 -0
  574. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gatsby.svg +0 -0
  575. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gcloud.svg +0 -0
  576. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gcode.svg +0 -0
  577. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gdscript.svg +0 -0
  578. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gduid.svg +0 -0
  579. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gemini.svg +0 -0
  580. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_genstat.svg +0 -0
  581. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_geojson.svg +0 -0
  582. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gimp.svg +0 -0
  583. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_git.svg +0 -0
  584. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_git2.svg +0 -0
  585. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gitlab.svg +0 -0
  586. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gitpod.svg +0 -0
  587. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gleam.svg +0 -0
  588. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gleamconfig.svg +0 -0
  589. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glide.svg +0 -0
  590. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glimmer.svg +0 -0
  591. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glitter.svg +0 -0
  592. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glsl.svg +0 -0
  593. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gltf.svg +0 -0
  594. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glyphs.svg +0 -0
  595. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gnu.svg +0 -0
  596. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gnuplot.svg +0 -0
  597. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go.svg +0 -0
  598. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_aqua.svg +0 -0
  599. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_black.svg +0 -0
  600. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_fuchsia.svg +0 -0
  601. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_gopher.svg +0 -0
  602. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_lightblue.svg +0 -0
  603. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_package.svg +0 -0
  604. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_white.svg +0 -0
  605. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_work.svg +0 -0
  606. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_yellow.svg +0 -0
  607. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_goctl.svg +0 -0
  608. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_godot.svg +0 -0
  609. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gpg.svg +0 -0
  610. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gradle.svg +0 -0
  611. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gradle2.svg +0 -0
  612. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grain.svg +0 -0
  613. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphql.svg +0 -0
  614. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphql_config.svg +0 -0
  615. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphviz.svg +0 -0
  616. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_greenkeeper.svg +0 -0
  617. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gridsome.svg +0 -0
  618. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grit.svg +0 -0
  619. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_groovy.svg +0 -0
  620. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_groovy2.svg +0 -0
  621. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grunt.svg +0 -0
  622. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gulp.svg +0 -0
  623. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haml.svg +0 -0
  624. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_handlebars.svg +0 -0
  625. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_handlebars2.svg +0 -0
  626. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_harbour.svg +0 -0
  627. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hardhat.svg +0 -0
  628. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hashicorp.svg +0 -0
  629. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haskell.svg +0 -0
  630. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haskell2.svg +0 -0
  631. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxe.svg +0 -0
  632. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxecheckstyle.svg +0 -0
  633. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxedevelop.svg +0 -0
  634. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_helix.svg +0 -0
  635. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_helm.svg +0 -0
  636. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_histoire.svg +0 -0
  637. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hjson.svg +0 -0
  638. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hlsl.svg +0 -0
  639. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_homeassistant.svg +0 -0
  640. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_horusec.svg +0 -0
  641. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_host.svg +0 -0
  642. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_html.svg +0 -0
  643. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_htmlhint.svg +0 -0
  644. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_htmlvalidate.svg +0 -0
  645. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_http.svg +0 -0
  646. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hugo.svg +0 -0
  647. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_humanstxt.svg +0 -0
  648. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hunspell.svg +0 -0
  649. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_husky.svg +0 -0
  650. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hy.svg +0 -0
  651. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hygen.svg +0 -0
  652. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hypr.svg +0 -0
  653. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_icl.svg +0 -0
  654. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idris.svg +0 -0
  655. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idrisbin.svg +0 -0
  656. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idrispkg.svg +0 -0
  657. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_image.svg +0 -0
  658. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_imba.svg +0 -0
  659. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_inc.svg +0 -0
  660. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_infopath.svg +0 -0
  661. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_informix.svg +0 -0
  662. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ini.svg +0 -0
  663. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ink.svg +0 -0
  664. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_innosetup.svg +0 -0
  665. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_io.svg +0 -0
  666. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_iodine.svg +0 -0
  667. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ionic.svg +0 -0
  668. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jake.svg +0 -0
  669. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_janet.svg +0 -0
  670. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jar.svg +0 -0
  671. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jasmine.svg +0 -0
  672. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_java.svg +0 -0
  673. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jbuilder.svg +0 -0
  674. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jekyll.svg +0 -0
  675. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jenkins.svg +0 -0
  676. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jest.svg +0 -0
  677. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jest_snapshot.svg +0 -0
  678. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jetbrains.svg +0 -0
  679. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jinja.svg +0 -0
  680. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jpm.svg +0 -0
  681. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_js.svg +0 -0
  682. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_js_official.svg +0 -0
  683. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsbeautify.svg +0 -0
  684. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsconfig.svg +0 -0
  685. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jscpd.svg +0 -0
  686. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jshint.svg +0 -0
  687. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsmap.svg +0 -0
  688. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json.svg +0 -0
  689. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json2.svg +0 -0
  690. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json5.svg +0 -0
  691. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json_official.svg +0 -0
  692. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json_schema.svg +0 -0
  693. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsonld.svg +0 -0
  694. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsonnet.svg +0 -0
  695. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsp.svg +0 -0
  696. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsr.svg +0 -0
  697. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jss.svg +0 -0
  698. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_juice.svg +0 -0
  699. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_julia.svg +0 -0
  700. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_julia2.svg +0 -0
  701. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jupyter.svg +0 -0
  702. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_just.svg +0 -0
  703. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_k.svg +0 -0
  704. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_karma.svg +0 -0
  705. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_key.svg +0 -0
  706. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kitchenci.svg +0 -0
  707. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kite.svg +0 -0
  708. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kivy.svg +0 -0
  709. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_knip.svg +0 -0
  710. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kos.svg +0 -0
  711. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kotlin.svg +0 -0
  712. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kusto.svg +0 -0
  713. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_language_configuration.svg +0 -0
  714. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lark.svg +0 -0
  715. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_latino.svg +0 -0
  716. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_layout.svg +0 -0
  717. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lean.svg +0 -0
  718. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_leanconfig.svg +0 -0
  719. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lefthook.svg +0 -0
  720. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lerna.svg +0 -0
  721. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_less.svg +0 -0
  722. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lex.svg +0 -0
  723. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_liara.svg +0 -0
  724. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_base.svg +0 -0
  725. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_calc.svg +0 -0
  726. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_draw.svg +0 -0
  727. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_impress.svg +0 -0
  728. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_math.svg +0 -0
  729. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_writer.svg +0 -0
  730. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_license.svg +0 -0
  731. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_licensebat.svg +0 -0
  732. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_actionscript2.svg +0 -0
  733. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_ada.svg +0 -0
  734. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_agda.svg +0 -0
  735. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_agents.svg +0 -0
  736. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_apl.svg +0 -0
  737. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_astro.svg +0 -0
  738. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_astroconfig.svg +0 -0
  739. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_babel.svg +0 -0
  740. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_babel2.svg +0 -0
  741. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cabal.svg +0 -0
  742. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_circleci.svg +0 -0
  743. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cloudfoundry.svg +0 -0
  744. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codacy.svg +0 -0
  745. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codeclimate.svg +0 -0
  746. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codeowners.svg +0 -0
  747. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_config.svg +0 -0
  748. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_copilot.svg +0 -0
  749. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_crystal.svg +0 -0
  750. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cypress.svg +0 -0
  751. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cypress_spec.svg +0 -0
  752. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_db.svg +0 -0
  753. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_deno.svg +0 -0
  754. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_dhall.svg +0 -0
  755. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_docpad.svg +0 -0
  756. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_drone.svg +0 -0
  757. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eas-metadata.svg +0 -0
  758. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy.svg +0 -0
  759. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy2.svg +0 -0
  760. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +0 -0
  761. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_expo.svg +0 -0
  762. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_firebasehosting.svg +0 -0
  763. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_fla.svg +0 -0
  764. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_font.svg +0 -0
  765. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_gamemaker2.svg +0 -0
  766. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_gradle.svg +0 -0
  767. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_hashicorp.svg +0 -0
  768. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_hjson.svg +0 -0
  769. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_ini.svg +0 -0
  770. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_io.svg +0 -0
  771. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_js.svg +0 -0
  772. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsconfig.svg +0 -0
  773. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsmap.svg +0 -0
  774. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json.svg +0 -0
  775. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json5.svg +0 -0
  776. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json_schema.svg +0 -0
  777. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsonld.svg +0 -0
  778. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_kite.svg +0 -0
  779. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lark.svg +0 -0
  780. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lean.svg +0 -0
  781. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_leanconfig.svg +0 -0
  782. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lerna.svg +0 -0
  783. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +0 -0
  784. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_markuplint.svg +0 -0
  785. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mcp.svg +0 -0
  786. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mdx-components.svg +0 -0
  787. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mdx.svg +0 -0
  788. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mlang.svg +0 -0
  789. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mustache.svg +0 -0
  790. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mypy.svg +0 -0
  791. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_neo4j.svg +0 -0
  792. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_netlify.svg +0 -0
  793. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_next.svg +0 -0
  794. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_nim.svg +0 -0
  795. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_nx.svg +0 -0
  796. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_objidconfig.svg +0 -0
  797. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_openHAB.svg +0 -0
  798. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_packship.svg +0 -0
  799. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_pcl.svg +0 -0
  800. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_pnpm.svg +0 -0
  801. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_prettier.svg +0 -0
  802. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_prisma.svg +0 -0
  803. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_purescript.svg +0 -0
  804. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_quasar.svg +0 -0
  805. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_raku.svg +0 -0
  806. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_razzle.svg +0 -0
  807. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_reactrouter.svg +0 -0
  808. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rehype.svg +0 -0
  809. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_remark.svg +0 -0
  810. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_replit.svg +0 -0
  811. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_retext.svg +0 -0
  812. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rome.svg +0 -0
  813. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rubocop.svg +0 -0
  814. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rust.svg +0 -0
  815. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rust_toolchain.svg +0 -0
  816. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_safetensors.svg +0 -0
  817. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_shadcn.svg +0 -0
  818. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_shaderlab.svg +0 -0
  819. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_solidity.svg +0 -0
  820. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_spin.svg +0 -0
  821. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_stylelint.svg +0 -0
  822. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_stylus.svg +0 -0
  823. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_symfony.svg +0 -0
  824. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_systemd.svg +0 -0
  825. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_systemverilog.svg +0 -0
  826. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_testcafe.svg +0 -0
  827. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_testjs.svg +0 -0
  828. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tex.svg +0 -0
  829. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tm.svg +0 -0
  830. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tmux.svg +0 -0
  831. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_todo.svg +0 -0
  832. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toit.svg +0 -0
  833. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toml.svg +0 -0
  834. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toon.svg +0 -0
  835. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tree.svg +0 -0
  836. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_turbo.svg +0 -0
  837. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_unibeautify.svg +0 -0
  838. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vash.svg +0 -0
  839. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vercel.svg +0 -0
  840. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vsix.svg +0 -0
  841. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vsixmanifest.svg +0 -0
  842. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_xfl.svg +0 -0
  843. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_xorg.svg +0 -0
  844. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_yaml.svg +0 -0
  845. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_yaml_official.svg +0 -0
  846. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_zeit.svg +0 -0
  847. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lighthouse.svg +0 -0
  848. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lilypond.svg +0 -0
  849. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lime.svg +0 -0
  850. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lintstagedrc.svg +0 -0
  851. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_liquid.svg +0 -0
  852. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lisp.svg +0 -0
  853. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_livescript.svg +0 -0
  854. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lnk.svg +0 -0
  855. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_locale.svg +0 -0
  856. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_log.svg +0 -0
  857. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lolcode.svg +0 -0
  858. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lsl.svg +0 -0
  859. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lua.svg +0 -0
  860. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_luau.svg +0 -0
  861. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lync.svg +0 -0
  862. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +0 -0
  863. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_makefile.svg +0 -0
  864. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest.svg +0 -0
  865. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest_bak.svg +0 -0
  866. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest_skip.svg +0 -0
  867. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_map.svg +0 -0
  868. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mariadb.svg +0 -0
  869. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdown.svg +0 -0
  870. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdownlint.svg +0 -0
  871. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdownlint_ignore.svg +0 -0
  872. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_marko.svg +0 -0
  873. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markojs.svg +0 -0
  874. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markuplint.svg +0 -0
  875. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_master-co.svg +0 -0
  876. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_matlab.svg +0 -0
  877. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maven.svg +0 -0
  878. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maxscript.svg +0 -0
  879. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maya.svg +0 -0
  880. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mcp.svg +0 -0
  881. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdx-components.svg +0 -0
  882. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdx.svg +0 -0
  883. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdxlint.svg +0 -0
  884. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mediawiki.svg +0 -0
  885. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mercurial.svg +0 -0
  886. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mermaid.svg +0 -0
  887. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_meson.svg +0 -0
  888. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_metal.svg +0 -0
  889. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_meteor.svg +0 -0
  890. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_minecraft.svg +0 -0
  891. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mivascript.svg +0 -0
  892. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mjml.svg +0 -0
  893. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mlang.svg +0 -0
  894. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mocha.svg +0 -0
  895. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_modernizr.svg +0 -0
  896. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mojo.svg +0 -0
  897. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mojolicious.svg +0 -0
  898. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_moleculer.svg +0 -0
  899. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mondoo.svg +0 -0
  900. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mongo.svg +0 -0
  901. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_monotone.svg +0 -0
  902. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_motif.svg +0 -0
  903. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mson.svg +0 -0
  904. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mustache.svg +0 -0
  905. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvt.svg +0 -0
  906. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvtcss.svg +0 -0
  907. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvtjs.svg +0 -0
  908. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mypy.svg +0 -0
  909. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mysql.svg +0 -0
  910. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nanostaged.svg +0 -0
  911. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ndst.svg +0 -0
  912. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nearly.svg +0 -0
  913. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_neo4j.svg +0 -0
  914. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_js.svg +0 -0
  915. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_ts.svg +0 -0
  916. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_js.svg +0 -0
  917. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_ts.svg +0 -0
  918. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_js.svg +0 -0
  919. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_ts.svg +0 -0
  920. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_js.svg +0 -0
  921. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_ts.svg +0 -0
  922. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_js.svg +0 -0
  923. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_ts.svg +0 -0
  924. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_js.svg +0 -0
  925. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_ts.svg +0 -0
  926. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_js.svg +0 -0
  927. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_ts.svg +0 -0
  928. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_js.svg +0 -0
  929. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_ts.svg +0 -0
  930. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_module_js.svg +0 -0
  931. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_module_ts.svg +0 -0
  932. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_js.svg +0 -0
  933. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_ts.svg +0 -0
  934. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_service_js.svg +0 -0
  935. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_service_ts.svg +0 -0
  936. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nestjs.svg +0 -0
  937. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_netlify.svg +0 -0
  938. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_next.svg +0 -0
  939. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nextflow.svg +0 -0
  940. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_css.svg +0 -0
  941. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_dart.svg +0 -0
  942. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_html.svg +0 -0
  943. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js.svg +0 -0
  944. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js2.svg +0 -0
  945. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_less.svg +0 -0
  946. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_sass.svg +0 -0
  947. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_scss.svg +0 -0
  948. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts.svg +0 -0
  949. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts2.svg +0 -0
  950. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_js.svg +0 -0
  951. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_ts.svg +0 -0
  952. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_dart.svg +0 -0
  953. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js.svg +0 -0
  954. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js2.svg +0 -0
  955. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts.svg +0 -0
  956. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts2.svg +0 -0
  957. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_dart.svg +0 -0
  958. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_js.svg +0 -0
  959. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_ts.svg +0 -0
  960. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_dart.svg +0 -0
  961. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_js.svg +0 -0
  962. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_ts.svg +0 -0
  963. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_dart.svg +0 -0
  964. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js.svg +0 -0
  965. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js2.svg +0 -0
  966. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts.svg +0 -0
  967. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts2.svg +0 -0
  968. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_dart.svg +0 -0
  969. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js.svg +0 -0
  970. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js2.svg +0 -0
  971. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts.svg +0 -0
  972. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts2.svg +0 -0
  973. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_dart.svg +0 -0
  974. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js.svg +0 -0
  975. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js2.svg +0 -0
  976. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts.svg +0 -0
  977. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts2.svg +0 -0
  978. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_dart.svg +0 -0
  979. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js.svg +0 -0
  980. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js2.svg +0 -0
  981. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts.svg +0 -0
  982. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts2.svg +0 -0
  983. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_dart.svg +0 -0
  984. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js.svg +0 -0
  985. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js2.svg +0 -0
  986. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts.svg +0 -0
  987. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts2.svg +0 -0
  988. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_tailwind.svg +0 -0
  989. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nginx.svg +0 -0
  990. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nim.svg +0 -0
  991. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nimble.svg +0 -0
  992. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ninja.svg +0 -0
  993. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nix.svg +0 -0
  994. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_njsproj.svg +0 -0
  995. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_noc.svg +0 -0
  996. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_node.svg +0 -0
  997. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_node2.svg +0 -0
  998. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nodemon.svg +0 -0
  999. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_npm.svg +0 -0
  1000. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_npmpackagejsonlint.svg +0 -0
  1001. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsi.svg +0 -0
  1002. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsri-integrity.svg +0 -0
  1003. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsri.svg +0 -0
  1004. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nuget.svg +0 -0
  1005. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_numpy.svg +0 -0
  1006. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nunjucks.svg +0 -0
  1007. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nushell.svg +0 -0
  1008. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nuxt.svg +0 -0
  1009. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nx.svg +0 -0
  1010. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nyc.svg +0 -0
  1011. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objectivec.svg +0 -0
  1012. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objectivecpp.svg +0 -0
  1013. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objidconfig.svg +0 -0
  1014. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ocaml.svg +0 -0
  1015. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ocaml_intf.svg +0 -0
  1016. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ogone.svg +0 -0
  1017. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_onenote.svg +0 -0
  1018. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opam.svg +0 -0
  1019. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_openHAB.svg +0 -0
  1020. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opencl.svg +0 -0
  1021. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_openscad.svg +0 -0
  1022. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opentofu.svg +0 -0
  1023. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_org.svg +0 -0
  1024. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_outlook.svg +0 -0
  1025. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ovpn.svg +0 -0
  1026. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_oxc.svg +0 -0
  1027. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_oxlint.svg +0 -0
  1028. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_package.svg +0 -0
  1029. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_packship.svg +0 -0
  1030. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_paket.svg +0 -0
  1031. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pandacss.svg +0 -0
  1032. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_patch.svg +0 -0
  1033. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pcl.svg +0 -0
  1034. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl.svg +0 -0
  1035. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl_happenings.svg +0 -0
  1036. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl_plan.svg +0 -0
  1037. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdf.svg +0 -0
  1038. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdf2.svg +0 -0
  1039. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdm.svg +0 -0
  1040. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_peeky.svg +0 -0
  1041. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl.svg +0 -0
  1042. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl2.svg +0 -0
  1043. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl6.svg +0 -0
  1044. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pgsql.svg +0 -0
  1045. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_photoshop.svg +0 -0
  1046. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_photoshop2.svg +0 -0
  1047. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php.svg +0 -0
  1048. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php2.svg +0 -0
  1049. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php3.svg +0 -0
  1050. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpcsfixer.svg +0 -0
  1051. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpstan.svg +0 -0
  1052. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpunit.svg +0 -0
  1053. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phraseapp.svg +0 -0
  1054. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pine.svg +0 -0
  1055. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pip.svg +0 -0
  1056. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pipeline.svg +0 -0
  1057. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plantuml.svg +0 -0
  1058. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_platformio.svg +0 -0
  1059. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_playwright.svg +0 -0
  1060. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql.svg +0 -0
  1061. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package.svg +0 -0
  1062. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_body.svg +0 -0
  1063. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_header.svg +0 -0
  1064. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_spec.svg +0 -0
  1065. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pm2.svg +0 -0
  1066. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pnpm.svg +0 -0
  1067. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_poedit.svg +0 -0
  1068. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_poetry.svg +0 -0
  1069. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_polyglot.svg +0 -0
  1070. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_polymer.svg +0 -0
  1071. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pony.svg +0 -0
  1072. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postcss.svg +0 -0
  1073. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postcssconfig.svg +0 -0
  1074. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postman.svg +0 -0
  1075. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powerpoint.svg +0 -0
  1076. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powerpoint2.svg +0 -0
  1077. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell.svg +0 -0
  1078. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell2.svg +0 -0
  1079. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_format.svg +0 -0
  1080. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd.svg +0 -0
  1081. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd2.svg +0 -0
  1082. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm.svg +0 -0
  1083. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm2.svg +0 -0
  1084. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_types.svg +0 -0
  1085. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_preact.svg +0 -0
  1086. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_precommit.svg +0 -0
  1087. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prettier.svg +0 -0
  1088. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prisma.svg +0 -0
  1089. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prismaconfig.svg +0 -0
  1090. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_processinglang.svg +0 -0
  1091. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_procfile.svg +0 -0
  1092. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_progress.svg +0 -0
  1093. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prolog.svg +0 -0
  1094. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prometheus.svg +0 -0
  1095. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_protobuf.svg +0 -0
  1096. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_protractor.svg +0 -0
  1097. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_publiccode.svg +0 -0
  1098. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_publisher.svg +0 -0
  1099. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pug.svg +0 -0
  1100. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pulumi.svg +0 -0
  1101. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_puppet.svg +0 -0
  1102. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_purescript.svg +0 -0
  1103. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_purgecss.svg +0 -0
  1104. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyenv.svg +0 -0
  1105. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyret.svg +0 -0
  1106. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyscript.svg +0 -0
  1107. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pytest.svg +0 -0
  1108. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_python.svg +0 -0
  1109. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +0 -0
  1110. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pytyped.svg +0 -0
  1111. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyup.svg +0 -0
  1112. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_q.svg +0 -0
  1113. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qbs.svg +0 -0
  1114. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qlikview.svg +0 -0
  1115. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qml.svg +0 -0
  1116. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qmldir.svg +0 -0
  1117. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qsharp.svg +0 -0
  1118. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_quasar.svg +0 -0
  1119. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_r.svg +0 -0
  1120. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ra_syntax_tree.svg +0 -0
  1121. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_racket.svg +0 -0
  1122. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rails.svg +0 -0
  1123. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rake.svg +0 -0
  1124. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_raku.svg +0 -0
  1125. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_raml.svg +0 -0
  1126. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_razor.svg +0 -0
  1127. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_razzle.svg +0 -0
  1128. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactjs.svg +0 -0
  1129. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactrouter.svg +0 -0
  1130. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reacttemplate.svg +0 -0
  1131. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactts.svg +0 -0
  1132. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reason.svg +0 -0
  1133. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_red.svg +0 -0
  1134. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_registry.svg +0 -0
  1135. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rego.svg +0 -0
  1136. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rehype.svg +0 -0
  1137. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_remark.svg +0 -0
  1138. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_renovate.svg +0 -0
  1139. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_replit.svg +0 -0
  1140. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rescript.svg +0 -0
  1141. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rest.svg +0 -0
  1142. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_retext.svg +0 -0
  1143. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rexx.svg +0 -0
  1144. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_riot.svg +0 -0
  1145. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ripple.svg +0 -0
  1146. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rmd.svg +0 -0
  1147. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rnc.svg +0 -0
  1148. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_robotframework.svg +0 -0
  1149. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_robots.svg +0 -0
  1150. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rolldown.svg +0 -0
  1151. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rollup.svg +0 -0
  1152. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rome.svg +0 -0
  1153. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ron.svg +0 -0
  1154. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rproj.svg +0 -0
  1155. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rspec.svg +0 -0
  1156. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rss.svg +0 -0
  1157. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rubocop.svg +0 -0
  1158. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ruby.svg +0 -0
  1159. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rust.svg +0 -0
  1160. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rust_toolchain.svg +0 -0
  1161. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_s-lang.svg +0 -0
  1162. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_safetensors.svg +0 -0
  1163. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sails.svg +0 -0
  1164. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_saltstack.svg +0 -0
  1165. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_san.svg +0 -0
  1166. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sapphire_framework_cli.svg +0 -0
  1167. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sas.svg +0 -0
  1168. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sass.svg +0 -0
  1169. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sbt.svg +0 -0
  1170. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scala.svg +0 -0
  1171. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scilab.svg +0 -0
  1172. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_script.svg +0 -0
  1173. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scss.svg +0 -0
  1174. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scss2.svg +0 -0
  1175. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sdlang.svg +0 -0
  1176. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_search_result.svg +0 -0
  1177. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_seedkit.svg +0 -0
  1178. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sentry.svg +0 -0
  1179. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sequelize.svg +0 -0
  1180. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_serverless.svg +0 -0
  1181. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shadcn.svg +0 -0
  1182. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shaderlab.svg +0 -0
  1183. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shell.svg +0 -0
  1184. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shellcheck.svg +0 -0
  1185. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shuttle.svg +0 -0
  1186. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_silverstripe.svg +0 -0
  1187. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sino.svg +0 -0
  1188. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sitemap.svg +0 -0
  1189. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_siyuan.svg +0 -0
  1190. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sketch.svg +0 -0
  1191. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_skipper.svg +0 -0
  1192. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slang.svg +0 -0
  1193. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slashup.svg +0 -0
  1194. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slice.svg +0 -0
  1195. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slim.svg +0 -0
  1196. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slint.svg +0 -0
  1197. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sln.svg +0 -0
  1198. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sln2.svg +0 -0
  1199. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_smarty.svg +0 -0
  1200. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_smithery.svg +0 -0
  1201. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snakemake.svg +0 -0
  1202. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snapcraft.svg +0 -0
  1203. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snaplet.svg +0 -0
  1204. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snort.svg +0 -0
  1205. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snyk.svg +0 -0
  1206. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_solidarity.svg +0 -0
  1207. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_solidity.svg +0 -0
  1208. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_source.svg +0 -0
  1209. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_spacengine.svg +0 -0
  1210. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sparql.svg +0 -0
  1211. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_spin.svg +0 -0
  1212. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sqf.svg +0 -0
  1213. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sql.svg +0 -0
  1214. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sqlite.svg +0 -0
  1215. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_squirrel.svg +0 -0
  1216. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sss.svg +0 -0
  1217. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sst.svg +0 -0
  1218. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stackblitz.svg +0 -0
  1219. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stan.svg +0 -0
  1220. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stata.svg +0 -0
  1221. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stencil.svg +0 -0
  1222. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_storyboard.svg +0 -0
  1223. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_storybook.svg +0 -0
  1224. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stryker.svg +0 -0
  1225. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylable.svg +0 -0
  1226. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_style.svg +0 -0
  1227. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_styled.svg +0 -0
  1228. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylelint.svg +0 -0
  1229. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylish_haskell.svg +0 -0
  1230. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylus.svg +0 -0
  1231. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sublime.svg +0 -0
  1232. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_subversion.svg +0 -0
  1233. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svelte.svg +0 -0
  1234. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svelteconfig.svg +0 -0
  1235. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svg.svg +0 -0
  1236. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svgo.svg +0 -0
  1237. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swagger.svg +0 -0
  1238. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swc.svg +0 -0
  1239. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swift.svg +0 -0
  1240. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swig.svg +0 -0
  1241. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_symfony.svg +0 -0
  1242. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_syncpack.svg +0 -0
  1243. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_systemd.svg +0 -0
  1244. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_systemverilog.svg +0 -0
  1245. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_t4tt.svg +0 -0
  1246. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tailwind.svg +0 -0
  1247. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tamagui.svg +0 -0
  1248. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_taplo.svg +0 -0
  1249. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_taskfile.svg +0 -0
  1250. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tauri.svg +0 -0
  1251. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tcl.svg +0 -0
  1252. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_teal.svg +0 -0
  1253. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_templ.svg +0 -0
  1254. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tera.svg +0 -0
  1255. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_terraform.svg +0 -0
  1256. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_test.svg +0 -0
  1257. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testcafe.svg +0 -0
  1258. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testjs.svg +0 -0
  1259. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testplane.svg +0 -0
  1260. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testts.svg +0 -0
  1261. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tex.svg +0 -0
  1262. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_text.svg +0 -0
  1263. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_textile.svg +0 -0
  1264. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tfs.svg +0 -0
  1265. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tiltfile.svg +0 -0
  1266. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tm.svg +0 -0
  1267. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tmux.svg +0 -0
  1268. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_todo.svg +0 -0
  1269. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toit.svg +0 -0
  1270. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toml.svg +0 -0
  1271. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toon.svg +0 -0
  1272. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tox.svg +0 -0
  1273. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_travis.svg +0 -0
  1274. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tree.svg +0 -0
  1275. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tres.svg +0 -0
  1276. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_truffle.svg +0 -0
  1277. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_trunk.svg +0 -0
  1278. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsbuildinfo.svg +0 -0
  1279. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tscn.svg +0 -0
  1280. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsconfig.svg +0 -0
  1281. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsconfig_official.svg +0 -0
  1282. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsdoc.svg +0 -0
  1283. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsdown.svg +0 -0
  1284. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tslint.svg +0 -0
  1285. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tt.svg +0 -0
  1286. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ttcn.svg +0 -0
  1287. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tuc.svg +0 -0
  1288. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_turbo.svg +0 -0
  1289. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_twig.svg +0 -0
  1290. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typedoc.svg +0 -0
  1291. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescript.svg +0 -0
  1292. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescript_official.svg +0 -0
  1293. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef.svg +0 -0
  1294. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef_official.svg +0 -0
  1295. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typo3.svg +0 -0
  1296. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_uiua.svg +0 -0
  1297. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unibeautify.svg +0 -0
  1298. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unison.svg +0 -0
  1299. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unlicense.svg +0 -0
  1300. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unocss.svg +0 -0
  1301. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_uv.svg +0 -0
  1302. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vagrant.svg +0 -0
  1303. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vala.svg +0 -0
  1304. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vanilla_extract.svg +0 -0
  1305. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vapi.svg +0 -0
  1306. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vapor.svg +0 -0
  1307. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vash.svg +0 -0
  1308. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vb.svg +0 -0
  1309. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vba.svg +0 -0
  1310. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vbhtml.svg +0 -0
  1311. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vbproj.svg +0 -0
  1312. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vcxproj.svg +0 -0
  1313. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_velocity.svg +0 -0
  1314. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vento.svg +0 -0
  1315. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vercel.svg +0 -0
  1316. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_verilog.svg +0 -0
  1317. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vhdl.svg +0 -0
  1318. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_video.svg +0 -0
  1319. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_view.svg +0 -0
  1320. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vim.svg +0 -0
  1321. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vite.svg +0 -0
  1322. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vitest.svg +0 -0
  1323. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vlang.svg +0 -0
  1324. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_volt.svg +0 -0
  1325. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vroom.svg +0 -0
  1326. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode-insiders.svg +0 -0
  1327. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode.svg +0 -0
  1328. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode2.svg +0 -0
  1329. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode3.svg +0 -0
  1330. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode_test.svg +0 -0
  1331. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vsix.svg +0 -0
  1332. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vsixmanifest.svg +0 -0
  1333. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vue.svg +0 -0
  1334. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vueconfig.svg +0 -0
  1335. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vvvvvv.svg +0 -0
  1336. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vyper.svg +0 -0
  1337. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wallaby.svg +0 -0
  1338. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wally.svg +0 -0
  1339. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wasm.svg +0 -0
  1340. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_watchmanconfig.svg +0 -0
  1341. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wdio.svg +0 -0
  1342. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_weblate.svg +0 -0
  1343. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_webpack.svg +0 -0
  1344. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wenyan.svg +0 -0
  1345. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wercker.svg +0 -0
  1346. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wgsl.svg +0 -0
  1347. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wikitext.svg +0 -0
  1348. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_windi.svg +0 -0
  1349. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wit.svg +0 -0
  1350. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wolfram.svg +0 -0
  1351. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_word.svg +0 -0
  1352. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_word2.svg +0 -0
  1353. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wpml.svg +0 -0
  1354. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wurst.svg +0 -0
  1355. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxml.svg +0 -0
  1356. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxss.svg +0 -0
  1357. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxt.svg +0 -0
  1358. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xaml.svg +0 -0
  1359. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xcode.svg +0 -0
  1360. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xfl.svg +0 -0
  1361. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xib.svg +0 -0
  1362. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xliff.svg +0 -0
  1363. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xmake.svg +0 -0
  1364. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xml.svg +0 -0
  1365. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xo.svg +0 -0
  1366. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xorg.svg +0 -0
  1367. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xquery.svg +0 -0
  1368. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xsl.svg +0 -0
  1369. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yacc.svg +0 -0
  1370. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yaml.svg +0 -0
  1371. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yaml_official.svg +0 -0
  1372. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yamllint.svg +0 -0
  1373. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yandex.svg +0 -0
  1374. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yang.svg +0 -0
  1375. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yarn.svg +0 -0
  1376. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yeoman.svg +0 -0
  1377. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zeit.svg +0 -0
  1378. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zig.svg +0 -0
  1379. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zip.svg +0 -0
  1380. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zip2.svg +0 -0
  1381. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_android.svg +0 -0
  1382. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_android_opened.svg +0 -0
  1383. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_angular.svg +0 -0
  1384. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_angular_opened.svg +0 -0
  1385. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_apache.svg +0 -0
  1386. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_apache_opened.svg +0 -0
  1387. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_api.svg +0 -0
  1388. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_api_opened.svg +0 -0
  1389. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_app.svg +0 -0
  1390. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_app_opened.svg +0 -0
  1391. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_arangodb.svg +0 -0
  1392. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_arangodb_opened.svg +0 -0
  1393. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_asset.svg +0 -0
  1394. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_asset_opened.svg +0 -0
  1395. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_astro.svg +0 -0
  1396. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_astro_opened.svg +0 -0
  1397. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_audio.svg +0 -0
  1398. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_audio_opened.svg +0 -0
  1399. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aurelia.svg +0 -0
  1400. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aurelia_opened.svg +0 -0
  1401. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aws.svg +0 -0
  1402. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aws_opened.svg +0 -0
  1403. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azure.svg +0 -0
  1404. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azure_opened.svg +0 -0
  1405. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines.svg +0 -0
  1406. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines_opened.svg +0 -0
  1407. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_binary.svg +0 -0
  1408. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_binary_opened.svg +0 -0
  1409. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bloc.svg +0 -0
  1410. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bloc_opened.svg +0 -0
  1411. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_blueprint.svg +0 -0
  1412. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_blueprint_opened.svg +0 -0
  1413. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bot.svg +0 -0
  1414. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bot_opened.svg +0 -0
  1415. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bower.svg +0 -0
  1416. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bower_opened.svg +0 -0
  1417. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_buildkite.svg +0 -0
  1418. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_buildkite_opened.svg +0 -0
  1419. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cake.svg +0 -0
  1420. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cake_opened.svg +0 -0
  1421. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cargo.svg +0 -0
  1422. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cargo_opened.svg +0 -0
  1423. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_certificate.svg +0 -0
  1424. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_certificate_opened.svg +0 -0
  1425. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_changesets.svg +0 -0
  1426. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_changesets_opened.svg +0 -0
  1427. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_chef.svg +0 -0
  1428. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_chef_opened.svg +0 -0
  1429. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_circleci.svg +0 -0
  1430. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_circleci_opened.svg +0 -0
  1431. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_claude.svg +0 -0
  1432. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_claude_opened.svg +0 -0
  1433. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cli.svg +0 -0
  1434. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cli_opened.svg +0 -0
  1435. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_client.svg +0 -0
  1436. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_client_opened.svg +0 -0
  1437. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare.svg +0 -0
  1438. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare_opened.svg +0 -0
  1439. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cmake.svg +0 -0
  1440. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cmake_opened.svg +0 -0
  1441. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_common.svg +0 -0
  1442. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_common_opened.svg +0 -0
  1443. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_component.svg +0 -0
  1444. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_component_opened.svg +0 -0
  1445. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_composer.svg +0 -0
  1446. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_composer_opened.svg +0 -0
  1447. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_config.svg +0 -0
  1448. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_config_opened.svg +0 -0
  1449. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_controller.svg +0 -0
  1450. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_controller_opened.svg +0 -0
  1451. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_coverage.svg +0 -0
  1452. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_coverage_opened.svg +0 -0
  1453. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css.svg +0 -0
  1454. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css2.svg +0 -0
  1455. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css2_opened.svg +0 -0
  1456. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css_opened.svg +0 -0
  1457. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cubit.svg +0 -0
  1458. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cubit_opened.svg +0 -0
  1459. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cursor.svg +0 -0
  1460. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cursor_opened.svg +0 -0
  1461. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cypress.svg +0 -0
  1462. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cypress_opened.svg +0 -0
  1463. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dapr.svg +0 -0
  1464. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dapr_opened.svg +0 -0
  1465. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dart.svg +0 -0
  1466. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dart_opened.svg +0 -0
  1467. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +0 -0
  1468. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +0 -0
  1469. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_db.svg +0 -0
  1470. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_db_opened.svg +0 -0
  1471. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_debian.svg +0 -0
  1472. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_debian_opened.svg +0 -0
  1473. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dependabot.svg +0 -0
  1474. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dependabot_opened.svg +0 -0
  1475. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer.svg +0 -0
  1476. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer_opened.svg +0 -0
  1477. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dist.svg +0 -0
  1478. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dist_opened.svg +0 -0
  1479. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docker.svg +0 -0
  1480. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docker_opened.svg +0 -0
  1481. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docs.svg +0 -0
  1482. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docs_opened.svg +0 -0
  1483. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_e2e.svg +0 -0
  1484. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_e2e_opened.svg +0 -0
  1485. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk.svg +0 -0
  1486. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1487. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_electron.svg +0 -0
  1488. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_electron_opened.svg +0 -0
  1489. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_expo.svg +0 -0
  1490. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_expo_opened.svg +0 -0
  1491. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_favicon.svg +0 -0
  1492. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_favicon_opened.svg +0 -0
  1493. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flow.svg +0 -0
  1494. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flow_opened.svg +0 -0
  1495. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flutter.svg +0 -0
  1496. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flutter_opened.svg +0 -0
  1497. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_fonts.svg +0 -0
  1498. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_fonts_opened.svg +0 -0
  1499. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce.svg +0 -0
  1500. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce_opened.svg +0 -0
  1501. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gcp.svg +0 -0
  1502. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gcp_opened.svg +0 -0
  1503. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_git.svg +0 -0
  1504. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_git_opened.svg +0 -0
  1505. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_github.svg +0 -0
  1506. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_github_opened.svg +0 -0
  1507. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gitlab.svg +0 -0
  1508. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gitlab_opened.svg +0 -0
  1509. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_godot.svg +0 -0
  1510. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_godot_opened.svg +0 -0
  1511. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gradle.svg +0 -0
  1512. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gradle_opened.svg +0 -0
  1513. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_graphql.svg +0 -0
  1514. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_graphql_opened.svg +0 -0
  1515. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_grunt.svg +0 -0
  1516. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_grunt_opened.svg +0 -0
  1517. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gulp.svg +0 -0
  1518. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gulp_opened.svg +0 -0
  1519. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_haxelib.svg +0 -0
  1520. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_haxelib_opened.svg +0 -0
  1521. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_helper.svg +0 -0
  1522. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_helper_opened.svg +0 -0
  1523. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_histoire.svg +0 -0
  1524. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_histoire_opened.svg +0 -0
  1525. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_hook.svg +0 -0
  1526. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_hook_opened.svg +0 -0
  1527. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_husky.svg +0 -0
  1528. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_husky_opened.svg +0 -0
  1529. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_idea.svg +0 -0
  1530. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_idea_opened.svg +0 -0
  1531. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_images.svg +0 -0
  1532. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_images_opened.svg +0 -0
  1533. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_include.svg +0 -0
  1534. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_include_opened.svg +0 -0
  1535. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_interfaces.svg +0 -0
  1536. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_interfaces_opened.svg +0 -0
  1537. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ios.svg +0 -0
  1538. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ios_opened.svg +0 -0
  1539. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_js.svg +0 -0
  1540. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_js_opened.svg +0 -0
  1541. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json.svg +0 -0
  1542. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_official.svg +0 -0
  1543. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_official_opened.svg +0 -0
  1544. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_opened.svg +0 -0
  1545. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_junie.svg +0 -0
  1546. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_junie_opened.svg +0 -0
  1547. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kotlin.svg +0 -0
  1548. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kotlin_opened.svg +0 -0
  1549. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes.svg +0 -0
  1550. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes_opened.svg +0 -0
  1551. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_less.svg +0 -0
  1552. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_less_opened.svg +0 -0
  1553. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_library.svg +0 -0
  1554. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_library_opened.svg +0 -0
  1555. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor.svg +0 -0
  1556. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor_opened.svg +0 -0
  1557. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress.svg +0 -0
  1558. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress_opened.svg +0 -0
  1559. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_electron.svg +0 -0
  1560. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_electron_opened.svg +0 -0
  1561. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_expo.svg +0 -0
  1562. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_expo_opened.svg +0 -0
  1563. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts.svg +0 -0
  1564. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts_opened.svg +0 -0
  1565. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle.svg +0 -0
  1566. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle_opened.svg +0 -0
  1567. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor.svg +0 -0
  1568. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor_opened.svg +0 -0
  1569. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy.svg +0 -0
  1570. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy_opened.svg +0 -0
  1571. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql.svg +0 -0
  1572. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql_opened.svg +0 -0
  1573. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_node.svg +0 -0
  1574. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_node_opened.svg +0 -0
  1575. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_redux.svg +0 -0
  1576. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_redux_opened.svg +0 -0
  1577. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_sass.svg +0 -0
  1578. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_sass_opened.svg +0 -0
  1579. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_zed.svg +0 -0
  1580. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_zed_opened.svg +0 -0
  1581. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_linux.svg +0 -0
  1582. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_linux_opened.svg +0 -0
  1583. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_locale.svg +0 -0
  1584. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_locale_opened.svg +0 -0
  1585. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_log.svg +0 -0
  1586. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_log_opened.svg +0 -0
  1587. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_macos.svg +0 -0
  1588. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_macos_opened.svg +0 -0
  1589. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mariadb.svg +0 -0
  1590. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mariadb_opened.svg +0 -0
  1591. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_maven.svg +0 -0
  1592. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_maven_opened.svg +0 -0
  1593. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki.svg +0 -0
  1594. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki_opened.svg +0 -0
  1595. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_memcached.svg +0 -0
  1596. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_memcached_opened.svg +0 -0
  1597. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_meteor.svg +0 -0
  1598. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_meteor_opened.svg +0 -0
  1599. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_middleware.svg +0 -0
  1600. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_middleware_opened.svg +0 -0
  1601. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minecraft.svg +0 -0
  1602. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minecraft_opened.svg +0 -0
  1603. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minikube.svg +0 -0
  1604. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minikube_opened.svg +0 -0
  1605. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mjml.svg +0 -0
  1606. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mjml_opened.svg +0 -0
  1607. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mock.svg +0 -0
  1608. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mock_opened.svg +0 -0
  1609. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_model.svg +0 -0
  1610. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_model_opened.svg +0 -0
  1611. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_module.svg +0 -0
  1612. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_module_opened.svg +0 -0
  1613. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mojo.svg +0 -0
  1614. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mojo_opened.svg +0 -0
  1615. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mongodb.svg +0 -0
  1616. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mongodb_opened.svg +0 -0
  1617. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mypy.svg +0 -0
  1618. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mypy_opened.svg +0 -0
  1619. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mysql.svg +0 -0
  1620. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mysql_opened.svg +0 -0
  1621. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_netlify.svg +0 -0
  1622. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_netlify_opened.svg +0 -0
  1623. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_next.svg +0 -0
  1624. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_next_opened.svg +0 -0
  1625. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nginx.svg +0 -0
  1626. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nginx_opened.svg +0 -0
  1627. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nix.svg +0 -0
  1628. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nix_opened.svg +0 -0
  1629. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_node.svg +0 -0
  1630. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_node_opened.svg +0 -0
  1631. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notebooks.svg +0 -0
  1632. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notebooks_opened.svg +0 -0
  1633. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notification.svg +0 -0
  1634. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notification_opened.svg +0 -0
  1635. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuget.svg +0 -0
  1636. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuget_opened.svg +0 -0
  1637. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuxt.svg +0 -0
  1638. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuxt_opened.svg +0 -0
  1639. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_package.svg +0 -0
  1640. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_package_opened.svg +0 -0
  1641. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_paket.svg +0 -0
  1642. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_paket_opened.svg +0 -0
  1643. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_php.svg +0 -0
  1644. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_php_opened.svg +0 -0
  1645. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_platformio.svg +0 -0
  1646. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_platformio_opened.svg +0 -0
  1647. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_plugin.svg +0 -0
  1648. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_plugin_opened.svg +0 -0
  1649. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_prisma.svg +0 -0
  1650. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_prisma_opened.svg +0 -0
  1651. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_private.svg +0 -0
  1652. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_private_opened.svg +0 -0
  1653. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_public.svg +0 -0
  1654. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_public_opened.svg +0 -0
  1655. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_pytest.svg +0 -0
  1656. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_pytest_opened.svg +0 -0
  1657. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_python.svg +0 -0
  1658. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_python_opened.svg +0 -0
  1659. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ravendb.svg +0 -0
  1660. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ravendb_opened.svg +0 -0
  1661. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redis.svg +0 -0
  1662. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redis_opened.svg +0 -0
  1663. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redux.svg +0 -0
  1664. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redux_opened.svg +0 -0
  1665. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_route.svg +0 -0
  1666. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_route_opened.svg +0 -0
  1667. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sass.svg +0 -0
  1668. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sass_opened.svg +0 -0
  1669. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_script.svg +0 -0
  1670. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_script_opened.svg +0 -0
  1671. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_seedkit.svg +0 -0
  1672. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_seedkit_opened.svg +0 -0
  1673. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_server.svg +0 -0
  1674. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_server_opened.svg +0 -0
  1675. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_services.svg +0 -0
  1676. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_services_opened.svg +0 -0
  1677. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_shared.svg +0 -0
  1678. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_shared_opened.svg +0 -0
  1679. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_snaplet.svg +0 -0
  1680. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_snaplet_opened.svg +0 -0
  1681. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_spin.svg +0 -0
  1682. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_spin_opened.svg +0 -0
  1683. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_src.svg +0 -0
  1684. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_src_opened.svg +0 -0
  1685. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sso.svg +0 -0
  1686. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sso_opened.svg +0 -0
  1687. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_story.svg +0 -0
  1688. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_story_opened.svg +0 -0
  1689. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_style.svg +0 -0
  1690. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_style_opened.svg +0 -0
  1691. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_supabase.svg +0 -0
  1692. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_supabase_opened.svg +0 -0
  1693. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_svelte.svg +0 -0
  1694. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_svelte_opened.svg +0 -0
  1695. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tauri.svg +0 -0
  1696. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tauri_opened.svg +0 -0
  1697. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_temp.svg +0 -0
  1698. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_temp_opened.svg +0 -0
  1699. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_template.svg +0 -0
  1700. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_template_opened.svg +0 -0
  1701. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_test.svg +0 -0
  1702. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_test_opened.svg +0 -0
  1703. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_theme.svg +0 -0
  1704. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_theme_opened.svg +0 -0
  1705. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tools.svg +0 -0
  1706. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tools_opened.svg +0 -0
  1707. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_travis.svg +0 -0
  1708. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_travis_opened.svg +0 -0
  1709. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_trunk.svg +0 -0
  1710. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_trunk_opened.svg +0 -0
  1711. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_turbo.svg +0 -0
  1712. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_turbo_opened.svg +0 -0
  1713. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typescript.svg +0 -0
  1714. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typescript_opened.svg +0 -0
  1715. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings.svg +0 -0
  1716. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings2.svg +0 -0
  1717. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings2_opened.svg +0 -0
  1718. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings_opened.svg +0 -0
  1719. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vagrant.svg +0 -0
  1720. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vagrant_opened.svg +0 -0
  1721. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vercel.svg +0 -0
  1722. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vercel_opened.svg +0 -0
  1723. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_video.svg +0 -0
  1724. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_video_opened.svg +0 -0
  1725. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_view.svg +0 -0
  1726. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_view_opened.svg +0 -0
  1727. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vitepress.svg +0 -0
  1728. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vitepress_opened.svg +0 -0
  1729. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs.svg +0 -0
  1730. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs2.svg +0 -0
  1731. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs2_opened.svg +0 -0
  1732. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs_opened.svg +0 -0
  1733. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode.svg +0 -0
  1734. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode2.svg +0 -0
  1735. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode2_opened.svg +0 -0
  1736. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode3.svg +0 -0
  1737. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode3_opened.svg +0 -0
  1738. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_opened.svg +0 -0
  1739. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test.svg +0 -0
  1740. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2.svg +0 -0
  1741. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2_opened.svg +0 -0
  1742. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3.svg +0 -0
  1743. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3_opened.svg +0 -0
  1744. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test_opened.svg +0 -0
  1745. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wasm.svg +0 -0
  1746. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wasm_opened.svg +0 -0
  1747. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_webpack.svg +0 -0
  1748. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_webpack_opened.svg +0 -0
  1749. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windows.svg +0 -0
  1750. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windows_opened.svg +0 -0
  1751. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windsurf.svg +0 -0
  1752. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windsurf_opened.svg +0 -0
  1753. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wit.svg +0 -0
  1754. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wit_opened.svg +0 -0
  1755. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_www.svg +0 -0
  1756. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_www_opened.svg +0 -0
  1757. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_yarn.svg +0 -0
  1758. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_yarn_opened.svg +0 -0
  1759. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_zed.svg +0 -0
  1760. /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_zed_opened.svg +0 -0
  1761. /package/static/{0e2b358 → 3101f6f}/fonts/FiraCode-VariableFont.ttf +0 -0
  1762. /package/static/{0e2b358 → 3101f6f}/icons/account.svg +0 -0
  1763. /package/static/{0e2b358 → 3101f6f}/icons/activate-breakpoints.svg +0 -0
  1764. /package/static/{0e2b358 → 3101f6f}/icons/add-small.svg +0 -0
  1765. /package/static/{0e2b358 → 3101f6f}/icons/add.svg +0 -0
  1766. /package/static/{0e2b358 → 3101f6f}/icons/agent.svg +0 -0
  1767. /package/static/{0e2b358 → 3101f6f}/icons/archive.svg +0 -0
  1768. /package/static/{0e2b358 → 3101f6f}/icons/arrow-both.svg +0 -0
  1769. /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-down.svg +0 -0
  1770. /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-left.svg +0 -0
  1771. /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-right.svg +0 -0
  1772. /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-up.svg +0 -0
  1773. /package/static/{0e2b358 → 3101f6f}/icons/arrow-down.svg +0 -0
  1774. /package/static/{0e2b358 → 3101f6f}/icons/arrow-left.svg +0 -0
  1775. /package/static/{0e2b358 → 3101f6f}/icons/arrow-right.svg +0 -0
  1776. /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-down.svg +0 -0
  1777. /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-left.svg +0 -0
  1778. /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-right.svg +0 -0
  1779. /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-up.svg +0 -0
  1780. /package/static/{0e2b358 → 3101f6f}/icons/arrow-swap.svg +0 -0
  1781. /package/static/{0e2b358 → 3101f6f}/icons/arrow-up.svg +0 -0
  1782. /package/static/{0e2b358 → 3101f6f}/icons/ask.svg +0 -0
  1783. /package/static/{0e2b358 → 3101f6f}/icons/attach.svg +0 -0
  1784. /package/static/{0e2b358 → 3101f6f}/icons/azure-devops.svg +0 -0
  1785. /package/static/{0e2b358 → 3101f6f}/icons/azure.svg +0 -0
  1786. /package/static/{0e2b358 → 3101f6f}/icons/beaker-stop.svg +0 -0
  1787. /package/static/{0e2b358 → 3101f6f}/icons/beaker.svg +0 -0
  1788. /package/static/{0e2b358 → 3101f6f}/icons/bell-dot.svg +0 -0
  1789. /package/static/{0e2b358 → 3101f6f}/icons/bell-slash-dot.svg +0 -0
  1790. /package/static/{0e2b358 → 3101f6f}/icons/bell-slash.svg +0 -0
  1791. /package/static/{0e2b358 → 3101f6f}/icons/bell.svg +0 -0
  1792. /package/static/{0e2b358 → 3101f6f}/icons/blank.svg +0 -0
  1793. /package/static/{0e2b358 → 3101f6f}/icons/bold.svg +0 -0
  1794. /package/static/{0e2b358 → 3101f6f}/icons/book.svg +0 -0
  1795. /package/static/{0e2b358 → 3101f6f}/icons/bookmark.svg +0 -0
  1796. /package/static/{0e2b358 → 3101f6f}/icons/bracket-dot.svg +0 -0
  1797. /package/static/{0e2b358 → 3101f6f}/icons/bracket-error.svg +0 -0
  1798. /package/static/{0e2b358 → 3101f6f}/icons/briefcase.svg +0 -0
  1799. /package/static/{0e2b358 → 3101f6f}/icons/broadcast.svg +0 -0
  1800. /package/static/{0e2b358 → 3101f6f}/icons/browser.svg +0 -0
  1801. /package/static/{0e2b358 → 3101f6f}/icons/bug.svg +0 -0
  1802. /package/static/{0e2b358 → 3101f6f}/icons/build.svg +0 -0
  1803. /package/static/{0e2b358 → 3101f6f}/icons/calendar.svg +0 -0
  1804. /package/static/{0e2b358 → 3101f6f}/icons/call-incoming.svg +0 -0
  1805. /package/static/{0e2b358 → 3101f6f}/icons/call-outgoing.svg +0 -0
  1806. /package/static/{0e2b358 → 3101f6f}/icons/case-sensitive.svg +0 -0
  1807. /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle-error.svg +0 -0
  1808. /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle-warning.svg +0 -0
  1809. /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle.svg +0 -0
  1810. /package/static/{0e2b358 → 3101f6f}/icons/check-all.svg +0 -0
  1811. /package/static/{0e2b358 → 3101f6f}/icons/check.svg +0 -0
  1812. /package/static/{0e2b358 → 3101f6f}/icons/checklist.svg +0 -0
  1813. /package/static/{0e2b358 → 3101f6f}/icons/chevron-down.svg +0 -0
  1814. /package/static/{0e2b358 → 3101f6f}/icons/chevron-left.svg +0 -0
  1815. /package/static/{0e2b358 → 3101f6f}/icons/chevron-right.svg +0 -0
  1816. /package/static/{0e2b358 → 3101f6f}/icons/chevron-up.svg +0 -0
  1817. /package/static/{0e2b358 → 3101f6f}/icons/chip.svg +0 -0
  1818. /package/static/{0e2b358 → 3101f6f}/icons/chrome-close.svg +0 -0
  1819. /package/static/{0e2b358 → 3101f6f}/icons/chrome-maximize.svg +0 -0
  1820. /package/static/{0e2b358 → 3101f6f}/icons/chrome-minimize.svg +0 -0
  1821. /package/static/{0e2b358 → 3101f6f}/icons/chrome-restore.svg +0 -0
  1822. /package/static/{0e2b358 → 3101f6f}/icons/circle-filled.svg +0 -0
  1823. /package/static/{0e2b358 → 3101f6f}/icons/circle-large-filled.svg +0 -0
  1824. /package/static/{0e2b358 → 3101f6f}/icons/circle-large.svg +0 -0
  1825. /package/static/{0e2b358 → 3101f6f}/icons/circle-slash.svg +0 -0
  1826. /package/static/{0e2b358 → 3101f6f}/icons/circle-small-filled.svg +0 -0
  1827. /package/static/{0e2b358 → 3101f6f}/icons/circle-small.svg +0 -0
  1828. /package/static/{0e2b358 → 3101f6f}/icons/circle.svg +0 -0
  1829. /package/static/{0e2b358 → 3101f6f}/icons/circuit-board.svg +0 -0
  1830. /package/static/{0e2b358 → 3101f6f}/icons/claude.svg +0 -0
  1831. /package/static/{0e2b358 → 3101f6f}/icons/clear-all.svg +0 -0
  1832. /package/static/{0e2b358 → 3101f6f}/icons/clippy.svg +0 -0
  1833. /package/static/{0e2b358 → 3101f6f}/icons/clockface.svg +0 -0
  1834. /package/static/{0e2b358 → 3101f6f}/icons/close-all.svg +0 -0
  1835. /package/static/{0e2b358 → 3101f6f}/icons/close.svg +0 -0
  1836. /package/static/{0e2b358 → 3101f6f}/icons/cloud-download.svg +0 -0
  1837. /package/static/{0e2b358 → 3101f6f}/icons/cloud-small.svg +0 -0
  1838. /package/static/{0e2b358 → 3101f6f}/icons/cloud-upload.svg +0 -0
  1839. /package/static/{0e2b358 → 3101f6f}/icons/cloud.svg +0 -0
  1840. /package/static/{0e2b358 → 3101f6f}/icons/code-oss.svg +0 -0
  1841. /package/static/{0e2b358 → 3101f6f}/icons/code-review.svg +0 -0
  1842. /package/static/{0e2b358 → 3101f6f}/icons/code.svg +0 -0
  1843. /package/static/{0e2b358 → 3101f6f}/icons/coffee.svg +0 -0
  1844. /package/static/{0e2b358 → 3101f6f}/icons/collapse-all.svg +0 -0
  1845. /package/static/{0e2b358 → 3101f6f}/icons/collection-small.svg +0 -0
  1846. /package/static/{0e2b358 → 3101f6f}/icons/collection.svg +0 -0
  1847. /package/static/{0e2b358 → 3101f6f}/icons/color-mode.svg +0 -0
  1848. /package/static/{0e2b358 → 3101f6f}/icons/combine.svg +0 -0
  1849. /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion-quote.svg +0 -0
  1850. /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion-sparkle.svg +0 -0
  1851. /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion.svg +0 -0
  1852. /package/static/{0e2b358 → 3101f6f}/icons/comment-draft.svg +0 -0
  1853. /package/static/{0e2b358 → 3101f6f}/icons/comment-unresolved.svg +0 -0
  1854. /package/static/{0e2b358 → 3101f6f}/icons/comment.svg +0 -0
  1855. /package/static/{0e2b358 → 3101f6f}/icons/compass-active.svg +0 -0
  1856. /package/static/{0e2b358 → 3101f6f}/icons/compass-dot.svg +0 -0
  1857. /package/static/{0e2b358 → 3101f6f}/icons/compass.svg +0 -0
  1858. /package/static/{0e2b358 → 3101f6f}/icons/copilot-blocked.svg +0 -0
  1859. /package/static/{0e2b358 → 3101f6f}/icons/copilot-error.svg +0 -0
  1860. /package/static/{0e2b358 → 3101f6f}/icons/copilot-in-progress.svg +0 -0
  1861. /package/static/{0e2b358 → 3101f6f}/icons/copilot-large.svg +0 -0
  1862. /package/static/{0e2b358 → 3101f6f}/icons/copilot-not-connected.svg +0 -0
  1863. /package/static/{0e2b358 → 3101f6f}/icons/copilot-snooze.svg +0 -0
  1864. /package/static/{0e2b358 → 3101f6f}/icons/copilot-success.svg +0 -0
  1865. /package/static/{0e2b358 → 3101f6f}/icons/copilot-unavailable.svg +0 -0
  1866. /package/static/{0e2b358 → 3101f6f}/icons/copilot-warning-large.svg +0 -0
  1867. /package/static/{0e2b358 → 3101f6f}/icons/copilot-warning.svg +0 -0
  1868. /package/static/{0e2b358 → 3101f6f}/icons/copilot.svg +0 -0
  1869. /package/static/{0e2b358 → 3101f6f}/icons/copy.svg +0 -0
  1870. /package/static/{0e2b358 → 3101f6f}/icons/coverage.svg +0 -0
  1871. /package/static/{0e2b358 → 3101f6f}/icons/credit-card.svg +0 -0
  1872. /package/static/{0e2b358 → 3101f6f}/icons/cursor.svg +0 -0
  1873. /package/static/{0e2b358 → 3101f6f}/icons/dash.svg +0 -0
  1874. /package/static/{0e2b358 → 3101f6f}/icons/dashboard.svg +0 -0
  1875. /package/static/{0e2b358 → 3101f6f}/icons/database.svg +0 -0
  1876. /package/static/{0e2b358 → 3101f6f}/icons/debug-all.svg +0 -0
  1877. /package/static/{0e2b358 → 3101f6f}/icons/debug-alt-2.svg +0 -0
  1878. /package/static/{0e2b358 → 3101f6f}/icons/debug-alt-small.svg +0 -0
  1879. /package/static/{0e2b358 → 3101f6f}/icons/debug-alt.svg +0 -0
  1880. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1881. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-conditional.svg +0 -0
  1882. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1883. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-data.svg +0 -0
  1884. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1885. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-function.svg +0 -0
  1886. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1887. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-log.svg +0 -0
  1888. /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-unsupported.svg +0 -0
  1889. /package/static/{0e2b358 → 3101f6f}/icons/debug-connected.svg +0 -0
  1890. /package/static/{0e2b358 → 3101f6f}/icons/debug-console.svg +0 -0
  1891. /package/static/{0e2b358 → 3101f6f}/icons/debug-continue-small.svg +0 -0
  1892. /package/static/{0e2b358 → 3101f6f}/icons/debug-continue.svg +0 -0
  1893. /package/static/{0e2b358 → 3101f6f}/icons/debug-coverage.svg +0 -0
  1894. /package/static/{0e2b358 → 3101f6f}/icons/debug-disconnect.svg +0 -0
  1895. /package/static/{0e2b358 → 3101f6f}/icons/debug-line-by-line.svg +0 -0
  1896. /package/static/{0e2b358 → 3101f6f}/icons/debug-pause.svg +0 -0
  1897. /package/static/{0e2b358 → 3101f6f}/icons/debug-rerun.svg +0 -0
  1898. /package/static/{0e2b358 → 3101f6f}/icons/debug-restart-frame.svg +0 -0
  1899. /package/static/{0e2b358 → 3101f6f}/icons/debug-restart.svg +0 -0
  1900. /package/static/{0e2b358 → 3101f6f}/icons/debug-reverse-continue.svg +0 -0
  1901. /package/static/{0e2b358 → 3101f6f}/icons/debug-stackframe-active.svg +0 -0
  1902. /package/static/{0e2b358 → 3101f6f}/icons/debug-stackframe.svg +0 -0
  1903. /package/static/{0e2b358 → 3101f6f}/icons/debug-start.svg +0 -0
  1904. /package/static/{0e2b358 → 3101f6f}/icons/debug-step-back.svg +0 -0
  1905. /package/static/{0e2b358 → 3101f6f}/icons/debug-step-into.svg +0 -0
  1906. /package/static/{0e2b358 → 3101f6f}/icons/debug-step-out.svg +0 -0
  1907. /package/static/{0e2b358 → 3101f6f}/icons/debug-step-over.svg +0 -0
  1908. /package/static/{0e2b358 → 3101f6f}/icons/debug-stop.svg +0 -0
  1909. /package/static/{0e2b358 → 3101f6f}/icons/debug.svg +0 -0
  1910. /package/static/{0e2b358 → 3101f6f}/icons/desktop-download.svg +0 -0
  1911. /package/static/{0e2b358 → 3101f6f}/icons/device-camera-video.svg +0 -0
  1912. /package/static/{0e2b358 → 3101f6f}/icons/device-camera.svg +0 -0
  1913. /package/static/{0e2b358 → 3101f6f}/icons/device-mobile.svg +0 -0
  1914. /package/static/{0e2b358 → 3101f6f}/icons/diff-added.svg +0 -0
  1915. /package/static/{0e2b358 → 3101f6f}/icons/diff-ignored.svg +0 -0
  1916. /package/static/{0e2b358 → 3101f6f}/icons/diff-modified.svg +0 -0
  1917. /package/static/{0e2b358 → 3101f6f}/icons/diff-multiple.svg +0 -0
  1918. /package/static/{0e2b358 → 3101f6f}/icons/diff-removed.svg +0 -0
  1919. /package/static/{0e2b358 → 3101f6f}/icons/diff-renamed.svg +0 -0
  1920. /package/static/{0e2b358 → 3101f6f}/icons/diff-single.svg +0 -0
  1921. /package/static/{0e2b358 → 3101f6f}/icons/diff.svg +0 -0
  1922. /package/static/{0e2b358 → 3101f6f}/icons/discard.svg +0 -0
  1923. /package/static/{0e2b358 → 3101f6f}/icons/download.svg +0 -0
  1924. /package/static/{0e2b358 → 3101f6f}/icons/edit-code.svg +0 -0
  1925. /package/static/{0e2b358 → 3101f6f}/icons/edit-session.svg +0 -0
  1926. /package/static/{0e2b358 → 3101f6f}/icons/edit-sparkle.svg +0 -0
  1927. /package/static/{0e2b358 → 3101f6f}/icons/edit.svg +0 -0
  1928. /package/static/{0e2b358 → 3101f6f}/icons/editor-layout.svg +0 -0
  1929. /package/static/{0e2b358 → 3101f6f}/icons/ellipsis.svg +0 -0
  1930. /package/static/{0e2b358 → 3101f6f}/icons/empty-window.svg +0 -0
  1931. /package/static/{0e2b358 → 3101f6f}/icons/eraser.svg +0 -0
  1932. /package/static/{0e2b358 → 3101f6f}/icons/error-small.svg +0 -0
  1933. /package/static/{0e2b358 → 3101f6f}/icons/error.svg +0 -0
  1934. /package/static/{0e2b358 → 3101f6f}/icons/exclude.svg +0 -0
  1935. /package/static/{0e2b358 → 3101f6f}/icons/expand-all.svg +0 -0
  1936. /package/static/{0e2b358 → 3101f6f}/icons/export.svg +0 -0
  1937. /package/static/{0e2b358 → 3101f6f}/icons/extensionDefaultIcon.png +0 -0
  1938. /package/static/{0e2b358 → 3101f6f}/icons/extensions-large.svg +0 -0
  1939. /package/static/{0e2b358 → 3101f6f}/icons/extensions.svg +0 -0
  1940. /package/static/{0e2b358 → 3101f6f}/icons/eye-closed.svg +0 -0
  1941. /package/static/{0e2b358 → 3101f6f}/icons/eye.svg +0 -0
  1942. /package/static/{0e2b358 → 3101f6f}/icons/feedback.svg +0 -0
  1943. /package/static/{0e2b358 → 3101f6f}/icons/file-binary.svg +0 -0
  1944. /package/static/{0e2b358 → 3101f6f}/icons/file-code.svg +0 -0
  1945. /package/static/{0e2b358 → 3101f6f}/icons/file-media.svg +0 -0
  1946. /package/static/{0e2b358 → 3101f6f}/icons/file-pdf.svg +0 -0
  1947. /package/static/{0e2b358 → 3101f6f}/icons/file-submodule.svg +0 -0
  1948. /package/static/{0e2b358 → 3101f6f}/icons/file-symlink-directory.svg +0 -0
  1949. /package/static/{0e2b358 → 3101f6f}/icons/file-symlink-file.svg +0 -0
  1950. /package/static/{0e2b358 → 3101f6f}/icons/file-text.svg +0 -0
  1951. /package/static/{0e2b358 → 3101f6f}/icons/file-zip.svg +0 -0
  1952. /package/static/{0e2b358 → 3101f6f}/icons/file.svg +0 -0
  1953. /package/static/{0e2b358 → 3101f6f}/icons/files.svg +0 -0
  1954. /package/static/{0e2b358 → 3101f6f}/icons/filter-filled.svg +0 -0
  1955. /package/static/{0e2b358 → 3101f6f}/icons/filter.svg +0 -0
  1956. /package/static/{0e2b358 → 3101f6f}/icons/flag.svg +0 -0
  1957. /package/static/{0e2b358 → 3101f6f}/icons/flame.svg +0 -0
  1958. /package/static/{0e2b358 → 3101f6f}/icons/fold-down.svg +0 -0
  1959. /package/static/{0e2b358 → 3101f6f}/icons/fold-up.svg +0 -0
  1960. /package/static/{0e2b358 → 3101f6f}/icons/fold.svg +0 -0
  1961. /package/static/{0e2b358 → 3101f6f}/icons/folder-active.svg +0 -0
  1962. /package/static/{0e2b358 → 3101f6f}/icons/folder-library.svg +0 -0
  1963. /package/static/{0e2b358 → 3101f6f}/icons/folder-opened.svg +0 -0
  1964. /package/static/{0e2b358 → 3101f6f}/icons/folder.svg +0 -0
  1965. /package/static/{0e2b358 → 3101f6f}/icons/forward.svg +0 -0
  1966. /package/static/{0e2b358 → 3101f6f}/icons/game.svg +0 -0
  1967. /package/static/{0e2b358 → 3101f6f}/icons/gear.svg +0 -0
  1968. /package/static/{0e2b358 → 3101f6f}/icons/gift.svg +0 -0
  1969. /package/static/{0e2b358 → 3101f6f}/icons/gist-secret.svg +0 -0
  1970. /package/static/{0e2b358 → 3101f6f}/icons/gist.svg +0 -0
  1971. /package/static/{0e2b358 → 3101f6f}/icons/git-branch-changes.svg +0 -0
  1972. /package/static/{0e2b358 → 3101f6f}/icons/git-branch-conflicts.svg +0 -0
  1973. /package/static/{0e2b358 → 3101f6f}/icons/git-branch-staged-changes.svg +0 -0
  1974. /package/static/{0e2b358 → 3101f6f}/icons/git-branch.svg +0 -0
  1975. /package/static/{0e2b358 → 3101f6f}/icons/git-commit.svg +0 -0
  1976. /package/static/{0e2b358 → 3101f6f}/icons/git-compare.svg +0 -0
  1977. /package/static/{0e2b358 → 3101f6f}/icons/git-fetch.svg +0 -0
  1978. /package/static/{0e2b358 → 3101f6f}/icons/git-merge.svg +0 -0
  1979. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-closed.svg +0 -0
  1980. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-create.svg +0 -0
  1981. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-done.svg +0 -0
  1982. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-draft.svg +0 -0
  1983. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-go-to-changes.svg +0 -0
  1984. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-new-changes.svg +0 -0
  1985. /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request.svg +0 -0
  1986. /package/static/{0e2b358 → 3101f6f}/icons/git-stash-apply.svg +0 -0
  1987. /package/static/{0e2b358 → 3101f6f}/icons/git-stash-pop.svg +0 -0
  1988. /package/static/{0e2b358 → 3101f6f}/icons/git-stash.svg +0 -0
  1989. /package/static/{0e2b358 → 3101f6f}/icons/github-action.svg +0 -0
  1990. /package/static/{0e2b358 → 3101f6f}/icons/github-alt.svg +0 -0
  1991. /package/static/{0e2b358 → 3101f6f}/icons/github-inverted.svg +0 -0
  1992. /package/static/{0e2b358 → 3101f6f}/icons/github-project.svg +0 -0
  1993. /package/static/{0e2b358 → 3101f6f}/icons/github.svg +0 -0
  1994. /package/static/{0e2b358 → 3101f6f}/icons/globe.svg +0 -0
  1995. /package/static/{0e2b358 → 3101f6f}/icons/go-to-editing-session.svg +0 -0
  1996. /package/static/{0e2b358 → 3101f6f}/icons/go-to-file.svg +0 -0
  1997. /package/static/{0e2b358 → 3101f6f}/icons/go-to-search.svg +0 -0
  1998. /package/static/{0e2b358 → 3101f6f}/icons/grabber.svg +0 -0
  1999. /package/static/{0e2b358 → 3101f6f}/icons/graph-left.svg +0 -0
  2000. /package/static/{0e2b358 → 3101f6f}/icons/graph-line.svg +0 -0
  2001. /package/static/{0e2b358 → 3101f6f}/icons/graph-scatter.svg +0 -0
  2002. /package/static/{0e2b358 → 3101f6f}/icons/graph.svg +0 -0
  2003. /package/static/{0e2b358 → 3101f6f}/icons/gripper.svg +0 -0
  2004. /package/static/{0e2b358 → 3101f6f}/icons/group-by-ref-type.svg +0 -0
  2005. /package/static/{0e2b358 → 3101f6f}/icons/heart-filled.svg +0 -0
  2006. /package/static/{0e2b358 → 3101f6f}/icons/heart.svg +0 -0
  2007. /package/static/{0e2b358 → 3101f6f}/icons/history.svg +0 -0
  2008. /package/static/{0e2b358 → 3101f6f}/icons/home.svg +0 -0
  2009. /package/static/{0e2b358 → 3101f6f}/icons/horizontal-rule.svg +0 -0
  2010. /package/static/{0e2b358 → 3101f6f}/icons/hubot.svg +0 -0
  2011. /package/static/{0e2b358 → 3101f6f}/icons/icon-close.svg +0 -0
  2012. /package/static/{0e2b358 → 3101f6f}/icons/icon-source-control.svg +0 -0
  2013. /package/static/{0e2b358 → 3101f6f}/icons/icon-sync.svg +0 -0
  2014. /package/static/{0e2b358 → 3101f6f}/icons/icon.png +0 -0
  2015. /package/static/{0e2b358 → 3101f6f}/icons/icon.svg +0 -0
  2016. /package/static/{0e2b358 → 3101f6f}/icons/inbox.svg +0 -0
  2017. /package/static/{0e2b358 → 3101f6f}/icons/indent.svg +0 -0
  2018. /package/static/{0e2b358 → 3101f6f}/icons/index-zero.svg +0 -0
  2019. /package/static/{0e2b358 → 3101f6f}/icons/info.svg +0 -0
  2020. /package/static/{0e2b358 → 3101f6f}/icons/insert.svg +0 -0
  2021. /package/static/{0e2b358 → 3101f6f}/icons/inspect.svg +0 -0
  2022. /package/static/{0e2b358 → 3101f6f}/icons/issue-draft.svg +0 -0
  2023. /package/static/{0e2b358 → 3101f6f}/icons/issue-reopened.svg +0 -0
  2024. /package/static/{0e2b358 → 3101f6f}/icons/issues.svg +0 -0
  2025. /package/static/{0e2b358 → 3101f6f}/icons/italic.svg +0 -0
  2026. /package/static/{0e2b358 → 3101f6f}/icons/jersey.svg +0 -0
  2027. /package/static/{0e2b358 → 3101f6f}/icons/json.svg +0 -0
  2028. /package/static/{0e2b358 → 3101f6f}/icons/kebab-vertical.svg +0 -0
  2029. /package/static/{0e2b358 → 3101f6f}/icons/key.svg +0 -0
  2030. /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab-above.svg +0 -0
  2031. /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab-below.svg +0 -0
  2032. /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab.svg +0 -0
  2033. /package/static/{0e2b358 → 3101f6f}/icons/language-icon.svg +0 -0
  2034. /package/static/{0e2b358 → 3101f6f}/icons/law.svg +0 -0
  2035. /package/static/{0e2b358 → 3101f6f}/icons/layers-active.svg +0 -0
  2036. /package/static/{0e2b358 → 3101f6f}/icons/layers-dot.svg +0 -0
  2037. /package/static/{0e2b358 → 3101f6f}/icons/layers.svg +0 -0
  2038. /package/static/{0e2b358 → 3101f6f}/icons/layout-activitybar-left.svg +0 -0
  2039. /package/static/{0e2b358 → 3101f6f}/icons/layout-activitybar-right.svg +0 -0
  2040. /package/static/{0e2b358 → 3101f6f}/icons/layout-centered.svg +0 -0
  2041. /package/static/{0e2b358 → 3101f6f}/icons/layout-menubar.svg +0 -0
  2042. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-center.svg +0 -0
  2043. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-dock.svg +0 -0
  2044. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-justify.svg +0 -0
  2045. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-left.svg +0 -0
  2046. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-off.svg +0 -0
  2047. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-right.svg +0 -0
  2048. /package/static/{0e2b358 → 3101f6f}/icons/layout-panel.svg +0 -0
  2049. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left-dock.svg +0 -0
  2050. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left-off.svg +0 -0
  2051. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left.svg +0 -0
  2052. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right-dock.svg +0 -0
  2053. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right-off.svg +0 -0
  2054. /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right.svg +0 -0
  2055. /package/static/{0e2b358 → 3101f6f}/icons/layout-statusbar.svg +0 -0
  2056. /package/static/{0e2b358 → 3101f6f}/icons/layout.svg +0 -0
  2057. /package/static/{0e2b358 → 3101f6f}/icons/library.svg +0 -0
  2058. /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-autofix.svg +0 -0
  2059. /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-empty.svg +0 -0
  2060. /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-sparkle.svg +0 -0
  2061. /package/static/{0e2b358 → 3101f6f}/icons/lightbulb.svg +0 -0
  2062. /package/static/{0e2b358 → 3101f6f}/icons/link-external.svg +0 -0
  2063. /package/static/{0e2b358 → 3101f6f}/icons/link.svg +0 -0
  2064. /package/static/{0e2b358 → 3101f6f}/icons/list-filter.svg +0 -0
  2065. /package/static/{0e2b358 → 3101f6f}/icons/list-flat.svg +0 -0
  2066. /package/static/{0e2b358 → 3101f6f}/icons/list-ordered.svg +0 -0
  2067. /package/static/{0e2b358 → 3101f6f}/icons/list-selection.svg +0 -0
  2068. /package/static/{0e2b358 → 3101f6f}/icons/list-tree.svg +0 -0
  2069. /package/static/{0e2b358 → 3101f6f}/icons/list-unordered.svg +0 -0
  2070. /package/static/{0e2b358 → 3101f6f}/icons/live-share.svg +0 -0
  2071. /package/static/{0e2b358 → 3101f6f}/icons/loading.svg +0 -0
  2072. /package/static/{0e2b358 → 3101f6f}/icons/location.svg +0 -0
  2073. /package/static/{0e2b358 → 3101f6f}/icons/lock-small.svg +0 -0
  2074. /package/static/{0e2b358 → 3101f6f}/icons/lock.svg +0 -0
  2075. /package/static/{0e2b358 → 3101f6f}/icons/magnet.svg +0 -0
  2076. /package/static/{0e2b358 → 3101f6f}/icons/mail-read.svg +0 -0
  2077. /package/static/{0e2b358 → 3101f6f}/icons/mail.svg +0 -0
  2078. /package/static/{0e2b358 → 3101f6f}/icons/map-filled.svg +0 -0
  2079. /package/static/{0e2b358 → 3101f6f}/icons/map-vertical-filled.svg +0 -0
  2080. /package/static/{0e2b358 → 3101f6f}/icons/map-vertical.svg +0 -0
  2081. /package/static/{0e2b358 → 3101f6f}/icons/map.svg +0 -0
  2082. /package/static/{0e2b358 → 3101f6f}/icons/markdown.svg +0 -0
  2083. /package/static/{0e2b358 → 3101f6f}/icons/mcp.svg +0 -0
  2084. /package/static/{0e2b358 → 3101f6f}/icons/megaphone.svg +0 -0
  2085. /package/static/{0e2b358 → 3101f6f}/icons/mention.svg +0 -0
  2086. /package/static/{0e2b358 → 3101f6f}/icons/menu.svg +0 -0
  2087. /package/static/{0e2b358 → 3101f6f}/icons/merge-into.svg +0 -0
  2088. /package/static/{0e2b358 → 3101f6f}/icons/merge.svg +0 -0
  2089. /package/static/{0e2b358 → 3101f6f}/icons/mic-filled.svg +0 -0
  2090. /package/static/{0e2b358 → 3101f6f}/icons/mic.svg +0 -0
  2091. /package/static/{0e2b358 → 3101f6f}/icons/milestone.svg +0 -0
  2092. /package/static/{0e2b358 → 3101f6f}/icons/mirror.svg +0 -0
  2093. /package/static/{0e2b358 → 3101f6f}/icons/mortar-board.svg +0 -0
  2094. /package/static/{0e2b358 → 3101f6f}/icons/move.svg +0 -0
  2095. /package/static/{0e2b358 → 3101f6f}/icons/multiple-windows.svg +0 -0
  2096. /package/static/{0e2b358 → 3101f6f}/icons/music.svg +0 -0
  2097. /package/static/{0e2b358 → 3101f6f}/icons/mute.svg +0 -0
  2098. /package/static/{0e2b358 → 3101f6f}/icons/new-collection.svg +0 -0
  2099. /package/static/{0e2b358 → 3101f6f}/icons/new-file.svg +0 -0
  2100. /package/static/{0e2b358 → 3101f6f}/icons/new-folder.svg +0 -0
  2101. /package/static/{0e2b358 → 3101f6f}/icons/new-session.svg +0 -0
  2102. /package/static/{0e2b358 → 3101f6f}/icons/newline.svg +0 -0
  2103. /package/static/{0e2b358 → 3101f6f}/icons/no-newline.svg +0 -0
  2104. /package/static/{0e2b358 → 3101f6f}/icons/note.svg +0 -0
  2105. /package/static/{0e2b358 → 3101f6f}/icons/notebook-template.svg +0 -0
  2106. /package/static/{0e2b358 → 3101f6f}/icons/notebook.svg +0 -0
  2107. /package/static/{0e2b358 → 3101f6f}/icons/octoface.svg +0 -0
  2108. /package/static/{0e2b358 → 3101f6f}/icons/open-in-product.svg +0 -0
  2109. /package/static/{0e2b358 → 3101f6f}/icons/open-in-window.svg +0 -0
  2110. /package/static/{0e2b358 → 3101f6f}/icons/open-preview.svg +0 -0
  2111. /package/static/{0e2b358 → 3101f6f}/icons/openai.svg +0 -0
  2112. /package/static/{0e2b358 → 3101f6f}/icons/organization.svg +0 -0
  2113. /package/static/{0e2b358 → 3101f6f}/icons/output.svg +0 -0
  2114. /package/static/{0e2b358 → 3101f6f}/icons/package.svg +0 -0
  2115. /package/static/{0e2b358 → 3101f6f}/icons/paintcan.svg +0 -0
  2116. /package/static/{0e2b358 → 3101f6f}/icons/pass-filled.svg +0 -0
  2117. /package/static/{0e2b358 → 3101f6f}/icons/pass.svg +0 -0
  2118. /package/static/{0e2b358 → 3101f6f}/icons/percentage.svg +0 -0
  2119. /package/static/{0e2b358 → 3101f6f}/icons/person-add.svg +0 -0
  2120. /package/static/{0e2b358 → 3101f6f}/icons/person.svg +0 -0
  2121. /package/static/{0e2b358 → 3101f6f}/icons/piano.svg +0 -0
  2122. /package/static/{0e2b358 → 3101f6f}/icons/pie-chart.svg +0 -0
  2123. /package/static/{0e2b358 → 3101f6f}/icons/pin.svg +0 -0
  2124. /package/static/{0e2b358 → 3101f6f}/icons/pinned-dirty.svg +0 -0
  2125. /package/static/{0e2b358 → 3101f6f}/icons/pinned.svg +0 -0
  2126. /package/static/{0e2b358 → 3101f6f}/icons/play-circle.svg +0 -0
  2127. /package/static/{0e2b358 → 3101f6f}/icons/play.svg +0 -0
  2128. /package/static/{0e2b358 → 3101f6f}/icons/plug.svg +0 -0
  2129. /package/static/{0e2b358 → 3101f6f}/icons/preserve-case.svg +0 -0
  2130. /package/static/{0e2b358 → 3101f6f}/icons/preview.svg +0 -0
  2131. /package/static/{0e2b358 → 3101f6f}/icons/primitive-square.svg +0 -0
  2132. /package/static/{0e2b358 → 3101f6f}/icons/progress.svg +0 -0
  2133. /package/static/{0e2b358 → 3101f6f}/icons/project.svg +0 -0
  2134. /package/static/{0e2b358 → 3101f6f}/icons/pulse.svg +0 -0
  2135. /package/static/{0e2b358 → 3101f6f}/icons/pwa-icon-192.png +0 -0
  2136. /package/static/{0e2b358 → 3101f6f}/icons/pwa-icon-512.png +0 -0
  2137. /package/static/{0e2b358 → 3101f6f}/icons/python.svg +0 -0
  2138. /package/static/{0e2b358 → 3101f6f}/icons/question.svg +0 -0
  2139. /package/static/{0e2b358 → 3101f6f}/icons/quote.svg +0 -0
  2140. /package/static/{0e2b358 → 3101f6f}/icons/quotes.svg +0 -0
  2141. /package/static/{0e2b358 → 3101f6f}/icons/radio-tower.svg +0 -0
  2142. /package/static/{0e2b358 → 3101f6f}/icons/reactions.svg +0 -0
  2143. /package/static/{0e2b358 → 3101f6f}/icons/record-keys.svg +0 -0
  2144. /package/static/{0e2b358 → 3101f6f}/icons/record-small.svg +0 -0
  2145. /package/static/{0e2b358 → 3101f6f}/icons/record.svg +0 -0
  2146. /package/static/{0e2b358 → 3101f6f}/icons/redo.svg +0 -0
  2147. /package/static/{0e2b358 → 3101f6f}/icons/references.svg +0 -0
  2148. /package/static/{0e2b358 → 3101f6f}/icons/refresh.svg +0 -0
  2149. /package/static/{0e2b358 → 3101f6f}/icons/regex.svg +0 -0
  2150. /package/static/{0e2b358 → 3101f6f}/icons/remote-explorer.svg +0 -0
  2151. /package/static/{0e2b358 → 3101f6f}/icons/remote.svg +0 -0
  2152. /package/static/{0e2b358 → 3101f6f}/icons/remove-small.svg +0 -0
  2153. /package/static/{0e2b358 → 3101f6f}/icons/remove.svg +0 -0
  2154. /package/static/{0e2b358 → 3101f6f}/icons/rename.svg +0 -0
  2155. /package/static/{0e2b358 → 3101f6f}/icons/replace-all.svg +0 -0
  2156. /package/static/{0e2b358 → 3101f6f}/icons/replace.svg +0 -0
  2157. /package/static/{0e2b358 → 3101f6f}/icons/reply.svg +0 -0
  2158. /package/static/{0e2b358 → 3101f6f}/icons/repo-clone.svg +0 -0
  2159. /package/static/{0e2b358 → 3101f6f}/icons/repo-fetch.svg +0 -0
  2160. /package/static/{0e2b358 → 3101f6f}/icons/repo-force-push.svg +0 -0
  2161. /package/static/{0e2b358 → 3101f6f}/icons/repo-forked.svg +0 -0
  2162. /package/static/{0e2b358 → 3101f6f}/icons/repo-pinned.svg +0 -0
  2163. /package/static/{0e2b358 → 3101f6f}/icons/repo-pull.svg +0 -0
  2164. /package/static/{0e2b358 → 3101f6f}/icons/repo-push.svg +0 -0
  2165. /package/static/{0e2b358 → 3101f6f}/icons/repo-selected.svg +0 -0
  2166. /package/static/{0e2b358 → 3101f6f}/icons/repo.svg +0 -0
  2167. /package/static/{0e2b358 → 3101f6f}/icons/report.svg +0 -0
  2168. /package/static/{0e2b358 → 3101f6f}/icons/request-changes.svg +0 -0
  2169. /package/static/{0e2b358 → 3101f6f}/icons/robot.svg +0 -0
  2170. /package/static/{0e2b358 → 3101f6f}/icons/rocket.svg +0 -0
  2171. /package/static/{0e2b358 → 3101f6f}/icons/root-folder-opened.svg +0 -0
  2172. /package/static/{0e2b358 → 3101f6f}/icons/root-folder.svg +0 -0
  2173. /package/static/{0e2b358 → 3101f6f}/icons/rss.svg +0 -0
  2174. /package/static/{0e2b358 → 3101f6f}/icons/ruby.svg +0 -0
  2175. /package/static/{0e2b358 → 3101f6f}/icons/run-above.svg +0 -0
  2176. /package/static/{0e2b358 → 3101f6f}/icons/run-all-coverage.svg +0 -0
  2177. /package/static/{0e2b358 → 3101f6f}/icons/run-all.svg +0 -0
  2178. /package/static/{0e2b358 → 3101f6f}/icons/run-below.svg +0 -0
  2179. /package/static/{0e2b358 → 3101f6f}/icons/run-coverage.svg +0 -0
  2180. /package/static/{0e2b358 → 3101f6f}/icons/run-errors.svg +0 -0
  2181. /package/static/{0e2b358 → 3101f6f}/icons/run-with-deps.svg +0 -0
  2182. /package/static/{0e2b358 → 3101f6f}/icons/save-all.svg +0 -0
  2183. /package/static/{0e2b358 → 3101f6f}/icons/save-as.svg +0 -0
  2184. /package/static/{0e2b358 → 3101f6f}/icons/save.svg +0 -0
  2185. /package/static/{0e2b358 → 3101f6f}/icons/screen-cut.svg +0 -0
  2186. /package/static/{0e2b358 → 3101f6f}/icons/screen-full.svg +0 -0
  2187. /package/static/{0e2b358 → 3101f6f}/icons/screen-normal.svg +0 -0
  2188. /package/static/{0e2b358 → 3101f6f}/icons/search-fuzzy.svg +0 -0
  2189. /package/static/{0e2b358 → 3101f6f}/icons/search-large.svg +0 -0
  2190. /package/static/{0e2b358 → 3101f6f}/icons/search-sparkle.svg +0 -0
  2191. /package/static/{0e2b358 → 3101f6f}/icons/search-stop.svg +0 -0
  2192. /package/static/{0e2b358 → 3101f6f}/icons/search.svg +0 -0
  2193. /package/static/{0e2b358 → 3101f6f}/icons/send-to-remote-agent.svg +0 -0
  2194. /package/static/{0e2b358 → 3101f6f}/icons/send.svg +0 -0
  2195. /package/static/{0e2b358 → 3101f6f}/icons/server-environment.svg +0 -0
  2196. /package/static/{0e2b358 → 3101f6f}/icons/server-process.svg +0 -0
  2197. /package/static/{0e2b358 → 3101f6f}/icons/server.svg +0 -0
  2198. /package/static/{0e2b358 → 3101f6f}/icons/session-in-progress.svg +0 -0
  2199. /package/static/{0e2b358 → 3101f6f}/icons/settings-gear.svg +0 -0
  2200. /package/static/{0e2b358 → 3101f6f}/icons/settings.svg +0 -0
  2201. /package/static/{0e2b358 → 3101f6f}/icons/share.svg +0 -0
  2202. /package/static/{0e2b358 → 3101f6f}/icons/shield.svg +0 -0
  2203. /package/static/{0e2b358 → 3101f6f}/icons/sign-in.svg +0 -0
  2204. /package/static/{0e2b358 → 3101f6f}/icons/sign-out.svg +0 -0
  2205. /package/static/{0e2b358 → 3101f6f}/icons/skip.svg +0 -0
  2206. /package/static/{0e2b358 → 3101f6f}/icons/smiley.svg +0 -0
  2207. /package/static/{0e2b358 → 3101f6f}/icons/snake.svg +0 -0
  2208. /package/static/{0e2b358 → 3101f6f}/icons/sort-precedence.svg +0 -0
  2209. /package/static/{0e2b358 → 3101f6f}/icons/source-control.svg +0 -0
  2210. /package/static/{0e2b358 → 3101f6f}/icons/sparkle-filled.svg +0 -0
  2211. /package/static/{0e2b358 → 3101f6f}/icons/sparkle.svg +0 -0
  2212. /package/static/{0e2b358 → 3101f6f}/icons/split-horizontal.svg +0 -0
  2213. /package/static/{0e2b358 → 3101f6f}/icons/split-vertical.svg +0 -0
  2214. /package/static/{0e2b358 → 3101f6f}/icons/squiggly-error.svg +0 -0
  2215. /package/static/{0e2b358 → 3101f6f}/icons/squiggly-warning.svg +0 -0
  2216. /package/static/{0e2b358 → 3101f6f}/icons/squirrel.svg +0 -0
  2217. /package/static/{0e2b358 → 3101f6f}/icons/star-empty.svg +0 -0
  2218. /package/static/{0e2b358 → 3101f6f}/icons/star-full.svg +0 -0
  2219. /package/static/{0e2b358 → 3101f6f}/icons/star-half.svg +0 -0
  2220. /package/static/{0e2b358 → 3101f6f}/icons/stop-circle.svg +0 -0
  2221. /package/static/{0e2b358 → 3101f6f}/icons/strikethrough.svg +0 -0
  2222. /package/static/{0e2b358 → 3101f6f}/icons/surround-with.svg +0 -0
  2223. /package/static/{0e2b358 → 3101f6f}/icons/symbol-array.svg +0 -0
  2224. /package/static/{0e2b358 → 3101f6f}/icons/symbol-boolean.svg +0 -0
  2225. /package/static/{0e2b358 → 3101f6f}/icons/symbol-class.svg +0 -0
  2226. /package/static/{0e2b358 → 3101f6f}/icons/symbol-color.svg +0 -0
  2227. /package/static/{0e2b358 → 3101f6f}/icons/symbol-constant.svg +0 -0
  2228. /package/static/{0e2b358 → 3101f6f}/icons/symbol-enum-member.svg +0 -0
  2229. /package/static/{0e2b358 → 3101f6f}/icons/symbol-enum.svg +0 -0
  2230. /package/static/{0e2b358 → 3101f6f}/icons/symbol-event.svg +0 -0
  2231. /package/static/{0e2b358 → 3101f6f}/icons/symbol-field.svg +0 -0
  2232. /package/static/{0e2b358 → 3101f6f}/icons/symbol-file.svg +0 -0
  2233. /package/static/{0e2b358 → 3101f6f}/icons/symbol-interface.svg +0 -0
  2234. /package/static/{0e2b358 → 3101f6f}/icons/symbol-key.svg +0 -0
  2235. /package/static/{0e2b358 → 3101f6f}/icons/symbol-keyword.svg +0 -0
  2236. /package/static/{0e2b358 → 3101f6f}/icons/symbol-method-arrow.svg +0 -0
  2237. /package/static/{0e2b358 → 3101f6f}/icons/symbol-method.svg +0 -0
  2238. /package/static/{0e2b358 → 3101f6f}/icons/symbol-misc.svg +0 -0
  2239. /package/static/{0e2b358 → 3101f6f}/icons/symbol-namespace.svg +0 -0
  2240. /package/static/{0e2b358 → 3101f6f}/icons/symbol-numeric.svg +0 -0
  2241. /package/static/{0e2b358 → 3101f6f}/icons/symbol-operator.svg +0 -0
  2242. /package/static/{0e2b358 → 3101f6f}/icons/symbol-parameter.svg +0 -0
  2243. /package/static/{0e2b358 → 3101f6f}/icons/symbol-property.svg +0 -0
  2244. /package/static/{0e2b358 → 3101f6f}/icons/symbol-ruler.svg +0 -0
  2245. /package/static/{0e2b358 → 3101f6f}/icons/symbol-snippet.svg +0 -0
  2246. /package/static/{0e2b358 → 3101f6f}/icons/symbol-string.svg +0 -0
  2247. /package/static/{0e2b358 → 3101f6f}/icons/symbol-structure.svg +0 -0
  2248. /package/static/{0e2b358 → 3101f6f}/icons/symbol-variable.svg +0 -0
  2249. /package/static/{0e2b358 → 3101f6f}/icons/sync-ignored.svg +0 -0
  2250. /package/static/{0e2b358 → 3101f6f}/icons/sync.svg +0 -0
  2251. /package/static/{0e2b358 → 3101f6f}/icons/table.svg +0 -0
  2252. /package/static/{0e2b358 → 3101f6f}/icons/tag.svg +0 -0
  2253. /package/static/{0e2b358 → 3101f6f}/icons/target.svg +0 -0
  2254. /package/static/{0e2b358 → 3101f6f}/icons/tasklist.svg +0 -0
  2255. /package/static/{0e2b358 → 3101f6f}/icons/telescope.svg +0 -0
  2256. /package/static/{0e2b358 → 3101f6f}/icons/terminal-bash.svg +0 -0
  2257. /package/static/{0e2b358 → 3101f6f}/icons/terminal-cmd.svg +0 -0
  2258. /package/static/{0e2b358 → 3101f6f}/icons/terminal-debian.svg +0 -0
  2259. /package/static/{0e2b358 → 3101f6f}/icons/terminal-git-bash.svg +0 -0
  2260. /package/static/{0e2b358 → 3101f6f}/icons/terminal-linux.svg +0 -0
  2261. /package/static/{0e2b358 → 3101f6f}/icons/terminal-powershell.svg +0 -0
  2262. /package/static/{0e2b358 → 3101f6f}/icons/terminal-tmux.svg +0 -0
  2263. /package/static/{0e2b358 → 3101f6f}/icons/terminal-ubuntu.svg +0 -0
  2264. /package/static/{0e2b358 → 3101f6f}/icons/terminal.svg +0 -0
  2265. /package/static/{0e2b358 → 3101f6f}/icons/text-size.svg +0 -0
  2266. /package/static/{0e2b358 → 3101f6f}/icons/theme-icon.png +0 -0
  2267. /package/static/{0e2b358 → 3101f6f}/icons/thinking.svg +0 -0
  2268. /package/static/{0e2b358 → 3101f6f}/icons/three-bars.svg +0 -0
  2269. /package/static/{0e2b358 → 3101f6f}/icons/thumbsdown-filled.svg +0 -0
  2270. /package/static/{0e2b358 → 3101f6f}/icons/thumbsdown.svg +0 -0
  2271. /package/static/{0e2b358 → 3101f6f}/icons/thumbsup-filled.svg +0 -0
  2272. /package/static/{0e2b358 → 3101f6f}/icons/thumbsup.svg +0 -0
  2273. /package/static/{0e2b358 → 3101f6f}/icons/tools.svg +0 -0
  2274. /package/static/{0e2b358 → 3101f6f}/icons/trash.svg +0 -0
  2275. /package/static/{0e2b358 → 3101f6f}/icons/triangle-down.svg +0 -0
  2276. /package/static/{0e2b358 → 3101f6f}/icons/triangle-left.svg +0 -0
  2277. /package/static/{0e2b358 → 3101f6f}/icons/triangle-right.svg +0 -0
  2278. /package/static/{0e2b358 → 3101f6f}/icons/triangle-up.svg +0 -0
  2279. /package/static/{0e2b358 → 3101f6f}/icons/twitter.svg +0 -0
  2280. /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy-sub.svg +0 -0
  2281. /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy-super.svg +0 -0
  2282. /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy.svg +0 -0
  2283. /package/static/{0e2b358 → 3101f6f}/icons/unarchive.svg +0 -0
  2284. /package/static/{0e2b358 → 3101f6f}/icons/unfold.svg +0 -0
  2285. /package/static/{0e2b358 → 3101f6f}/icons/ungroup-by-ref-type.svg +0 -0
  2286. /package/static/{0e2b358 → 3101f6f}/icons/unlock.svg +0 -0
  2287. /package/static/{0e2b358 → 3101f6f}/icons/unmute.svg +0 -0
  2288. /package/static/{0e2b358 → 3101f6f}/icons/unverified.svg +0 -0
  2289. /package/static/{0e2b358 → 3101f6f}/icons/variable-group.svg +0 -0
  2290. /package/static/{0e2b358 → 3101f6f}/icons/verified-filled.svg +0 -0
  2291. /package/static/{0e2b358 → 3101f6f}/icons/verified.svg +0 -0
  2292. /package/static/{0e2b358 → 3101f6f}/icons/versions.svg +0 -0
  2293. /package/static/{0e2b358 → 3101f6f}/icons/vm-active.svg +0 -0
  2294. /package/static/{0e2b358 → 3101f6f}/icons/vm-connect.svg +0 -0
  2295. /package/static/{0e2b358 → 3101f6f}/icons/vm-outline.svg +0 -0
  2296. /package/static/{0e2b358 → 3101f6f}/icons/vm-pending.svg +0 -0
  2297. /package/static/{0e2b358 → 3101f6f}/icons/vm-running.svg +0 -0
  2298. /package/static/{0e2b358 → 3101f6f}/icons/vm-small.svg +0 -0
  2299. /package/static/{0e2b358 → 3101f6f}/icons/vm.svg +0 -0
  2300. /package/static/{0e2b358 → 3101f6f}/icons/vr.svg +0 -0
  2301. /package/static/{0e2b358 → 3101f6f}/icons/vscode-insiders.svg +0 -0
  2302. /package/static/{0e2b358 → 3101f6f}/icons/vscode.svg +0 -0
  2303. /package/static/{0e2b358 → 3101f6f}/icons/wand.svg +0 -0
  2304. /package/static/{0e2b358 → 3101f6f}/icons/warning.svg +0 -0
  2305. /package/static/{0e2b358 → 3101f6f}/icons/watch.svg +0 -0
  2306. /package/static/{0e2b358 → 3101f6f}/icons/whitespace.svg +0 -0
  2307. /package/static/{0e2b358 → 3101f6f}/icons/whole-word.svg +0 -0
  2308. /package/static/{0e2b358 → 3101f6f}/icons/window-active.svg +0 -0
  2309. /package/static/{0e2b358 → 3101f6f}/icons/window.svg +0 -0
  2310. /package/static/{0e2b358 → 3101f6f}/icons/word-wrap.svg +0 -0
  2311. /package/static/{0e2b358 → 3101f6f}/icons/workspace-trusted.svg +0 -0
  2312. /package/static/{0e2b358 → 3101f6f}/icons/workspace-unknown.svg +0 -0
  2313. /package/static/{0e2b358 → 3101f6f}/icons/workspace-untrusted.svg +0 -0
  2314. /package/static/{0e2b358 → 3101f6f}/icons/worktree-small.svg +0 -0
  2315. /package/static/{0e2b358 → 3101f6f}/icons/worktree.svg +0 -0
  2316. /package/static/{0e2b358 → 3101f6f}/icons/zoom-in.svg +0 -0
  2317. /package/static/{0e2b358 → 3101f6f}/icons/zoom-out.svg +0 -0
  2318. /package/static/{0e2b358 → 3101f6f}/js/babel-parser.js +0 -0
  2319. /package/static/{0e2b358 → 3101f6f}/js/ky.js +0 -0
  2320. /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-import-script.js +0 -0
  2321. /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-ipc.js +0 -0
  2322. /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-json-rpc.js +0 -0
  2323. /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-rpc.js +0 -0
  2324. /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-verror.js +0 -0
  2325. /package/static/{0e2b358 → 3101f6f}/js/p-min-delay.js +0 -0
  2326. /package/static/{0e2b358 → 3101f6f}/js/pretty-bytes.js +0 -0
  2327. /package/static/{0e2b358 → 3101f6f}/js/preview-injected.js +0 -0
  2328. /package/static/{0e2b358 → 3101f6f}/js/yoctodelay.js +0 -0
  2329. /package/static/{0e2b358 → 3101f6f}/lib-css/termterm.css +0 -0
  2330. /package/static/{0e2b358 → 3101f6f}/packages/chat-math-worker/dist/chatMathWorkerMain.js +0 -0
  2331. /package/static/{0e2b358 → 3101f6f}/packages/chat-message-parsing-worker/dist/chatMessageParsingWorkerMain.js +0 -0
  2332. /package/static/{0e2b358 → 3101f6f}/packages/chat-network-worker/dist/chatNetworkWorkerMain.js +0 -0
  2333. /package/static/{0e2b358 → 3101f6f}/packages/chat-tool-worker/dist/chatToolWorkerMain.js +0 -0
  2334. /package/static/{0e2b358 → 3101f6f}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +0 -0
  2335. /package/static/{0e2b358 → 3101f6f}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  2336. /package/static/{0e2b358 → 3101f6f}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  2337. /package/static/{0e2b358 → 3101f6f}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
  2338. /package/static/{0e2b358 → 3101f6f}/packages/diff-view/dist/diffViewWorkerMain.js +0 -0
  2339. /package/static/{0e2b358 → 3101f6f}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
  2340. /package/static/{0e2b358 → 3101f6f}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  2341. /package/static/{0e2b358 → 3101f6f}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  2342. /package/static/{0e2b358 → 3101f6f}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  2343. /package/static/{0e2b358 → 3101f6f}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
  2344. /package/static/{0e2b358 → 3101f6f}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  2345. /package/static/{0e2b358 → 3101f6f}/packages/extension-management-worker/dist/extensionManagementWorkerMain.js +0 -0
  2346. /package/static/{0e2b358 → 3101f6f}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  2347. /package/static/{0e2b358 → 3101f6f}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  2348. /package/static/{0e2b358 → 3101f6f}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  2349. /package/static/{0e2b358 → 3101f6f}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  2350. /package/static/{0e2b358 → 3101f6f}/packages/hover-worker/dist/hoverWorkerMain.js +0 -0
  2351. /package/static/{0e2b358 → 3101f6f}/packages/icon-theme-worker/dist/iconThemeWorkerMain.js +0 -0
  2352. /package/static/{0e2b358 → 3101f6f}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  2353. /package/static/{0e2b358 → 3101f6f}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  2354. /package/static/{0e2b358 → 3101f6f}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  2355. /package/static/{0e2b358 → 3101f6f}/packages/language-models-view/dist/languageModelsViewMain.js +0 -0
  2356. /package/static/{0e2b358 → 3101f6f}/packages/main-area-worker/dist/mainAreaWorkerMain.js +0 -0
  2357. /package/static/{0e2b358 → 3101f6f}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  2358. /package/static/{0e2b358 → 3101f6f}/packages/menu-worker/dist/menuWorkerMain.js +0 -0
  2359. /package/static/{0e2b358 → 3101f6f}/packages/opener-worker/dist/openerWorkerMain.js +0 -0
  2360. /package/static/{0e2b358 → 3101f6f}/packages/output-view/dist/outputViewWorkerMain.js +0 -0
  2361. /package/static/{0e2b358 → 3101f6f}/packages/panel-worker/dist/panelWorkerMain.js +0 -0
  2362. /package/static/{0e2b358 → 3101f6f}/packages/preload/dist/index.js +0 -0
  2363. /package/static/{0e2b358 → 3101f6f}/packages/preview-sandbox-worker/dist/previewSandBoxWorkerMain.js +0 -0
  2364. /package/static/{0e2b358 → 3101f6f}/packages/preview-worker/dist/previewWorkerMain.js +0 -0
  2365. /package/static/{0e2b358 → 3101f6f}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
  2366. /package/static/{0e2b358 → 3101f6f}/packages/quick-pick-worker/dist/quickPickWorkerMain.js +0 -0
  2367. /package/static/{0e2b358 → 3101f6f}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
  2368. /package/static/{0e2b358 → 3101f6f}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  2369. /package/static/{0e2b358 → 3101f6f}/packages/renderer-process/LICENSE +0 -0
  2370. /package/static/{0e2b358 → 3101f6f}/packages/renderer-process/README.md +0 -0
  2371. /package/static/{0e2b358 → 3101f6f}/packages/settings-view/dist/settingsViewWorkerMain.js +0 -0
  2372. /package/static/{0e2b358 → 3101f6f}/packages/source-action-worker/dist/sourceActionWorkerMain.js +0 -0
  2373. /package/static/{0e2b358 → 3101f6f}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  2374. /package/static/{0e2b358 → 3101f6f}/packages/status-bar-worker/dist/statusBarWorkerMain.js +0 -0
  2375. /package/static/{0e2b358 → 3101f6f}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  2376. /package/static/{0e2b358 → 3101f6f}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  2377. /package/static/{0e2b358 → 3101f6f}/packages/text-measurement-worker/dist/textMeasurementWorkerMain.js +0 -0
  2378. /package/static/{0e2b358 → 3101f6f}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  2379. /package/static/{0e2b358 → 3101f6f}/packages/update-worker/dist/updateWorkerMain.js +0 -0
  2380. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.cpp +0 -0
  2381. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.css +0 -0
  2382. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.csv +0 -0
  2383. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.dart +0 -0
  2384. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.env +0 -0
  2385. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.ex +0 -0
  2386. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.html +0 -0
  2387. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.java +0 -0
  2388. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.jl +0 -0
  2389. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.js +0 -0
  2390. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.json +0 -0
  2391. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.kt +0 -0
  2392. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.pl +0 -0
  2393. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.py +0 -0
  2394. /package/static/{0e2b358 → 3101f6f}/playground/languages/index.ts +0 -0
  2395. /package/static/{0e2b358 → 3101f6f}/playground/languages/scrolling.txt +0 -0
  2396. /package/static/{0e2b358 → 3101f6f}/playground/languages/tsconfig.json +0 -0
  2397. /package/static/{0e2b358 → 3101f6f}/playground/sample-folder/a.txt +0 -0
  2398. /package/static/{0e2b358 → 3101f6f}/playground/sample-folder/b.txt +0 -0
  2399. /package/static/{0e2b358 → 3101f6f}/playground/sample-folder/c.txt +0 -0
@@ -1137,6 +1137,8 @@ const Tr = 15;
1137
1137
  const Img = 17;
1138
1138
  const Section = 41;
1139
1139
  const Search = 42;
1140
+ const Li = 48;
1141
+ const Ul = 60;
1140
1142
  const TextArea = 62;
1141
1143
  const Reference = 100;
1142
1144
 
@@ -1185,6 +1187,9 @@ const writeClipBoardText = async text => {
1185
1187
  const getPreference = async key => {
1186
1188
  return await invoke('Preferences.get', key);
1187
1189
  };
1190
+ const openUri = async (uri, focus, options) => {
1191
+ await invoke('Main.openUri', uri, focus, options);
1192
+ };
1188
1193
 
1189
1194
  const toCommandId = key => {
1190
1195
  const dotIndex = key.indexOf('.');
@@ -1372,14 +1377,6 @@ const appendStoredImageAttachmentForTest = async (state, sessionId, eventId, mim
1372
1377
  return state;
1373
1378
  };
1374
1379
 
1375
- const decodeBase64 = value => {
1376
- const decoded = atob(value);
1377
- const bytes = new Uint8Array(decoded.length);
1378
- for (let i = 0; i < decoded.length; i++) {
1379
- bytes[i] = decoded.codePointAt(i) || 0;
1380
- }
1381
- return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
1382
- };
1383
1380
  const createCanvasBlob = async mimeType => {
1384
1381
  const canvas = new OffscreenCanvas(2, 2);
1385
1382
  const context = canvas.getContext('2d');
@@ -1392,6 +1389,16 @@ const createCanvasBlob = async mimeType => {
1392
1389
  type: mimeType
1393
1390
  });
1394
1391
  };
1392
+
1393
+ const decodeBase64 = value => {
1394
+ const decoded = atob(value);
1395
+ const bytes = new Uint8Array(decoded.length);
1396
+ for (let i = 0; i < decoded.length; i++) {
1397
+ bytes[i] = decoded.codePointAt(i) || 0;
1398
+ }
1399
+ return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
1400
+ };
1401
+
1395
1402
  const createBlob = async (mimeType, contentKind, content) => {
1396
1403
  if (contentKind === 'canvas') {
1397
1404
  return createCanvasBlob(mimeType);
@@ -1405,6 +1412,7 @@ const createBlob = async (mimeType, contentKind, content) => {
1405
1412
  type: mimeType
1406
1413
  });
1407
1414
  };
1415
+
1408
1416
  const appendStoredRemovedImageAttachmentForTest = async (state, sessionId, eventId, mimeType, name, contentKind, content, timestamp) => {
1409
1417
  const blob = await createBlob(mimeType, contentKind, content);
1410
1418
  await appendEvent({
@@ -1420,6 +1428,32 @@ const appendStoredRemovedImageAttachmentForTest = async (state, sessionId, event
1420
1428
  return state;
1421
1429
  };
1422
1430
 
1431
+ const Filter = 'filter';
1432
+ const EventCategoryFilter = 'eventCategoryFilter';
1433
+ const ShowEventStreamFinishedEvents = 'showEventStreamFinishedEvents';
1434
+ const ShowInputEvents = 'showInputEvents';
1435
+ const ShowResponsePartEvents = 'showResponsePartEvents';
1436
+ const UseDevtoolsLayout = 'useDevtoolsLayout';
1437
+ const SelectedEventIndex = 'selectedEventIndex';
1438
+ const CloseDetails$1 = 'closeDetails';
1439
+ const DetailTab = 'detailTab';
1440
+ const TimelineStartSeconds = 'timelineStartSeconds';
1441
+ const TimelineEndSeconds = 'timelineEndSeconds';
1442
+ const TimelineRangePreset = 'timelineRangePreset';
1443
+ const Refresh$1 = 'refresh';
1444
+ const ToggleHeadersSection = 'toggleHeadersSection';
1445
+ const All$1 = 'all';
1446
+ const Tools$1 = 'tools';
1447
+ const Network$1 = 'network';
1448
+ const Ui$1 = 'ui';
1449
+ const Stream$1 = 'stream';
1450
+ const Response$1 = 'response';
1451
+ const Preview$1 = 'preview';
1452
+ const Payload$1 = 'payload';
1453
+ const Headers$1 = 'headers';
1454
+ const Tokens$1 = 'tokens';
1455
+ const Timing$1 = 'timing';
1456
+
1423
1457
  const emptyObject = {};
1424
1458
  const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1425
1459
  const i18nString = (key, placeholders = emptyObject) => {
@@ -1432,9 +1466,10 @@ const i18nString = (key, placeholders = emptyObject) => {
1432
1466
  return key.replaceAll(RE_PLACEHOLDER, replacer);
1433
1467
  };
1434
1468
 
1435
- const All$1 = 'All';
1436
- const CloseDetails$1 = 'Close details';
1469
+ const All = 'All';
1470
+ const CloseDetails = 'Close details';
1437
1471
  const Copy = 'Copy';
1472
+ const CachedTokens = 'Cached Tokens';
1438
1473
  const DetailSections = 'Detail sections';
1439
1474
  const Duration$1 = 'Time';
1440
1475
  const Ended = 'Ended';
@@ -1442,34 +1477,48 @@ const FailedToLoadChatDebugSession = 'Failed to load chat debug session "{PH1}".
1442
1477
  const FailedToLoadChatDebugSessionWithError = 'Failed to load chat debug session "{PH1}": {PH2}';
1443
1478
  const FilterEvents = 'Filter events';
1444
1479
  const FromSeconds = 'from {PH1}s';
1480
+ const General$1 = 'General';
1481
+ const Headers = 'Headers';
1445
1482
  const ImageCouldNotBeLoaded = 'image could not be loaded';
1446
- const InvalidSessionId = 'Invalid session id';
1447
- const InvalidUriEncoding = 'Invalid URI encoding';
1448
- const InvalidUriFormat = 'Invalid URI format';
1483
+ const InputTokens = 'Input Tokens';
1484
+ const InvalidSessionId$1 = 'Invalid session id';
1485
+ const InvalidUriEncoding$1 = 'Invalid URI encoding';
1486
+ const InvalidUriFormat$1 = 'Invalid URI format';
1449
1487
  const Method$1 = 'Method';
1450
- const MissingUri = 'Missing URI';
1451
- const Network$1 = 'Network';
1488
+ const MissingUri$1 = 'Missing URI';
1489
+ const Network = 'Network';
1452
1490
  const NoChatSessionFound = 'No chat session found for sessionId "{PH1}".';
1453
1491
  const NoEventsFound = 'No events have been found';
1454
1492
  const NoEventsFoundMatching = 'No events found matching {PH1}';
1455
1493
  const NoToolCallEvents = 'No tool call events.';
1456
- const Payload$1 = 'Payload';
1457
- const Preview$1 = 'Preview';
1458
- const Refresh$1 = 'Refresh';
1494
+ const OpenInNewTab = 'Open in New Tab';
1495
+ const OutputTokens = 'Output Tokens';
1496
+ const Payload = 'Payload';
1497
+ const Preview = 'Preview';
1498
+ const Refresh = 'Refresh';
1459
1499
  const RefreshEvents = 'Refresh events';
1460
1500
  const ResetColumns = 'Reset columns';
1461
- const Response$1 = 'Response';
1501
+ const RequestHeaders$1 = 'Request Headers';
1502
+ const RequestMethod = 'Request Method';
1503
+ const RequestUrl = 'Request URL';
1504
+ const Response = 'Response';
1505
+ const ResponseHeaders$1 = 'Response Headers';
1506
+ const ResponseHeadersInfo = 'Some headers may not be displayed due to Access-Control-Expose-Headers header.';
1462
1507
  const SecondsRange = '{PH1}s-{PH2}s';
1508
+ const Size$1 = 'Size';
1463
1509
  const Started = 'Started';
1464
1510
  const Status$2 = 'Status';
1465
- const Stream$1 = 'Stream';
1466
- const TableSummaryPlural = '{PH1} events, {PH2} from start to finish';
1467
- const TableSummarySingular = '{PH1} event, {PH2} from start to finish';
1468
- const Timing$1 = 'Timing';
1511
+ const StatusCode = 'Status Code';
1512
+ const Stream = 'Stream';
1513
+ const TableSummaryRequestPlural = '{PH1} requests';
1514
+ const TableSummaryRequestSingular = '{PH1} request';
1515
+ const TableSummaryFinish = 'Finish {PH1}';
1516
+ const Timing = 'Timing';
1517
+ const Tokens = 'Tokens';
1469
1518
  const ToSeconds = 'to {PH1}s';
1470
- const Tools$1 = 'Tools';
1519
+ const Tools = 'Tools';
1471
1520
  const Type$1 = 'Type';
1472
- const Ui$1 = 'UI';
1521
+ const Ui = 'UI';
1473
1522
  const UnableToLoadDebugSessionInvalidUri = 'Unable to load debug session: invalid URI "{PH1}". Expected format: chat-debug://<sessionId>.';
1474
1523
  const UnableToLoadDebugSessionMissingUri = 'Unable to load debug session: missing URI. Expected format: chat-debug://<sessionId>.';
1475
1524
  const WindowSummary = 'Window {PH1}-{PH2} of {PH3}';
@@ -1477,14 +1526,20 @@ const WindowSummary = 'Window {PH1}-{PH2} of {PH3}';
1477
1526
  const copy = () => {
1478
1527
  return i18nString(Copy);
1479
1528
  };
1529
+ const openInNewTab = () => {
1530
+ return i18nString(OpenInNewTab);
1531
+ };
1532
+ const cachedTokens = () => {
1533
+ return i18nString(CachedTokens);
1534
+ };
1480
1535
  const status = () => {
1481
1536
  return i18nString(Status$2);
1482
1537
  };
1483
1538
  const all = () => {
1484
- return i18nString(All$1);
1539
+ return i18nString(All);
1485
1540
  };
1486
1541
  const closeDetails = () => {
1487
- return i18nString(CloseDetails$1);
1542
+ return i18nString(CloseDetails);
1488
1543
  };
1489
1544
  const detailSections = () => {
1490
1545
  return i18nString(DetailSections);
@@ -1514,26 +1569,35 @@ const fromSeconds = seconds => {
1514
1569
  PH1: seconds
1515
1570
  });
1516
1571
  };
1572
+ const general = () => {
1573
+ return i18nString(General$1);
1574
+ };
1575
+ const headers = () => {
1576
+ return i18nString(Headers);
1577
+ };
1517
1578
  const invalidSessionId = () => {
1518
- return i18nString(InvalidSessionId);
1579
+ return i18nString(InvalidSessionId$1);
1519
1580
  };
1520
1581
  const imageCouldNotBeLoaded = () => {
1521
1582
  return i18nString(ImageCouldNotBeLoaded);
1522
1583
  };
1584
+ const inputTokens = () => {
1585
+ return i18nString(InputTokens);
1586
+ };
1523
1587
  const invalidUriEncoding = () => {
1524
- return i18nString(InvalidUriEncoding);
1588
+ return i18nString(InvalidUriEncoding$1);
1525
1589
  };
1526
1590
  const invalidUriFormat = () => {
1527
- return i18nString(InvalidUriFormat);
1591
+ return i18nString(InvalidUriFormat$1);
1528
1592
  };
1529
1593
  const missingUri = () => {
1530
- return i18nString(MissingUri);
1594
+ return i18nString(MissingUri$1);
1531
1595
  };
1532
1596
  const method = () => {
1533
1597
  return i18nString(Method$1);
1534
1598
  };
1535
1599
  const network = () => {
1536
- return i18nString(Network$1);
1600
+ return i18nString(Network);
1537
1601
  };
1538
1602
  const noChatSessionFound = sessionId => {
1539
1603
  return i18nString(NoChatSessionFound, {
@@ -1552,22 +1616,43 @@ const noToolCallEvents = () => {
1552
1616
  return i18nString(NoToolCallEvents);
1553
1617
  };
1554
1618
  const preview = () => {
1555
- return i18nString(Preview$1);
1619
+ return i18nString(Preview);
1556
1620
  };
1557
1621
  const payload = () => {
1558
- return i18nString(Payload$1);
1622
+ return i18nString(Payload);
1623
+ };
1624
+ const outputTokens = () => {
1625
+ return i18nString(OutputTokens);
1559
1626
  };
1560
1627
  const refresh$1 = () => {
1561
- return i18nString(Refresh$1);
1628
+ return i18nString(Refresh);
1562
1629
  };
1563
1630
  const refreshEvents$1 = () => {
1564
1631
  return i18nString(RefreshEvents);
1565
1632
  };
1633
+ const requestHeaders = () => {
1634
+ return i18nString(RequestHeaders$1);
1635
+ };
1636
+ const requestMethod = () => {
1637
+ return i18nString(RequestMethod);
1638
+ };
1639
+ const requestUrl = () => {
1640
+ return i18nString(RequestUrl);
1641
+ };
1642
+ const responseHeaders = () => {
1643
+ return i18nString(ResponseHeaders$1);
1644
+ };
1645
+ const responseHeadersInfo = () => {
1646
+ return i18nString(ResponseHeadersInfo);
1647
+ };
1566
1648
  const resetColumns = () => {
1567
1649
  return i18nString(ResetColumns);
1568
1650
  };
1569
1651
  const response = () => {
1570
- return i18nString(Response$1);
1652
+ return i18nString(Response);
1653
+ };
1654
+ const size = () => {
1655
+ return i18nString(Size$1);
1571
1656
  };
1572
1657
  const secondsRange = (start, end) => {
1573
1658
  return i18nString(SecondsRange, {
@@ -1579,15 +1664,25 @@ const started = () => {
1579
1664
  return i18nString(Started);
1580
1665
  };
1581
1666
  const stream = () => {
1582
- return i18nString(Stream$1);
1667
+ return i18nString(Stream);
1668
+ };
1669
+ const statusCode = () => {
1670
+ return i18nString(StatusCode);
1583
1671
  };
1584
1672
  const timing = () => {
1585
- return i18nString(Timing$1);
1673
+ return i18nString(Timing);
1674
+ };
1675
+ const tokens = () => {
1676
+ return i18nString(Tokens);
1677
+ };
1678
+ const tableSummaryRequests = eventCount => {
1679
+ return i18nString(eventCount === 1 ? TableSummaryRequestSingular : TableSummaryRequestPlural, {
1680
+ PH1: String(eventCount)
1681
+ });
1586
1682
  };
1587
- const tableSummary = (eventCount, duration) => {
1588
- return i18nString(eventCount === 1 ? TableSummarySingular : TableSummaryPlural, {
1589
- PH1: String(eventCount),
1590
- PH2: duration
1683
+ const tableSummaryFinish = duration => {
1684
+ return i18nString(TableSummaryFinish, {
1685
+ PH1: duration
1591
1686
  });
1592
1687
  };
1593
1688
  const toSeconds = seconds => {
@@ -1596,13 +1691,13 @@ const toSeconds = seconds => {
1596
1691
  });
1597
1692
  };
1598
1693
  const tools = () => {
1599
- return i18nString(Tools$1);
1694
+ return i18nString(Tools);
1600
1695
  };
1601
1696
  const type = () => {
1602
1697
  return i18nString(Type$1);
1603
1698
  };
1604
1699
  const ui = () => {
1605
- return i18nString(Ui$1);
1700
+ return i18nString(Ui);
1606
1701
  };
1607
1702
  const unableToLoadDebugSessionInvalidUri = uri => {
1608
1703
  return i18nString(UnableToLoadDebugSessionInvalidUri, {
@@ -1620,159 +1715,66 @@ const windowSummary = (start, end, duration) => {
1620
1715
  });
1621
1716
  };
1622
1717
 
1623
- const Filter = 'filter';
1624
- const EventCategoryFilter = 'eventCategoryFilter';
1625
- const ShowEventStreamFinishedEvents = 'showEventStreamFinishedEvents';
1626
- const ShowInputEvents = 'showInputEvents';
1627
- const ShowResponsePartEvents = 'showResponsePartEvents';
1628
- const UseDevtoolsLayout = 'useDevtoolsLayout';
1629
- const SelectedEventIndex = 'selectedEventIndex';
1630
- const CloseDetails = 'closeDetails';
1631
- const DetailTab = 'detailTab';
1632
- const TimelineStartSeconds = 'timelineStartSeconds';
1633
- const TimelineEndSeconds = 'timelineEndSeconds';
1634
- const TimelineRangePreset = 'timelineRangePreset';
1635
- const Refresh = 'refresh';
1636
- const All = 'all';
1637
- const Tools = 'tools';
1638
- const Network = 'network';
1639
- const Ui = 'ui';
1640
- const Stream = 'stream';
1641
- const Response = 'response';
1642
- const Preview = 'preview';
1643
- const Payload = 'payload';
1644
- const Timing = 'timing';
1645
-
1646
- const isDetailTab = value => {
1647
- return value === Response || value === Preview || value === Payload || value === Timing;
1648
- };
1649
-
1650
- const getSafeSelectedDetailTab = selectedDetailTab => {
1651
- return isDetailTab(selectedDetailTab) ? selectedDetailTab : Response;
1652
- };
1653
-
1654
- const hasTimingDetails = event => {
1655
- const hasDuration = typeof event.duration === 'number' || typeof event.durationMs === 'number';
1656
- const hasStart = event.started !== undefined || event.startTime !== undefined || event.startTimestamp !== undefined;
1657
- const hasEnd = event.ended !== undefined || event.endTime !== undefined || event.endTimestamp !== undefined;
1658
- return hasDuration || hasStart && hasEnd;
1659
- };
1660
-
1661
- const createDetailTabs = (selectedDetailTab = Response, event) => {
1662
- const hasTimingTab = event ? hasTimingDetails(event) : true;
1663
- const safeSelectedDetailTab = getSafeSelectedDetailTab(selectedDetailTab);
1664
- const normalizedSelectedDetailTab = hasTimingTab || safeSelectedDetailTab !== Timing ? safeSelectedDetailTab : Response;
1665
- const detailTabs = [{
1666
- isSelected: normalizedSelectedDetailTab === Preview,
1667
- label: preview(),
1668
- name: Preview
1669
- }, {
1670
- isSelected: normalizedSelectedDetailTab === Payload,
1671
- label: payload(),
1672
- name: Payload
1673
- }, {
1674
- isSelected: normalizedSelectedDetailTab === Response,
1675
- label: response(),
1676
- name: Response
1677
- }];
1678
- if (hasTimingTab) {
1679
- detailTabs.push({
1680
- isSelected: normalizedSelectedDetailTab === Timing,
1681
- label: timing(),
1682
- name: Timing
1683
- });
1684
- }
1685
- return detailTabs;
1686
- };
1687
-
1688
- const getSelectedDetailTab = detailTabs => {
1689
- const selectedDetailTab = detailTabs.find(detailTab => detailTab.isSelected);
1690
- if (selectedDetailTab) {
1691
- return selectedDetailTab.name;
1692
- }
1693
- const responseTab = detailTabs.find(detailTab => detailTab.name === Response);
1694
- if (responseTab) {
1695
- return responseTab.name;
1696
- }
1697
- return detailTabs[0]?.name ?? Response;
1698
- };
1699
-
1700
- const hasDetailTab = (detailTabs, value) => {
1701
- return detailTabs.some(detailTab => detailTab.name === value);
1702
- };
1703
-
1704
- const selectDetailTab$1 = (detailTabs, selectedDetailTab) => {
1705
- if (!hasDetailTab(detailTabs, selectedDetailTab)) {
1706
- return detailTabs;
1707
- }
1708
- return detailTabs.map(detailTab => {
1709
- return {
1710
- ...detailTab,
1711
- isSelected: detailTab.name === selectedDetailTab
1712
- };
1713
- });
1714
- };
1715
-
1716
1718
  const getEventCategoryFilterLabel = eventCategoryFilter => {
1717
1719
  switch (eventCategoryFilter) {
1718
- case Network:
1720
+ case Network$1:
1719
1721
  return network();
1720
- case Stream:
1722
+ case Stream$1:
1721
1723
  return stream();
1722
- case Tools:
1724
+ case Tools$1:
1723
1725
  return tools();
1724
- case Ui:
1726
+ case Ui$1:
1725
1727
  return ui();
1726
1728
  default:
1727
1729
  return all();
1728
1730
  }
1729
1731
  };
1730
1732
 
1731
- const eventCategoryFilters = [All, Tools, Network, Ui, Stream];
1732
- const normalizeSelectedEventCategoryFilters = (selectedEventCategoryFilter = All) => {
1733
+ const eventCategoryFilters = [All$1, Tools$1, Network$1, Ui$1, Stream$1];
1734
+ const normalizeSelectedEventCategoryFilters = (selectedEventCategoryFilter = All$1) => {
1733
1735
  const selectedEventCategoryFilters = Array.isArray(selectedEventCategoryFilter) ? selectedEventCategoryFilter : [selectedEventCategoryFilter];
1734
1736
  const uniqueSelectedEventCategoryFilters = [...new Set(selectedEventCategoryFilters)];
1735
1737
  const validSelectedEventCategoryFilters = uniqueSelectedEventCategoryFilters.filter(value => {
1736
1738
  return eventCategoryFilters.includes(value);
1737
1739
  });
1738
1740
  if (validSelectedEventCategoryFilters.length === 0) {
1739
- return [All];
1741
+ return [All$1];
1740
1742
  }
1741
- if (validSelectedEventCategoryFilters.includes(All)) {
1742
- return [All];
1743
+ if (validSelectedEventCategoryFilters.includes(All$1)) {
1744
+ return [All$1];
1743
1745
  }
1744
1746
  return validSelectedEventCategoryFilters;
1745
1747
  };
1746
- const createCategoryFilters$1 = (selectedEventCategoryFilter = All) => {
1748
+ const createCategoryFilters$1 = (selectedEventCategoryFilter = All$1) => {
1747
1749
  const selectedEventCategoryFilters = normalizeSelectedEventCategoryFilters(selectedEventCategoryFilter);
1748
1750
  return [{
1749
- isSelected: selectedEventCategoryFilters.includes(All),
1751
+ isSelected: selectedEventCategoryFilters.includes(All$1),
1750
1752
  label: all(),
1751
- name: All
1753
+ name: All$1
1752
1754
  }, {
1753
- isSelected: selectedEventCategoryFilters.includes(Tools),
1755
+ isSelected: selectedEventCategoryFilters.includes(Tools$1),
1754
1756
  label: tools(),
1755
- name: Tools
1757
+ name: Tools$1
1756
1758
  }, {
1757
- isSelected: selectedEventCategoryFilters.includes(Network),
1759
+ isSelected: selectedEventCategoryFilters.includes(Network$1),
1758
1760
  label: network(),
1759
- name: Network
1761
+ name: Network$1
1760
1762
  }, {
1761
- isSelected: selectedEventCategoryFilters.includes(Ui),
1763
+ isSelected: selectedEventCategoryFilters.includes(Ui$1),
1762
1764
  label: ui(),
1763
- name: Ui
1765
+ name: Ui$1
1764
1766
  }, {
1765
- isSelected: selectedEventCategoryFilters.includes(Stream),
1767
+ isSelected: selectedEventCategoryFilters.includes(Stream$1),
1766
1768
  label: stream(),
1767
- name: Stream
1769
+ name: Stream$1
1768
1770
  }];
1769
1771
  };
1770
1772
 
1771
- const createCategoryFilters = (selectedEventCategoryFilter = All) => {
1773
+ const createCategoryFilters = (selectedEventCategoryFilter = All$1) => {
1772
1774
  return createCategoryFilters$1(selectedEventCategoryFilter);
1773
1775
  };
1774
1776
  const isEventCategoryFilter = value => {
1775
- return value === All || value === Tools || value === Network || value === Ui || value === Stream;
1777
+ return value === All$1 || value === Tools$1 || value === Network$1 || value === Ui$1 || value === Stream$1;
1776
1778
  };
1777
1779
  const getSelectedEventCategoryFilters = categoryFilters => {
1778
1780
  const selectedCategoryFilters = categoryFilters.filter(categoryFilter => categoryFilter.isSelected);
@@ -1784,7 +1786,7 @@ const getSelectedEventCategoryFilter = categoryFilters => {
1784
1786
  if (selectedEventCategoryFilters.length === 1) {
1785
1787
  return selectedEventCategoryFilters[0];
1786
1788
  }
1787
- return All;
1789
+ return All$1;
1788
1790
  };
1789
1791
  const selectCategoryFilters = (categoryFilters, selectedEventCategoryFilters) => {
1790
1792
  const normalizedSelectedEventCategoryFilters = normalizeSelectedEventCategoryFilters(selectedEventCategoryFilters.filter(value => isEventCategoryFilter(value)));
@@ -1803,59 +1805,82 @@ const selectCategoryFilter = (categoryFilters, selectedEventCategoryFilter, addi
1803
1805
  if (!isEventCategoryFilter(selectedEventCategoryFilter)) {
1804
1806
  return categoryFilters;
1805
1807
  }
1806
- if (!additive || selectedEventCategoryFilter === All) {
1808
+ if (!additive || selectedEventCategoryFilter === All$1) {
1807
1809
  return selectCategoryFilters(categoryFilters, [selectedEventCategoryFilter]);
1808
1810
  }
1809
- const selectedEventCategoryFilters = getSelectedEventCategoryFilters(categoryFilters).filter(value => value !== All);
1811
+ const selectedEventCategoryFilters = getSelectedEventCategoryFilters(categoryFilters).filter(value => value !== All$1);
1810
1812
  const nextSelectedEventCategoryFilters = selectedEventCategoryFilters.includes(selectedEventCategoryFilter) ? selectedEventCategoryFilters.filter(value => value !== selectedEventCategoryFilter) : [...selectedEventCategoryFilters, selectedEventCategoryFilter];
1811
1813
  if (nextSelectedEventCategoryFilters.length === 0) {
1812
- return selectCategoryFilters(categoryFilters, [All]);
1814
+ return selectCategoryFilters(categoryFilters, [All$1]);
1813
1815
  }
1814
1816
  return selectCategoryFilters(categoryFilters, nextSelectedEventCategoryFilters);
1815
1817
  };
1816
1818
 
1817
- const RE_SPACE = /\s+/;
1818
- const tokenToEventCategoryFilter = new Map([['@tools', Tools], ['@network', Network], ['@ui', Ui], ['@stream', Stream]]);
1819
- const parseFilterValue = filterValue => {
1820
- const normalizedFilter = filterValue.trim().toLowerCase();
1821
- if (!normalizedFilter) {
1819
+ const isDetailTab = value => {
1820
+ return value === Response$1 || value === Preview$1 || value === Payload$1 || value === Headers$1 || value === Tokens$1 || value === Headers$1 || value === Timing$1;
1821
+ };
1822
+
1823
+ const hasDetailTab = (detailTabs, value) => {
1824
+ return detailTabs.some(detailTab => detailTab.name === value);
1825
+ };
1826
+
1827
+ const selectDetailTab$1 = (detailTabs, selectedDetailTab) => {
1828
+ if (!hasDetailTab(detailTabs, selectedDetailTab)) {
1829
+ return detailTabs;
1830
+ }
1831
+ return detailTabs.map(detailTab => {
1822
1832
  return {
1823
- eventCategoryFilter: All,
1824
- filterText: ''
1833
+ ...detailTab,
1834
+ isSelected: detailTab.name === selectedDetailTab
1825
1835
  };
1826
- }
1827
- const parts = normalizedFilter.split(RE_SPACE);
1828
- const eventCategoryFilter = parts.map(part => tokenToEventCategoryFilter.get(part)).find(Boolean) || All;
1829
- const filterText = parts.filter(part => !tokenToEventCategoryFilter.has(part)).join(' ');
1830
- return {
1831
- eventCategoryFilter,
1832
- filterText
1833
- };
1836
+ });
1834
1837
  };
1835
1838
 
1836
1839
  const Type = 'type';
1837
1840
  const Method = 'method';
1838
1841
  const Duration = 'duration';
1839
1842
  const Status$1 = 'status';
1840
- const tableColumnNames = [Type, Method, Status$1, Duration];
1841
- const createTableColumns = () => {
1842
- return [{
1843
- isVisible: true,
1844
- label: type(),
1845
- name: Type
1846
- }, {
1847
- isVisible: true,
1843
+ const Size = 'size';
1844
+ const tableColumnNames = [Type, Method, Status$1, Size, Duration];
1845
+ const tableColumnDefinitions = {
1846
+ [Duration]: {
1847
+ defaultWidth: 110,
1848
+ label: duration(),
1849
+ minimumWidth: 80
1850
+ },
1851
+ [Method]: {
1852
+ defaultWidth: 90,
1848
1853
  label: method(),
1849
- name: Method
1850
- }, {
1851
- isVisible: true,
1854
+ minimumWidth: 56
1855
+ },
1856
+ [Size]: {
1857
+ defaultWidth: 100,
1858
+ label: size(),
1859
+ minimumWidth: 80
1860
+ },
1861
+ [Status$1]: {
1862
+ defaultWidth: 110,
1852
1863
  label: status(),
1853
- name: Status$1
1854
- }, {
1855
- isVisible: true,
1856
- label: duration(),
1857
- name: Duration
1858
- }];
1864
+ minimumWidth: 56
1865
+ },
1866
+ [Type]: {
1867
+ defaultWidth: 260,
1868
+ label: type(),
1869
+ minimumWidth: 80
1870
+ }
1871
+ };
1872
+ const createTableColumns = () => {
1873
+ return tableColumnNames.map(name => {
1874
+ const definition = tableColumnDefinitions[name];
1875
+ return {
1876
+ defaultWidth: definition.defaultWidth,
1877
+ isVisible: true,
1878
+ label: definition.label,
1879
+ minimumWidth: definition.minimumWidth,
1880
+ name,
1881
+ width: definition.defaultWidth
1882
+ };
1883
+ });
1859
1884
  };
1860
1885
  const defaultVisibleTableColumns = tableColumnNames;
1861
1886
  const isTableColumn = value => {
@@ -1871,13 +1896,45 @@ const getTableColumnsWithVisibility = (tableColumns, visibleTableColumns) => {
1871
1896
  isVisible: visibleColumns.has(column.name)
1872
1897
  }));
1873
1898
  };
1899
+ const getTableColumnByName = (tableColumns, name) => {
1900
+ return tableColumns.find(column => column.name === name);
1901
+ };
1902
+ const getTableColumnWidth = (tableColumns, name) => {
1903
+ return getTableColumnByName(tableColumns, name)?.width ?? 0;
1904
+ };
1905
+ const getTableColumnMinimumWidth = (tableColumns, name) => {
1906
+ return getTableColumnByName(tableColumns, name)?.minimumWidth ?? 0;
1907
+ };
1908
+ const getTableColumnWidths = tableColumns => {
1909
+ return {
1910
+ duration: getTableColumnWidth(tableColumns, Duration),
1911
+ method: getTableColumnWidth(tableColumns, Method),
1912
+ size: getTableColumnWidth(tableColumns, Size),
1913
+ status: getTableColumnWidth(tableColumns, Status$1),
1914
+ type: getTableColumnWidth(tableColumns, Type)
1915
+ };
1916
+ };
1917
+ const setTableColumnWidths = (tableColumns, tableColumnWidths) => {
1918
+ return tableColumns.map(column => ({
1919
+ ...column,
1920
+ width: tableColumnWidths[column.name]
1921
+ }));
1922
+ };
1923
+ const setTableColumnWidth = (tableColumns, columnName, width) => {
1924
+ return tableColumns.map(column => {
1925
+ if (column.name !== columnName) {
1926
+ return column;
1927
+ }
1928
+ return {
1929
+ ...column,
1930
+ width
1931
+ };
1932
+ });
1933
+ };
1874
1934
  const getOrderedVisibleTableColumns = (values, tableColumns = createTableColumns()) => {
1875
1935
  const visibleColumns = new Set(values.filter(isTableColumn));
1876
1936
  return tableColumns.map(column => column.name).filter(column => visibleColumns.has(column));
1877
1937
  };
1878
- const isVisibleTableColumn = (tableColumns, column) => {
1879
- return tableColumns.some(tableColumn => tableColumn.name === column && tableColumn.isVisible);
1880
- };
1881
1938
  const getTableColumnLabel = (tableColumns, name) => {
1882
1939
  const match = tableColumns.find(column => column.name === name);
1883
1940
  if (match) {
@@ -1888,6 +1945,8 @@ const getTableColumnLabel = (tableColumns, name) => {
1888
1945
  return duration();
1889
1946
  case Method:
1890
1947
  return method();
1948
+ case Size:
1949
+ return size();
1891
1950
  case Status$1:
1892
1951
  return status();
1893
1952
  case Type:
@@ -1897,52 +1956,41 @@ const getTableColumnLabel = (tableColumns, name) => {
1897
1956
  }
1898
1957
  };
1899
1958
 
1900
- const defaultTableColumnWidths = {
1901
- duration: 110,
1902
- method: 90,
1903
- status: 110,
1904
- type: 260
1959
+ const getMainWidth = state => {
1960
+ return Math.max(0, state.width - state.horizontalPadding);
1905
1961
  };
1906
-
1907
- const defaultTableWidth = 480;
1908
- const minTableWidth = 240;
1909
- const minDetailsWidth = 280;
1910
- const sashWidth = 8;
1911
- const viewPadding = 8;
1912
- const timelineHorizontalPadding = 10;
1913
- const horizontalPadding = viewPadding * 2;
1914
- const leftPadding = viewPadding;
1915
- const getMainWidth = width => {
1916
- return Math.max(0, width - horizontalPadding);
1962
+ const getNarrowMainWidthBreakpoint = state => {
1963
+ return Math.max(0, state.mediumBreakpoint - state.horizontalPadding);
1917
1964
  };
1918
- const clampTableWidth = (width, tableWidth) => {
1919
- const mainWidth = getMainWidth(width);
1920
- const maxTableWidth = Math.max(0, mainWidth - minDetailsWidth - sashWidth);
1921
- const minClampedTableWidth = Math.min(minTableWidth, maxTableWidth);
1965
+ const isNarrowSplitLayout = state => {
1966
+ return getMainWidth(state) <= getNarrowMainWidthBreakpoint(state);
1967
+ };
1968
+ const clampTableWidth = (state, tableWidth) => {
1969
+ const mainWidth = getMainWidth(state);
1970
+ const maxTableWidth = Math.max(0, mainWidth - state.minDetailsWidth - state.sashWidth);
1971
+ const minClampedTableWidth = Math.min(state.minTableWidth, maxTableWidth);
1922
1972
  return Math.max(minClampedTableWidth, Math.min(tableWidth, maxTableWidth));
1923
1973
  };
1924
- const getDetailsWidth = (width, tableWidth) => {
1925
- const mainWidth = getMainWidth(width);
1926
- const clampedTableWidth = clampTableWidth(width, tableWidth);
1927
- return Math.max(0, mainWidth - clampedTableWidth - sashWidth);
1974
+ const getDetailsWidth = (state, tableWidth) => {
1975
+ const mainWidth = getMainWidth(state);
1976
+ const clampedTableWidth = clampTableWidth(state, tableWidth);
1977
+ return Math.max(0, mainWidth - clampedTableWidth - state.sashWidth);
1928
1978
  };
1929
- const getTableWidthFromClientX = (viewX, width, clientX) => {
1930
- const nextTableWidth = clientX - viewX - leftPadding;
1931
- return clampTableWidth(width, nextTableWidth);
1979
+ const getBalancedSplitTableWidth = state => {
1980
+ const mainWidth = getMainWidth(state);
1981
+ const balancedTableWidth = Math.floor(Math.max(0, mainWidth - state.sashWidth) / 2);
1982
+ return clampTableWidth(state, balancedTableWidth);
1932
1983
  };
1933
-
1934
- const minimumTableColumnWidths = {
1935
- [Duration]: 80,
1936
- [Method]: 56,
1937
- [Status$1]: 56,
1938
- [Type]: 80
1984
+ const shouldUseBalancedSplitTableWidth = state => {
1985
+ return !!state.selectedEvent && state.useDevtoolsLayout && !state.tableWidthManuallyResized && isNarrowSplitLayout(state);
1939
1986
  };
1940
- const getMinimumTableColumnWidth = column => {
1941
- return minimumTableColumnWidths[column];
1987
+ const getTableWidthFromClientX = (state, clientX) => {
1988
+ const nextTableWidth = clientX - state.x - state.leftPadding;
1989
+ return clampTableWidth(state, nextTableWidth);
1942
1990
  };
1943
1991
 
1944
- const getTableColumnLayout = (tableWidth, visibleTableColumns, tableColumnWidths) => {
1945
- const visibleColumns = getOrderedVisibleTableColumns(visibleTableColumns);
1992
+ const getTableColumnLayout = (tableWidth, visibleTableColumns, tableColumns) => {
1993
+ const visibleColumns = getOrderedVisibleTableColumns(visibleTableColumns, tableColumns);
1946
1994
  if (visibleColumns.length === 0) {
1947
1995
  return {
1948
1996
  fixedColumns: [],
@@ -1959,10 +2007,10 @@ const getTableColumnLayout = (tableWidth, visibleTableColumns, tableColumnWidths
1959
2007
  visibleColumnWidths.push(Math.max(0, remainingWidth));
1960
2008
  continue;
1961
2009
  }
1962
- const minimumWidth = getMinimumTableColumnWidth(column);
1963
- const minimumRemainingWidth = visibleColumns.slice(index + 1).reduce((total, remainingColumn) => total + getMinimumTableColumnWidth(remainingColumn), 0);
2010
+ const minimumWidth = getTableColumnMinimumWidth(tableColumns, column);
2011
+ const minimumRemainingWidth = visibleColumns.slice(index + 1).reduce((total, remainingColumn) => total + getTableColumnMinimumWidth(tableColumns, remainingColumn), 0);
1964
2012
  const maxWidth = Math.max(minimumWidth, remainingWidth - minimumRemainingWidth);
1965
- const preferredWidth = tableColumnWidths[column];
2013
+ const preferredWidth = getTableColumnWidth(tableColumns, column);
1966
2014
  const clampedWidth = Math.max(minimumWidth, Math.min(preferredWidth, maxWidth));
1967
2015
  visibleColumnWidths.push(clampedWidth);
1968
2016
  remainingWidth -= clampedWidth;
@@ -1981,28 +2029,25 @@ const getTableColumnLayout = (tableWidth, visibleTableColumns, tableColumnWidths
1981
2029
  };
1982
2030
  };
1983
2031
 
1984
- const getResizedTableColumnWidths = (width, tableWidth, visibleTableColumns, tableColumnWidths, viewX, clientX, resizerDownId) => {
1985
- const clampedTableWidth = clampTableWidth(width, tableWidth);
1986
- const layout = getTableColumnLayout(clampedTableWidth, visibleTableColumns, tableColumnWidths);
2032
+ const getResizedTableColumnWidths = (state, visibleTableColumns, tableColumns, clientX, resizerDownId) => {
2033
+ const clampedTableWidth = clampTableWidth(state, state.tableWidth);
2034
+ const layout = getTableColumnLayout(clampedTableWidth, visibleTableColumns, tableColumns);
1987
2035
  if (resizerDownId < 1 || resizerDownId >= layout.visibleColumns.length) {
1988
- return tableColumnWidths;
2036
+ return tableColumns;
1989
2037
  }
1990
2038
  const boundaryIndex = resizerDownId - 1;
1991
2039
  const precedingWidth = layout.visibleColumnWidths.slice(0, boundaryIndex).reduce((total, current) => total + current, 0);
1992
2040
  const resizedColumn = layout.visibleColumns[boundaryIndex];
1993
- const minimumWidth = getMinimumTableColumnWidth(resizedColumn);
1994
- const minimumRemainingWidth = layout.visibleColumns.slice(boundaryIndex + 1).reduce((total, column) => total + getMinimumTableColumnWidth(column), 0);
2041
+ const minimumWidth = getTableColumnMinimumWidth(tableColumns, resizedColumn);
2042
+ const minimumRemainingWidth = layout.visibleColumns.slice(boundaryIndex + 1).reduce((total, column) => total + getTableColumnMinimumWidth(tableColumns, column), 0);
1995
2043
  const maxWidth = Math.max(minimumWidth, clampedTableWidth - precedingWidth - minimumRemainingWidth);
1996
- const nextWidth = clientX - viewX - leftPadding - precedingWidth;
2044
+ const nextWidth = clientX - state.x - state.leftPadding - precedingWidth;
1997
2045
  const clampedWidth = Math.max(minimumWidth, Math.min(nextWidth, maxWidth));
1998
- return {
1999
- ...tableColumnWidths,
2000
- [resizedColumn]: clampedWidth
2001
- };
2046
+ return setTableColumnWidth(tableColumns, resizedColumn, clampedWidth);
2002
2047
  };
2003
2048
 
2004
2049
  const isSameTableColumnWidths = (first, second) => {
2005
- return first.type === second.type && first.method === second.method && first.duration === second.duration && first.status === second.status;
2050
+ return first.type === second.type && first.method === second.method && first.duration === second.duration && first.size === second.size && first.status === second.status;
2006
2051
  };
2007
2052
 
2008
2053
  const isFiniteNumber = value => {
@@ -2014,13 +2059,20 @@ const isTableColumnWidths = value => {
2014
2059
  return false;
2015
2060
  }
2016
2061
  const record = value;
2017
- return isFiniteNumber(record.type) && isFiniteNumber(record.method) && isFiniteNumber(record.duration) && isFiniteNumber(record.status);
2062
+ return isFiniteNumber(record.type) && isFiniteNumber(record.method) && isFiniteNumber(record.duration) && isFiniteNumber(record.size) && isFiniteNumber(record.status);
2018
2063
  };
2019
2064
 
2020
- const validEventCategoryFilters = new Set([All, Network, Stream, Tools, Ui]);
2065
+ const validEventCategoryFilters = new Set([All$1, Network$1, Stream$1, Tools$1, Ui$1]);
2021
2066
  const isSavedState = value => {
2022
2067
  return typeof value === 'object' && value !== null;
2023
2068
  };
2069
+ const isLegacyTableColumnWidths = value => {
2070
+ if (typeof value !== 'object' || value === null) {
2071
+ return false;
2072
+ }
2073
+ const record = value;
2074
+ return typeof record.duration === 'number' && Number.isFinite(record.duration) && typeof record.method === 'number' && Number.isFinite(record.method) && typeof record.status === 'number' && Number.isFinite(record.status) && typeof record.type === 'number' && Number.isFinite(record.type) && !('size' in record);
2075
+ };
2024
2076
  const restoreCategoryFilters = (savedState, currentCategoryFilters) => {
2025
2077
  if (Array.isArray(savedState.eventCategoryFilters)) {
2026
2078
  return selectCategoryFilters(currentCategoryFilters, savedState.eventCategoryFilters.filter(value => typeof value === 'string'));
@@ -2028,9 +2080,6 @@ const restoreCategoryFilters = (savedState, currentCategoryFilters) => {
2028
2080
  if (typeof savedState.eventCategoryFilter === 'string' && validEventCategoryFilters.has(savedState.eventCategoryFilter)) {
2029
2081
  return selectCategoryFilter(currentCategoryFilters, savedState.eventCategoryFilter);
2030
2082
  }
2031
- if (typeof savedState.filterValue === 'string') {
2032
- return selectCategoryFilter(currentCategoryFilters, parseFilterValue(savedState.filterValue).eventCategoryFilter);
2033
- }
2034
2083
  return currentCategoryFilters;
2035
2084
  };
2036
2085
  const restoreFilterValue = (savedState, currentFilterValue) => {
@@ -2053,10 +2102,33 @@ const restoreVisibleTableColumns = (savedState, currentTableColumns) => {
2053
2102
  return currentTableColumns;
2054
2103
  }
2055
2104
  const visibleTableColumns = savedState.visibleTableColumns.filter(value => typeof value === 'string');
2105
+ if (isLegacyTableColumnWidths(savedState.tableColumnWidths)) {
2106
+ const savedVisibleColumns = new Set(visibleTableColumns);
2107
+ const visibleColumnsWithDefaults = currentTableColumns.filter(column => savedVisibleColumns.has(column.name) || column.name === 'size').map(column => column.name);
2108
+ return getTableColumnsWithVisibility(currentTableColumns, visibleColumnsWithDefaults);
2109
+ }
2056
2110
  return getTableColumnsWithVisibility(currentTableColumns, visibleTableColumns);
2057
2111
  };
2058
- const restoreTableColumnWidths = (savedState, currentTableColumnWidths) => {
2059
- return isTableColumnWidths(savedState.tableColumnWidths) ? savedState.tableColumnWidths : currentTableColumnWidths;
2112
+ const restoreTableColumns = (savedState, currentTableColumns) => {
2113
+ const tableColumnsWithVisibility = restoreVisibleTableColumns(savedState, currentTableColumns);
2114
+ const {
2115
+ tableColumnWidths: savedTableColumnWidths
2116
+ } = savedState;
2117
+ if (isTableColumnWidths(savedTableColumnWidths)) {
2118
+ return setTableColumnWidths(tableColumnsWithVisibility, savedTableColumnWidths);
2119
+ }
2120
+ if (isLegacyTableColumnWidths(savedTableColumnWidths)) {
2121
+ const legacyTableColumnWidths = savedTableColumnWidths;
2122
+ const currentTableColumnWidths = getTableColumnWidths(currentTableColumns);
2123
+ return setTableColumnWidths(tableColumnsWithVisibility, {
2124
+ duration: legacyTableColumnWidths.duration,
2125
+ method: legacyTableColumnWidths.method,
2126
+ size: currentTableColumnWidths.size,
2127
+ status: legacyTableColumnWidths.status,
2128
+ type: legacyTableColumnWidths.type
2129
+ });
2130
+ }
2131
+ return tableColumnsWithVisibility;
2060
2132
  };
2061
2133
  const restoreSavedState = (state, savedState) => {
2062
2134
  if (!isSavedState(savedState)) {
@@ -2068,8 +2140,7 @@ const restoreSavedState = (state, savedState) => {
2068
2140
  detailTabs: restoreDetailTabs(savedState, state.detailTabs),
2069
2141
  filterValue: restoreFilterValue(savedState, state.filterValue),
2070
2142
  selectedEventId: restoreSelectedEventId(savedState, state.selectedEventId),
2071
- tableColumns: restoreVisibleTableColumns(savedState, state.tableColumns),
2072
- tableColumnWidths: restoreTableColumnWidths(savedState, state.tableColumnWidths),
2143
+ tableColumns: restoreTableColumns(savedState, state.tableColumns),
2073
2144
  timelineEndSeconds: restoreTimelineEndSeconds(savedState, state.timelineEndSeconds),
2074
2145
  timelineStartSeconds: restoreTimelineStartSeconds(savedState, state.timelineStartSeconds)
2075
2146
  };
@@ -2084,6 +2155,172 @@ const {
2084
2155
  wrapGetter
2085
2156
  } = create$1();
2086
2157
 
2158
+ const getSafeSelectedDetailTab = selectedDetailTab => {
2159
+ return isDetailTab(selectedDetailTab) ? selectedDetailTab : Response$1;
2160
+ };
2161
+
2162
+ const isHeadersRecord$1 = value => {
2163
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
2164
+ };
2165
+ const hasHeadersDetails = event => {
2166
+ if (event.type !== 'ai-request') {
2167
+ return false;
2168
+ }
2169
+ if (isHeadersRecord$1(event.headers)) {
2170
+ return true;
2171
+ }
2172
+ return isHeadersRecord$1(event.endValue) && isHeadersRecord$1(event.endValue.headers);
2173
+ };
2174
+
2175
+ const hasTimingDetails = event => {
2176
+ const hasDuration = typeof event.duration === 'number' || typeof event.durationMs === 'number';
2177
+ const hasStart = event.started !== undefined || event.startTime !== undefined || event.startTimestamp !== undefined;
2178
+ const hasEnd = event.ended !== undefined || event.endTime !== undefined || event.endTimestamp !== undefined;
2179
+ return hasDuration || hasStart && hasEnd;
2180
+ };
2181
+
2182
+ const getEndValueResponseData = event => {
2183
+ const endValue = event.endValue;
2184
+ if (!endValue || endValue.value === undefined) {
2185
+ return undefined;
2186
+ }
2187
+ return endValue.value;
2188
+ };
2189
+ const getMergedResponseData = event => {
2190
+ const {
2191
+ responseEvent
2192
+ } = event;
2193
+ if (!responseEvent || typeof responseEvent !== 'object' || typeof responseEvent.type !== 'string') {
2194
+ return undefined;
2195
+ }
2196
+ const mergedResponseEvent = responseEvent;
2197
+ if (mergedResponseEvent.value !== undefined) {
2198
+ return mergedResponseEvent.value;
2199
+ }
2200
+ return responseEvent;
2201
+ };
2202
+ const getResponseData = event => {
2203
+ const endValueResponseData = getEndValueResponseData(event);
2204
+ if (endValueResponseData !== undefined) {
2205
+ return endValueResponseData;
2206
+ }
2207
+ return getMergedResponseData(event);
2208
+ };
2209
+ const getResponseEvent = event => {
2210
+ const responseData = getResponseData(event);
2211
+ if (responseData !== undefined) {
2212
+ return responseData;
2213
+ }
2214
+ return event;
2215
+ };
2216
+
2217
+ const isObject = value => {
2218
+ return typeof value === 'object' && value !== null;
2219
+ };
2220
+ const getNumber = (value, ...keys) => {
2221
+ for (const key of keys) {
2222
+ if (typeof value[key] === 'number') {
2223
+ return value[key];
2224
+ }
2225
+ }
2226
+ return undefined;
2227
+ };
2228
+ const getUsage = event => {
2229
+ const responseEvent = getResponseEvent(event);
2230
+ if (isObject(responseEvent) && isObject(responseEvent.usage)) {
2231
+ return responseEvent.usage;
2232
+ }
2233
+ if (isObject(responseEvent) && isObject(responseEvent.value) && isObject(responseEvent.value.usage)) {
2234
+ return responseEvent.value.usage;
2235
+ }
2236
+ return undefined;
2237
+ };
2238
+ const getTokenUsageDetails = event => {
2239
+ const usage = getUsage(event);
2240
+ if (!usage) {
2241
+ return undefined;
2242
+ }
2243
+ const inputTokens = getNumber(usage, 'input_tokens', 'inputTokens');
2244
+ const outputTokens = getNumber(usage, 'output_tokens', 'outputTokens');
2245
+ let inputTokenDetails;
2246
+ if (isObject(usage.input_tokens_details)) {
2247
+ inputTokenDetails = usage.input_tokens_details;
2248
+ } else if (isObject(usage.inputTokensDetails)) {
2249
+ inputTokenDetails = usage.inputTokensDetails;
2250
+ }
2251
+ const cachedTokens = inputTokenDetails ? getNumber(inputTokenDetails, 'cached_tokens', 'cachedTokens') : getNumber(usage, 'cached_tokens', 'cachedTokens');
2252
+ if (inputTokens === undefined && outputTokens === undefined && cachedTokens === undefined) {
2253
+ return undefined;
2254
+ }
2255
+ return {
2256
+ ...(cachedTokens === undefined ? undefined : {
2257
+ cachedTokens
2258
+ }),
2259
+ ...(inputTokens === undefined ? undefined : {
2260
+ inputTokens
2261
+ }),
2262
+ ...(outputTokens === undefined ? undefined : {
2263
+ outputTokens
2264
+ })
2265
+ };
2266
+ };
2267
+
2268
+ const hasTokenUsageDetails = event => {
2269
+ return getTokenUsageDetails(event) !== undefined;
2270
+ };
2271
+
2272
+ const createDetailTabs = (selectedDetailTab = Response$1, event) => {
2273
+ const hasHeadersTab = event ? hasHeadersDetails(event) : false;
2274
+ const hasTokensTab = event ? hasTokenUsageDetails(event) : false;
2275
+ const hasTimingTab = event ? hasTimingDetails(event) : true;
2276
+ const safeSelectedDetailTab = getSafeSelectedDetailTab(selectedDetailTab);
2277
+ let normalizedSelectedDetailTab = safeSelectedDetailTab;
2278
+ if (!hasHeadersTab && normalizedSelectedDetailTab === Headers$1) {
2279
+ normalizedSelectedDetailTab = Response$1;
2280
+ }
2281
+ if (!hasTokensTab && normalizedSelectedDetailTab === Tokens$1) {
2282
+ normalizedSelectedDetailTab = Response$1;
2283
+ }
2284
+ if (!hasTimingTab && normalizedSelectedDetailTab === Timing$1) {
2285
+ normalizedSelectedDetailTab = Response$1;
2286
+ }
2287
+ const detailTabs = [{
2288
+ isSelected: normalizedSelectedDetailTab === Preview$1,
2289
+ label: preview(),
2290
+ name: Preview$1
2291
+ }, {
2292
+ isSelected: normalizedSelectedDetailTab === Payload$1,
2293
+ label: payload(),
2294
+ name: Payload$1
2295
+ }, {
2296
+ isSelected: normalizedSelectedDetailTab === Response$1,
2297
+ label: response(),
2298
+ name: Response$1
2299
+ }];
2300
+ if (hasHeadersTab) {
2301
+ detailTabs.push({
2302
+ isSelected: normalizedSelectedDetailTab === Headers$1,
2303
+ label: headers(),
2304
+ name: Headers$1
2305
+ });
2306
+ }
2307
+ if (hasTokensTab) {
2308
+ detailTabs.push({
2309
+ isSelected: normalizedSelectedDetailTab === Tokens$1,
2310
+ label: tokens(),
2311
+ name: Tokens$1
2312
+ });
2313
+ }
2314
+ if (hasTimingTab) {
2315
+ detailTabs.push({
2316
+ isSelected: normalizedSelectedDetailTab === Timing$1,
2317
+ label: timing(),
2318
+ name: Timing$1
2319
+ });
2320
+ }
2321
+ return detailTabs;
2322
+ };
2323
+
2087
2324
  const toTimeNumber = value => {
2088
2325
  if (typeof value === 'number' && Number.isFinite(value)) {
2089
2326
  return value;
@@ -2114,6 +2351,10 @@ const getEventsWithTime = events => {
2114
2351
  });
2115
2352
  };
2116
2353
 
2354
+ const clamp = (value, minimum, maximum) => {
2355
+ return Math.max(minimum, Math.min(value, maximum));
2356
+ };
2357
+
2117
2358
  const parseTimelineSeconds = value => {
2118
2359
  const trimmed = value.trim();
2119
2360
  if (!trimmed) {
@@ -2142,8 +2383,10 @@ const getNormalizedRange = (durationSeconds, startValue, endValue) => {
2142
2383
  }
2143
2384
  const rawStart = parsedStart ?? 0;
2144
2385
  const rawEnd = parsedEnd ?? durationSeconds;
2145
- const normalizedStart = Math.max(0, Math.min(durationSeconds, Math.min(rawStart, rawEnd)));
2146
- const normalizedEnd = Math.max(0, Math.min(durationSeconds, Math.max(rawStart, rawEnd)));
2386
+ const rangeStart = Math.min(rawStart, rawEnd);
2387
+ const rangeEnd = Math.max(rawStart, rawEnd);
2388
+ const normalizedStart = clamp(rangeStart, 0, durationSeconds);
2389
+ const normalizedEnd = clamp(rangeEnd, 0, durationSeconds);
2147
2390
  return {
2148
2391
  endSeconds: roundSeconds(normalizedEnd),
2149
2392
  hasSelection: true,
@@ -2217,11 +2460,21 @@ const getTimelineInfo = (events, startValue, endValue) => {
2217
2460
  };
2218
2461
 
2219
2462
  const createDefaultState = () => {
2463
+ const defaultTableWidth = 480;
2464
+ const minTableWidth = 240;
2465
+ const minDetailsWidth = 280;
2466
+ const sashWidth = 4;
2467
+ const viewPadding = 8;
2468
+ const timelineHorizontalPadding = 10;
2469
+ const horizontalPadding = viewPadding * 2;
2470
+ const leftPadding = viewPadding;
2220
2471
  return {
2221
2472
  assetDir: '',
2222
2473
  categoryFilters: createCategoryFilters(),
2474
+ collapsedHeaderSections: [],
2223
2475
  databaseName: 'lvce-chat-view-sessions',
2224
2476
  dataBaseVersion: 2,
2477
+ defaultTableWidth,
2225
2478
  detailTabs: createDetailTabs(),
2226
2479
  devtoolsRootGap: 4,
2227
2480
  devtoolsTimelineHeight: 88,
@@ -2232,9 +2485,13 @@ const createDefaultState = () => {
2232
2485
  filterValue: '',
2233
2486
  focus: 0,
2234
2487
  height: 0,
2488
+ horizontalPadding,
2235
2489
  initial: false,
2236
2490
  largeBreakpoint: 900,
2491
+ leftPadding,
2237
2492
  mediumBreakpoint: 600,
2493
+ minDetailsWidth,
2494
+ minTableWidth,
2238
2495
  platform: 0,
2239
2496
  previewTextCursorColumnIndex: null,
2240
2497
  previewTextCursorRowIndex: null,
@@ -2242,6 +2499,7 @@ const createDefaultState = () => {
2242
2499
  previewTextScrollBarHandleOffset: 0,
2243
2500
  previewTextScrollBarPointerActive: false,
2244
2501
  sashPointerActive: false,
2502
+ sashWidth,
2245
2503
  selectedEvent: null,
2246
2504
  selectedEventId: null,
2247
2505
  selectedEventIndex: null,
@@ -2252,8 +2510,8 @@ const createDefaultState = () => {
2252
2510
  showResponsePartEvents: false,
2253
2511
  sortColumn: '',
2254
2512
  sortDescending: false,
2513
+ summaries: [],
2255
2514
  tableColumns: createTableColumns(),
2256
- tableColumnWidths: defaultTableColumnWidths,
2257
2515
  tableDeltaY: 0,
2258
2516
  tableMaxLineY: 0,
2259
2517
  tableMinLineY: 0,
@@ -2261,10 +2519,12 @@ const createDefaultState = () => {
2261
2519
  tableScrollBarHandleOffset: 0,
2262
2520
  tableScrollBarPointerActive: false,
2263
2521
  tableWidth: defaultTableWidth,
2522
+ tableWidthManuallyResized: false,
2264
2523
  timelineEndSeconds: '',
2265
2524
  timelineEvents: [],
2266
2525
  timelineFilterDescription: '',
2267
2526
  timelineHeight: 81,
2527
+ timelineHorizontalPadding,
2268
2528
  timelineHoverPercent: null,
2269
2529
  timelineHoverSeconds: '',
2270
2530
  timelineInfo: emptyTimelineInfo,
@@ -2275,6 +2535,7 @@ const createDefaultState = () => {
2275
2535
  uid: 0,
2276
2536
  uri: '',
2277
2537
  useDevtoolsLayout: true,
2538
+ viewPadding,
2278
2539
  width: 0,
2279
2540
  x: 0,
2280
2541
  y: 0
@@ -2295,7 +2556,6 @@ const create = (uid, uri, x, y, width, height, platform, assetDir, sessionId = '
2295
2556
  platform,
2296
2557
  sessionId,
2297
2558
  sessionIdIndexName,
2298
- tableColumns: [],
2299
2559
  uid,
2300
2560
  uri,
2301
2561
  width,
@@ -2312,7 +2572,7 @@ const RenderFocusContext = 4;
2312
2572
  const RenderFocus = 5;
2313
2573
 
2314
2574
  const diff = (oldState, newState) => {
2315
- if (oldState.categoryFilters !== newState.categoryFilters || oldState.detailTabs !== newState.detailTabs || oldState.errorMessage !== newState.errorMessage || oldState.events !== newState.events || oldState.filterValue !== newState.filterValue || oldState.previewTextCursorColumnIndex !== newState.previewTextCursorColumnIndex || oldState.previewTextCursorRowIndex !== newState.previewTextCursorRowIndex || oldState.previewTextDeltaY !== newState.previewTextDeltaY || oldState.sessionId !== newState.sessionId || oldState.showEventStreamFinishedEvents !== newState.showEventStreamFinishedEvents || oldState.showInputEvents !== newState.showInputEvents || oldState.showResponsePartEvents !== newState.showResponsePartEvents || oldState.sortColumn !== newState.sortColumn || oldState.sortDescending !== newState.sortDescending || oldState.tableColumnWidths !== newState.tableColumnWidths || oldState.tableDeltaY !== newState.tableDeltaY || oldState.tableMaxLineY !== newState.tableMaxLineY || oldState.tableMinLineY !== newState.tableMinLineY || oldState.tableWidth !== newState.tableWidth || oldState.timelineEndSeconds !== newState.timelineEndSeconds || oldState.timelineHeight !== newState.timelineHeight || oldState.timelineHoverPercent !== newState.timelineHoverPercent || oldState.timelineHoverSeconds !== newState.timelineHoverSeconds || oldState.timelineSelectionActive !== newState.timelineSelectionActive || oldState.timelineSelectionAnchorSeconds !== newState.timelineSelectionAnchorSeconds || oldState.timelineSelectionFocusSeconds !== newState.timelineSelectionFocusSeconds || oldState.timelineStartSeconds !== newState.timelineStartSeconds || oldState.useDevtoolsLayout !== newState.useDevtoolsLayout || oldState.tableColumns !== newState.tableColumns || oldState.selectedEvent !== newState.selectedEvent || oldState.selectedEventIndex !== newState.selectedEventIndex || oldState.focus !== newState.focus || oldState.width !== newState.width || oldState.uid !== newState.uid) {
2575
+ if (oldState.categoryFilters !== newState.categoryFilters || oldState.collapsedHeaderSections !== newState.collapsedHeaderSections || oldState.detailTabs !== newState.detailTabs || oldState.errorMessage !== newState.errorMessage || oldState.events !== newState.events || oldState.filterValue !== newState.filterValue || oldState.previewTextCursorColumnIndex !== newState.previewTextCursorColumnIndex || oldState.previewTextCursorRowIndex !== newState.previewTextCursorRowIndex || oldState.previewTextDeltaY !== newState.previewTextDeltaY || oldState.summaries !== newState.summaries || oldState.sessionId !== newState.sessionId || oldState.showEventStreamFinishedEvents !== newState.showEventStreamFinishedEvents || oldState.showInputEvents !== newState.showInputEvents || oldState.showResponsePartEvents !== newState.showResponsePartEvents || oldState.sortColumn !== newState.sortColumn || oldState.sortDescending !== newState.sortDescending || oldState.tableDeltaY !== newState.tableDeltaY || oldState.tableMaxLineY !== newState.tableMaxLineY || oldState.tableMinLineY !== newState.tableMinLineY || oldState.tableWidth !== newState.tableWidth || oldState.timelineEndSeconds !== newState.timelineEndSeconds || oldState.timelineHeight !== newState.timelineHeight || oldState.timelineHoverPercent !== newState.timelineHoverPercent || oldState.timelineHoverSeconds !== newState.timelineHoverSeconds || oldState.timelineSelectionActive !== newState.timelineSelectionActive || oldState.timelineSelectionAnchorSeconds !== newState.timelineSelectionAnchorSeconds || oldState.timelineSelectionFocusSeconds !== newState.timelineSelectionFocusSeconds || oldState.timelineStartSeconds !== newState.timelineStartSeconds || oldState.useDevtoolsLayout !== newState.useDevtoolsLayout || oldState.tableColumns !== newState.tableColumns || oldState.selectedEvent !== newState.selectedEvent || oldState.selectedEventIndex !== newState.selectedEventIndex || oldState.focus !== newState.focus || oldState.width !== newState.width || oldState.uid !== newState.uid) {
2316
2576
  return [RenderIncremental, RenderCss];
2317
2577
  }
2318
2578
  return [];
@@ -2349,6 +2609,45 @@ const mergedEventType = 'tool-execution';
2349
2609
  const handleSubmitEventType = 'handle-submit';
2350
2610
  const sseResponseCompletedEventType = 'sse-response-completed';
2351
2611
 
2612
+ const encoder = new TextEncoder();
2613
+ const getEndValuePayload = event => {
2614
+ const {
2615
+ endValue
2616
+ } = event;
2617
+ return endValue?.value;
2618
+ };
2619
+ const getResponsePayload = event => {
2620
+ const endValuePayload = getEndValuePayload(event);
2621
+ if (endValuePayload !== undefined) {
2622
+ return endValuePayload;
2623
+ }
2624
+ if ('value' in event && event.value !== undefined) {
2625
+ return event.value;
2626
+ }
2627
+ if ('response' in event && event.response !== undefined) {
2628
+ return event.response;
2629
+ }
2630
+ return undefined;
2631
+ };
2632
+ const getPayloadText = payload => {
2633
+ if (typeof payload === 'string') {
2634
+ return payload;
2635
+ }
2636
+ const serialized = JSON.stringify(payload);
2637
+ return serialized ?? '';
2638
+ };
2639
+ const getResponsePayloadSize = event => {
2640
+ const payload = getResponsePayload(event);
2641
+ if (payload === undefined) {
2642
+ return 0;
2643
+ }
2644
+ try {
2645
+ return encoder.encode(getPayloadText(payload)).length;
2646
+ } catch {
2647
+ return 0;
2648
+ }
2649
+ };
2650
+
2352
2651
  const hasMatchingToolName = (startedEvent, finishedEvent) => {
2353
2652
  if (typeof startedEvent.toolName === 'string' && typeof finishedEvent.toolName === 'string') {
2354
2653
  return startedEvent.toolName === finishedEvent.toolName;
@@ -2454,7 +2753,8 @@ const mergeRequestResponseEvents = (startedEvent, finishedEvent) => {
2454
2753
  return {
2455
2754
  ...mergeToolExecutionEvents(startedEvent, finishedEvent, startedEvent.type),
2456
2755
  requestEvent: startedEvent,
2457
- responseEvent: finishedEvent
2756
+ responseEvent: finishedEvent,
2757
+ size: getResponsePayloadSize(finishedEvent)
2458
2758
  };
2459
2759
  };
2460
2760
  const isMatchingRequestResponsePair = (startedEvent, finishedEvent) => {
@@ -2538,20 +2838,20 @@ const isUiEvent = event => {
2538
2838
 
2539
2839
  const matchesSingleEventCategoryFilter = (event, eventCategoryFilter) => {
2540
2840
  switch (eventCategoryFilter) {
2541
- case Network:
2841
+ case Network$1:
2542
2842
  return isNetworkEvent(event);
2543
- case Stream:
2843
+ case Stream$1:
2544
2844
  return isStreamEvent(event);
2545
- case Tools:
2845
+ case Tools$1:
2546
2846
  return isToolEvent(event);
2547
- case Ui:
2847
+ case Ui$1:
2548
2848
  return isUiEvent(event);
2549
2849
  default:
2550
2850
  return true;
2551
2851
  }
2552
2852
  };
2553
2853
  const matchesEventCategoryFilter = (event, eventCategoryFilters) => {
2554
- if (eventCategoryFilters.length === 0 || eventCategoryFilters.includes(All)) {
2854
+ if (eventCategoryFilters.length === 0 || eventCategoryFilters.includes(All$1)) {
2555
2855
  return true;
2556
2856
  }
2557
2857
  return eventCategoryFilters.some(eventCategoryFilter => matchesSingleEventCategoryFilter(event, eventCategoryFilter));
@@ -2560,34 +2860,46 @@ const matchesEventCategoryFilter = (event, eventCategoryFilters) => {
2560
2860
  const getFilteredEvents = (events, filterValue, eventCategoryFilters, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents) => {
2561
2861
  const visibleEvents = getVisibleEvents(events, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents);
2562
2862
  const collapsedEvents = collapseToolExecutionEvents(visibleEvents);
2563
- const parsedFilter = parseFilterValue(filterValue);
2564
- const activeEventCategoryFilters = parsedFilter.eventCategoryFilter === All ? eventCategoryFilters : [parsedFilter.eventCategoryFilter];
2565
- const filteredByCategory = collapsedEvents.filter(event => matchesEventCategoryFilter(event, activeEventCategoryFilters));
2566
- const {
2567
- filterText
2568
- } = parsedFilter;
2863
+ const filteredByCategory = collapsedEvents.filter(event => matchesEventCategoryFilter(event, eventCategoryFilters));
2864
+ const filterText = filterValue.trim().toLowerCase();
2569
2865
  if (!filterText) {
2570
2866
  return filteredByCategory;
2571
2867
  }
2572
2868
  return filteredByCategory.filter(event => JSON.stringify(event).toLowerCase().includes(filterText));
2573
2869
  };
2574
2870
 
2871
+ const formatDurationSeconds = value => {
2872
+ return `${value.toFixed(1)}s`;
2873
+ };
2874
+
2875
+ const formatDurationText = durationMs => {
2876
+ if (durationMs >= 1000) {
2877
+ return formatDurationSeconds(durationMs / 1000);
2878
+ }
2879
+ return `${durationMs}ms`;
2880
+ };
2575
2881
  const getDurationText = event => {
2882
+ if (event.time) {
2883
+ return event.time;
2884
+ }
2576
2885
  const explicitDuration = event.durationMs ?? event.duration;
2577
2886
  if (typeof explicitDuration === 'number' && Number.isFinite(explicitDuration)) {
2578
- return `${explicitDuration}ms`;
2887
+ return formatDurationText(explicitDuration);
2579
2888
  }
2580
2889
  const start = toTimeNumber(event.started ?? event.startTime ?? event.startTimestamp ?? event.timestamp);
2581
2890
  const end = toTimeNumber(event.ended ?? event.endTime ?? event.endTimestamp ?? event.timestamp);
2582
2891
  if (start === undefined || end === undefined || end < start) {
2583
2892
  return '-';
2584
2893
  }
2585
- return `${end - start}ms`;
2894
+ return formatDurationText(end - start);
2586
2895
  };
2587
2896
 
2588
2897
  const getEventTableDurationText = event => {
2589
2898
  const durationText = getDurationText(event);
2590
2899
  if (!durationText.endsWith('ms')) {
2900
+ if (durationText.endsWith('s')) {
2901
+ return `${durationText.slice(0, -1)} s`;
2902
+ }
2591
2903
  return durationText;
2592
2904
  }
2593
2905
  return `${durationText.slice(0, -2)} ms`;
@@ -2686,10 +2998,19 @@ const getStatusText = event => {
2686
2998
  return hasErrorStatus(event) ? '400' : '200';
2687
2999
  };
2688
3000
 
3001
+ const getSizeSortValue = event => {
3002
+ const rawSize = event.size;
3003
+ if (typeof rawSize !== 'number' || !Number.isFinite(rawSize)) {
3004
+ return '0000000000000000';
3005
+ }
3006
+ return String(Math.max(0, Math.trunc(rawSize))).padStart(16, '0');
3007
+ };
2689
3008
  const getEventTableColumnValue = (event, column) => {
2690
3009
  switch (column) {
2691
3010
  case Duration:
2692
3011
  return getEventTableDurationText(event);
3012
+ case Size:
3013
+ return getSizeSortValue(event);
2693
3014
  case Status$1:
2694
3015
  return getStatusText(event);
2695
3016
  case Type:
@@ -2727,15 +3048,57 @@ const sortEventsByTableColumn = (events, sortColumn, sortDescending) => {
2727
3048
  return sortableEvents.toSorted(compareEntries).map(item => item.event);
2728
3049
  };
2729
3050
 
2730
- const getCurrentEvents$2 = state => {
2731
- const eventCategoryFilters = getSelectedEventCategoryFilters(state.categoryFilters);
2732
- const filteredEvents = getFilteredEvents(state.events, state.filterValue, eventCategoryFilters, state.showInputEvents, state.showResponsePartEvents, state.showEventStreamFinishedEvents);
2733
- const timelineEvents = filterEventsByTimelineRange(filteredEvents, state.timelineStartSeconds, state.timelineEndSeconds);
2734
- return sortEventsByTableColumn(timelineEvents, state.sortColumn, state.sortDescending);
3051
+ const getCurrentEvents$1 = state => {
3052
+ const {
3053
+ categoryFilters,
3054
+ events,
3055
+ filterValue,
3056
+ showEventStreamFinishedEvents,
3057
+ showInputEvents,
3058
+ showResponsePartEvents,
3059
+ sortColumn,
3060
+ sortDescending,
3061
+ timelineEndSeconds,
3062
+ timelineStartSeconds
3063
+ } = state;
3064
+ const eventCategoryFilters = getSelectedEventCategoryFilters(categoryFilters);
3065
+ const filteredEvents = getFilteredEvents(events, filterValue, eventCategoryFilters, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents);
3066
+ const timelineEvents = filterEventsByTimelineRange(filteredEvents, timelineStartSeconds, timelineEndSeconds);
3067
+ return sortEventsByTableColumn(timelineEvents, sortColumn, sortDescending);
3068
+ };
3069
+
3070
+ const getCurrentEvents = state => getCurrentEvents$1(state);
3071
+
3072
+ const getSelectedDetailTab = detailTabs => {
3073
+ const selectedDetailTab = detailTabs.find(detailTab => detailTab.isSelected);
3074
+ if (selectedDetailTab) {
3075
+ return selectedDetailTab.name;
3076
+ }
3077
+ const responseTab = detailTabs.find(detailTab => detailTab.name === Response$1);
3078
+ if (responseTab) {
3079
+ return responseTab.name;
3080
+ }
3081
+ return detailTabs[0]?.name ?? Response$1;
2735
3082
  };
2736
3083
 
2737
- const loadSelectedEvent = async (_databaseName, _dataBaseVersion, _eventStoreName, sessionId, _sessionIdIndexName, eventId, type) => {
2738
- return loadSelectedEvent$1(sessionId, eventId, type);
3084
+ const loadSelectedEvent = async ({
3085
+ endEventId,
3086
+ eventId,
3087
+ sessionId,
3088
+ type
3089
+ }) => {
3090
+ // TODO load them in parallel
3091
+ // or adjust worker function to load both start and end event
3092
+ const raw = await loadSelectedEvent$1(sessionId, eventId, type);
3093
+ if (endEventId && endEventId !== -1) {
3094
+ const end = await loadSelectedEvent$1(sessionId, endEventId, type);
3095
+ // @ts-ignore
3096
+ return {
3097
+ ...raw,
3098
+ endValue: end
3099
+ };
3100
+ }
3101
+ return raw;
2739
3102
  };
2740
3103
 
2741
3104
  const mergeSelectedEventDetails = (selectedEvent, selectedEventDetails) => {
@@ -2747,7 +3110,10 @@ const mergeSelectedEventDetails = (selectedEvent, selectedEventDetails) => {
2747
3110
  responseEvent
2748
3111
  } = selectedEvent;
2749
3112
  if (!requestEvent || !responseEvent || typeof requestEvent !== 'object' || typeof responseEvent !== 'object') {
2750
- return selectedEventDetails;
3113
+ return {
3114
+ ...selectedEvent,
3115
+ ...selectedEventDetails
3116
+ };
2751
3117
  }
2752
3118
  const selectedEventDetailsType = selectedEventDetails.type;
2753
3119
  const resolvedResponseEvent = selectedEventDetailsType === 'response' || selectedEventDetailsType === 'ai-response-success' ? selectedEventDetails : responseEvent;
@@ -2773,6 +3139,7 @@ const getTableBodyY = (state, hasTimeline) => {
2773
3139
  devtoolsRootGap,
2774
3140
  devtoolsTimelineHeight,
2775
3141
  devtoolsTopHeight,
3142
+ viewPadding,
2776
3143
  y
2777
3144
  } = state;
2778
3145
  return y + viewPadding + devtoolsTopHeight + devtoolsRootGap + (hasTimeline ? devtoolsTimelineHeight : 0) + devtoolsTableHeaderHeight;
@@ -2783,7 +3150,7 @@ const getTableBodyHeight = (state, eventCount) => {
2783
3150
  return 0;
2784
3151
  }
2785
3152
  const tableBodyY = getTableBodyY(state, true);
2786
- return Math.max(0, state.height - (tableBodyY - state.y) - viewPadding - devtoolsTableSummaryHeight);
3153
+ return Math.max(0, state.height - (tableBodyY - state.y) - state.viewPadding - devtoolsTableSummaryHeight);
2787
3154
  };
2788
3155
  const getVisibleRowCount = tableBodyHeight => {
2789
3156
  if (tableBodyHeight <= 0) {
@@ -2821,7 +3188,7 @@ const getScrollBarOffset = (deltaY, maxDeltaY, tableBodyHeight, scrollBarHeight)
2821
3188
  return Math.round(deltaY / maxDeltaY * (tableBodyHeight - scrollBarHeight));
2822
3189
  };
2823
3190
  const applyVirtualTableState = state => {
2824
- const currentEvents = getCurrentEvents$2(state);
3191
+ const currentEvents = getCurrentEvents$1(state);
2825
3192
  const tableBodyHeight = getTableBodyHeight(state, currentEvents.length);
2826
3193
  const deltaY = clampTableDeltaY(state.tableDeltaY, currentEvents.length, tableBodyHeight);
2827
3194
  const minLineY = Math.floor(deltaY / devtoolsTableRowHeight);
@@ -2844,7 +3211,7 @@ const withSelectedEventVisible = state => {
2844
3211
  if (state.selectedEventIndex === null || state.selectedEventIndex < 0) {
2845
3212
  return applyVirtualTableState(state);
2846
3213
  }
2847
- const currentEvents = getCurrentEvents$2(state);
3214
+ const currentEvents = getCurrentEvents$1(state);
2848
3215
  const tableBodyHeight = getTableBodyHeight(state, currentEvents.length);
2849
3216
  const visibleRowCount = getVisibleRowCount(tableBodyHeight);
2850
3217
  if (visibleRowCount === 0) {
@@ -2861,10 +3228,11 @@ const withSelectedEventVisible = state => {
2861
3228
  return applyVirtualTableState(state);
2862
3229
  };
2863
3230
 
2864
- const svgWidthRegex = /\bwidth=["']([\d.]+)(?:px)?["']/i;
2865
- const svgHeightRegex = /\bheight=["']([\d.]+)(?:px)?["']/i;
2866
- const svgViewBoxRegex = /\bviewBox=["'][^"']*?([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)["']/i;
2867
- const getBlob = event => {
3231
+ const getAttachmentImagePreviewAltText = event => {
3232
+ return typeof event.name === 'string' && event.name ? event.name : 'image preview';
3233
+ };
3234
+
3235
+ const getAttachmentImagePreviewBlob = event => {
2868
3236
  const {
2869
3237
  blob
2870
3238
  } = event;
@@ -2873,24 +3241,52 @@ const getBlob = event => {
2873
3241
  }
2874
3242
  return undefined;
2875
3243
  };
2876
- const getMimeType = event => {
3244
+
3245
+ const getAttachmentImagePreviewMimeType = event => {
2877
3246
  return typeof event.mimeType === 'string' ? event.mimeType : undefined;
2878
3247
  };
2879
- const getAltText = event => {
2880
- return typeof event.name === 'string' && event.name ? event.name : 'image preview';
2881
- };
2882
- const isImageMimeType = mimeType => {
2883
- return typeof mimeType === 'string' && mimeType.startsWith('image/');
3248
+
3249
+ const units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];
3250
+ const formatBytes = size => {
3251
+ if (!Number.isFinite(size) || size <= 0) {
3252
+ return '0 B';
3253
+ }
3254
+ let value = size;
3255
+ let unitIndex = 0;
3256
+ while (value >= 1024 && unitIndex < units.length - 1) {
3257
+ value /= 1024;
3258
+ unitIndex++;
3259
+ }
3260
+ if (unitIndex === 0) {
3261
+ return `${Math.trunc(value)} ${units[unitIndex]}`;
3262
+ }
3263
+ const formatted = value >= 10 ? value.toFixed(0) : value.toFixed(1);
3264
+ return `${formatted} ${units[unitIndex]}`;
2884
3265
  };
3266
+
2885
3267
  const formatImageSize = size => {
2886
- if (size < 1024) {
2887
- return `${size} B`;
2888
- }
2889
- return `${(size / 1024).toFixed(1)} kB`;
3268
+ return formatBytes(size);
2890
3269
  };
3270
+
2891
3271
  const formatImageStats = (width, height, size) => {
2892
3272
  return `${width} × ${height} px · ${formatImageSize(size)}`;
2893
3273
  };
3274
+
3275
+ const getRasterImageStats = async blob => {
3276
+ if (typeof createImageBitmap !== 'function') {
3277
+ throw new TypeError('image bitmap decoder is not available');
3278
+ }
3279
+ const bitmap = await createImageBitmap(blob);
3280
+ try {
3281
+ return formatImageStats(bitmap.width, bitmap.height, blob.size);
3282
+ } finally {
3283
+ bitmap.close?.();
3284
+ }
3285
+ };
3286
+
3287
+ const svgWidthRegex = /\bwidth=["']([\d.]+)(?:px)?["']/i;
3288
+ const svgHeightRegex = /\bheight=["']([\d.]+)(?:px)?["']/i;
3289
+ const svgViewBoxRegex = /\bviewBox=["'][^"']*?([\d.]+)\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)["']/i;
2894
3290
  const getSvgImageStats = async blob => {
2895
3291
  const text = await blob.text();
2896
3292
  const widthMatch = text.match(svgWidthRegex);
@@ -2898,33 +3294,13 @@ const getSvgImageStats = async blob => {
2898
3294
  if (widthMatch && heightMatch) {
2899
3295
  return formatImageStats(Number(widthMatch[1]), Number(heightMatch[1]), blob.size);
2900
3296
  }
2901
- const viewBoxMatch = text.match(svgViewBoxRegex);
2902
- if (viewBoxMatch) {
2903
- return formatImageStats(Number(viewBoxMatch[3]), Number(viewBoxMatch[4]), blob.size);
2904
- }
2905
- return undefined;
2906
- };
2907
- const readBlobAsPreviewUrl = blob => {
2908
- if (typeof FileReaderSync === 'function') {
2909
- const reader = new FileReaderSync();
2910
- return reader.readAsDataURL(blob);
2911
- }
2912
- if (typeof URL.createObjectURL === 'function') {
2913
- return URL.createObjectURL(blob);
2914
- }
2915
- throw new Error('image preview reader is not available');
2916
- };
2917
- const getRasterImageStats = async blob => {
2918
- if (typeof createImageBitmap !== 'function') {
2919
- throw new TypeError('image bitmap decoder is not available');
2920
- }
2921
- const bitmap = await createImageBitmap(blob);
2922
- try {
2923
- return formatImageStats(bitmap.width, bitmap.height, blob.size);
2924
- } finally {
2925
- bitmap.close?.();
3297
+ const viewBoxMatch = text.match(svgViewBoxRegex);
3298
+ if (viewBoxMatch) {
3299
+ return formatImageStats(Number(viewBoxMatch[3]), Number(viewBoxMatch[4]), blob.size);
2926
3300
  }
3301
+ return undefined;
2927
3302
  };
3303
+
2928
3304
  const getImageStats = async (blob, mimeType) => {
2929
3305
  if (mimeType === 'image/svg+xml') {
2930
3306
  const svgStats = await getSvgImageStats(blob);
@@ -2935,19 +3311,35 @@ const getImageStats = async (blob, mimeType) => {
2935
3311
  }
2936
3312
  return getRasterImageStats(blob);
2937
3313
  };
3314
+
3315
+ const isImageMimeType = mimeType => {
3316
+ return typeof mimeType === 'string' && mimeType.startsWith('image/');
3317
+ };
3318
+
3319
+ const readBlobAsPreviewUrl = blob => {
3320
+ if (typeof FileReaderSync === 'function') {
3321
+ const reader = new FileReaderSync();
3322
+ return reader.readAsDataURL(blob);
3323
+ }
3324
+ if (typeof URL.createObjectURL === 'function') {
3325
+ return URL.createObjectURL(blob);
3326
+ }
3327
+ throw new Error('image preview reader is not available');
3328
+ };
3329
+
2938
3330
  const getAttachmentImagePreview = async event => {
2939
3331
  if (event.type !== 'chat-attachment-added' && event.type !== 'chat-attachment-removed') {
2940
3332
  return undefined;
2941
3333
  }
2942
- const blob = getBlob(event);
2943
- const mimeType = getMimeType(event);
3334
+ const blob = getAttachmentImagePreviewBlob(event);
3335
+ const mimeType = getAttachmentImagePreviewMimeType(event);
2944
3336
  if (!blob || !isImageMimeType(mimeType)) {
2945
3337
  return undefined;
2946
3338
  }
2947
3339
  try {
2948
3340
  const stats = await getImageStats(blob, mimeType);
2949
3341
  return {
2950
- alt: getAltText(event),
3342
+ alt: getAttachmentImagePreviewAltText(event),
2951
3343
  previewType: 'image',
2952
3344
  src: readBlobAsPreviewUrl(blob),
2953
3345
  stats
@@ -2979,12 +3371,12 @@ const withPreparedSelectedEventPreview = async event => {
2979
3371
  return setSelectedEventPreview(event, preview);
2980
3372
  };
2981
3373
 
2982
- const selectEventAtIndexDependencies = {
2983
- loadSelectedEvent: loadSelectedEvent
2984
- };
2985
- const getCurrentEvents$1 = state => getCurrentEvents$2(state);
2986
- const selectEventAtIndex = async (state, selectedEventIndex, dependencies = selectEventAtIndexDependencies) => {
2987
- const selectedDetailTab = getSelectedDetailTab(state.detailTabs);
3374
+ const selectEventAtIndex = async (state, selectedEventIndex) => {
3375
+ const {
3376
+ detailTabs,
3377
+ sessionId
3378
+ } = state;
3379
+ const selectedDetailTab = getSelectedDetailTab(detailTabs);
2988
3380
  const currentEvents = getCurrentEvents$1(state);
2989
3381
  const selectedEvent = currentEvents[selectedEventIndex];
2990
3382
  if (!selectedEvent) {
@@ -3003,9 +3395,15 @@ const selectEventAtIndex = async (state, selectedEventIndex, dependencies = sele
3003
3395
  selectedEventIndex
3004
3396
  };
3005
3397
  }
3006
- const selectedEventDetails = await dependencies.loadSelectedEvent(state.databaseName, state.dataBaseVersion, state.eventStoreName, state.sessionId, state.sessionIdIndexName, selectedEvent.eventId, selectedEvent.type);
3398
+ const selectedEventDetails = await loadSelectedEvent({
3399
+ // @ts-ignore
3400
+ endEventId: selectedEvent['eventEndId'] || 0,
3401
+ eventId: selectedEvent.eventId,
3402
+ sessionId,
3403
+ type: selectedEvent.type
3404
+ });
3007
3405
  const resolvedSelectedEvent = await withPreparedSelectedEventPreview(mergeSelectedEventDetails(selectedEvent, selectedEventDetails));
3008
- return withSelectedEventVisible({
3406
+ const nextState = {
3009
3407
  ...state,
3010
3408
  detailTabs: createDetailTabs(selectedDetailTab, resolvedSelectedEvent),
3011
3409
  previewTextCursorColumnIndex: null,
@@ -3016,11 +3414,15 @@ const selectEventAtIndex = async (state, selectedEventIndex, dependencies = sele
3016
3414
  selectedEvent: resolvedSelectedEvent,
3017
3415
  selectedEventId: selectedEvent.eventId,
3018
3416
  selectedEventIndex
3417
+ };
3418
+ return withSelectedEventVisible({
3419
+ ...nextState,
3420
+ tableWidth: shouldUseBalancedSplitTableWidth(nextState) ? getBalancedSplitTableWidth(nextState) : state.tableWidth
3019
3421
  });
3020
3422
  };
3021
3423
 
3022
3424
  const focusIndex = async (state, index) => {
3023
- const currentEvents = getCurrentEvents$1(state);
3425
+ const currentEvents = getCurrentEvents(state);
3024
3426
  if (currentEvents.length === 0 || state.selectedEventIndex === index) {
3025
3427
  return state;
3026
3428
  }
@@ -3067,33 +3469,26 @@ const getMenuEntriesTableBody = props => {
3067
3469
  flags: None$1,
3068
3470
  id: 'copy',
3069
3471
  label: copy()
3472
+ }, {
3473
+ args: [props.eventIndex],
3474
+ command: 'ChatDebug.handleTableRowOpenInNewTab',
3475
+ flags: None$1,
3476
+ id: 'open-in-new-tab',
3477
+ label: openInNewTab()
3070
3478
  }];
3071
3479
  };
3072
3480
 
3073
- const getColumnVisibilityFlags = (tableColumns, column) => {
3074
- return isVisibleTableColumn(tableColumns, column) ? Checked : Unchecked;
3481
+ const getColumnMenuEntry = (columnName, label, isVisible) => {
3482
+ return {
3483
+ args: [columnName],
3484
+ command: 'ChatDebug.toggleTableColumnVisibility',
3485
+ flags: isVisible ? Checked : Unchecked,
3486
+ id: columnName,
3487
+ label
3488
+ };
3075
3489
  };
3076
-
3077
3490
  const getMenuEntriesTableHeader = state => {
3078
- return [{
3079
- args: [Type],
3080
- command: 'ChatDebug.toggleTableColumnVisibility',
3081
- flags: getColumnVisibilityFlags(state.tableColumns, Type),
3082
- id: 'type',
3083
- label: type()
3084
- }, {
3085
- args: [Status$1],
3086
- command: 'ChatDebug.toggleTableColumnVisibility',
3087
- flags: getColumnVisibilityFlags(state.tableColumns, Status$1),
3088
- id: 'status',
3089
- label: status()
3090
- }, {
3091
- args: [Duration],
3092
- command: 'ChatDebug.toggleTableColumnVisibility',
3093
- flags: getColumnVisibilityFlags(state.tableColumns, Duration),
3094
- id: 'duration',
3095
- label: duration()
3096
- }, {
3491
+ return [...state.tableColumns.map(column => getColumnMenuEntry(column.name, column.label, column.isVisible)), {
3097
3492
  args: [],
3098
3493
  command: 'ChatDebug.resetTableColumns',
3099
3494
  flags: None$1,
@@ -3104,7 +3499,10 @@ const getMenuEntriesTableHeader = state => {
3104
3499
 
3105
3500
  const MenuChatDebugTableHeader = 2189;
3106
3501
  const handleHeaderContextMenu = async (state, eventX, eventY) => {
3107
- await showContextMenu2(state.uid, MenuChatDebugTableHeader, eventX, eventY, {
3502
+ const {
3503
+ uid
3504
+ } = state;
3505
+ await showContextMenu2(uid, MenuChatDebugTableHeader, eventX, eventY, {
3108
3506
  menuId: MenuChatDebugTableHeader
3109
3507
  });
3110
3508
  return state;
@@ -3120,7 +3518,6 @@ const getTableBodyEventIndex = (state, eventX, eventY) => {
3120
3518
  tableMinLineY,
3121
3519
  tableWidth,
3122
3520
  useDevtoolsLayout,
3123
- width,
3124
3521
  x
3125
3522
  } = state;
3126
3523
  if (!useDevtoolsLayout) {
@@ -3130,8 +3527,8 @@ const getTableBodyEventIndex = (state, eventX, eventY) => {
3130
3527
  if (currentEvents.length === 0) {
3131
3528
  return -1;
3132
3529
  }
3133
- const tableX = x + leftPadding;
3134
- const tableWidthNew = clampTableWidth(width, tableWidth);
3530
+ const tableX = x + state.leftPadding;
3531
+ const tableWidthNew = clampTableWidth(state, tableWidth);
3135
3532
  const hasTimeline = currentEvents.length > 0;
3136
3533
  const tableBodyY = getTableBodyY(state, hasTimeline);
3137
3534
  const relativeX = eventX - tableX;
@@ -3170,28 +3567,10 @@ const getMenuIds = () => {
3170
3567
  return [MenuChatDebugTableHeader, MenuChatDebugTableBody, 556, 557];
3171
3568
  };
3172
3569
 
3173
- const listChatViewEvents = async (sessionId, _databaseName, _dataBaseVersion, _eventStoreName, _sessionIdIndexName) => {
3174
- try {
3175
- return await listChatViewEvents$1(sessionId);
3176
- } catch (error) {
3177
- return {
3178
- error,
3179
- type: 'error'
3180
- };
3181
- }
3182
- };
3183
-
3184
- const loadEventsDependencies = {
3185
- listChatViewEvents: listChatViewEvents,
3186
- loadSelectedEvent: loadSelectedEvent
3187
- };
3188
-
3189
- const ParseChatDebugUriErrorCode = {
3190
- InvalidSessionId: 1,
3191
- InvalidUriEncoding: 2,
3192
- InvalidUriFormat: 3,
3193
- MissingUri: 4
3194
- };
3570
+ const InvalidSessionId = 1;
3571
+ const InvalidUriEncoding = 2;
3572
+ const InvalidUriFormat = 3;
3573
+ const MissingUri = 4;
3195
3574
 
3196
3575
  const ParseChatDebugUriResultType = {
3197
3576
  Error: 2,
@@ -3203,7 +3582,7 @@ const invalidSessionIdPattern = /[/?#]/;
3203
3582
  const parseChatDebugUri = uri => {
3204
3583
  if (!uri) {
3205
3584
  return {
3206
- code: ParseChatDebugUriErrorCode.MissingUri,
3585
+ code: MissingUri,
3207
3586
  message: missingUri(),
3208
3587
  type: ParseChatDebugUriResultType.Error
3209
3588
  };
@@ -3211,7 +3590,7 @@ const parseChatDebugUri = uri => {
3211
3590
  const match = uri.match(chatDebugUriPattern);
3212
3591
  if (!match) {
3213
3592
  return {
3214
- code: ParseChatDebugUriErrorCode.InvalidUriFormat,
3593
+ code: InvalidUriFormat,
3215
3594
  message: invalidUriFormat(),
3216
3595
  type: ParseChatDebugUriResultType.Error
3217
3596
  };
@@ -3222,14 +3601,14 @@ const parseChatDebugUri = uri => {
3222
3601
  sessionId = decodeURIComponent(encodedSessionId);
3223
3602
  } catch {
3224
3603
  return {
3225
- code: ParseChatDebugUriErrorCode.InvalidUriEncoding,
3604
+ code: InvalidUriEncoding,
3226
3605
  message: invalidUriEncoding(),
3227
3606
  type: ParseChatDebugUriResultType.Error
3228
3607
  };
3229
3608
  }
3230
3609
  if (!sessionId || invalidSessionIdPattern.test(sessionId)) {
3231
3610
  return {
3232
- code: ParseChatDebugUriErrorCode.InvalidSessionId,
3611
+ code: InvalidSessionId,
3233
3612
  message: invalidSessionId(),
3234
3613
  type: ParseChatDebugUriResultType.Error
3235
3614
  };
@@ -3249,7 +3628,7 @@ const getSessionIdFromUri = state => {
3249
3628
  };
3250
3629
 
3251
3630
  const getInvalidUriMessage = (uri, code) => {
3252
- if (code === ParseChatDebugUriErrorCode.MissingUri) {
3631
+ if (code === MissingUri) {
3253
3632
  return unableToLoadDebugSessionMissingUri();
3254
3633
  }
3255
3634
  return unableToLoadDebugSessionInvalidUri(uri);
@@ -3268,6 +3647,49 @@ const getEffectiveTimelineRange = (timelineStartSeconds, timelineEndSeconds, tim
3268
3647
  };
3269
3648
  };
3270
3649
 
3650
+ const formatTimelineMilliseconds = value => {
3651
+ return `${Math.round(value * 1000)}ms`;
3652
+ };
3653
+
3654
+ const formatTimelineSeconds = value => {
3655
+ if (Number.isInteger(value)) {
3656
+ return `${value}s`;
3657
+ }
3658
+ return `${Number(value.toFixed(1))}s`;
3659
+ };
3660
+
3661
+ const getEndTime = event => {
3662
+ return event.ended ?? event.endTime ?? event.timestamp;
3663
+ };
3664
+
3665
+ const getStartTime = event => {
3666
+ return event.started ?? event.startTime ?? event.timestamp;
3667
+ };
3668
+
3669
+ const formatTableSummaryDuration = durationMs => {
3670
+ if (durationMs < 1000) {
3671
+ return formatTimelineMilliseconds(durationMs / 1000);
3672
+ }
3673
+ return formatTimelineSeconds(durationMs / 1000);
3674
+ };
3675
+ const getTableSummaries = events => {
3676
+ let minStart = Number.POSITIVE_INFINITY;
3677
+ let maxEnd = Number.NEGATIVE_INFINITY;
3678
+ for (const event of events) {
3679
+ const startTime = toTimeNumber(getStartTime(event));
3680
+ const endTime = toTimeNumber(getEndTime(event));
3681
+ if (typeof startTime === 'number' && Number.isFinite(startTime)) {
3682
+ minStart = Math.min(minStart, startTime);
3683
+ }
3684
+ if (typeof endTime === 'number' && Number.isFinite(endTime)) {
3685
+ maxEnd = Math.max(maxEnd, endTime);
3686
+ }
3687
+ }
3688
+ const durationMs = Number.isFinite(minStart) && Number.isFinite(maxEnd) ? Math.max(0, maxEnd - minStart) : 0;
3689
+ const duration = formatTableSummaryDuration(durationMs);
3690
+ return [tableSummaryRequests(events.length), tableSummaryFinish(duration)];
3691
+ };
3692
+
3271
3693
  const getTimelineEvents = state => {
3272
3694
  const {
3273
3695
  events,
@@ -3300,12 +3722,16 @@ const getStateWithTimelineInfo = state => {
3300
3722
  const effectiveRange = getEffectiveTimelineRange(state.timelineStartSeconds, state.timelineEndSeconds, state.timelineSelectionActive, state.timelineSelectionAnchorSeconds, state.timelineSelectionFocusSeconds);
3301
3723
  const timelineInfo = getTimelineInfo(timelineEvents, effectiveRange.startSeconds, effectiveRange.endSeconds);
3302
3724
  const timelineFilterDescription = getTimelineFilterDescription(state.timelineStartSeconds, state.timelineEndSeconds);
3303
- return {
3725
+ const nextState = {
3304
3726
  ...state,
3305
3727
  timelineEvents,
3306
3728
  timelineFilterDescription,
3307
3729
  timelineInfo
3308
3730
  };
3731
+ return {
3732
+ ...nextState,
3733
+ summaries: getTableSummaries(getCurrentEvents$1(nextState))
3734
+ };
3309
3735
  };
3310
3736
 
3311
3737
  const getStateWithInvalidUri = state => {
@@ -3349,8 +3775,104 @@ const getSessionNotFoundMessage = sessionId => {
3349
3775
  return noChatSessionFound(sessionId);
3350
3776
  };
3351
3777
 
3778
+ const getResponseMap = events => {
3779
+ const seen = Object.create(null);
3780
+ for (const event of events) {
3781
+ if (event.type === 'ai-response' && 'requestId' in event && typeof event.requestId === 'string') {
3782
+ seen[event.requestId] = event;
3783
+ }
3784
+ }
3785
+ return seen;
3786
+ };
3787
+
3788
+ const getMergedRequestResponseEvent = (item, response) => {
3789
+ const parsedStart = new Date(item.timestamp || '');
3790
+ const parsedEnd = new Date(response.timestamp || '');
3791
+ const durationMs = parsedEnd.getTime() - parsedStart.getTime();
3792
+ const started = getStartedTimestamp(item);
3793
+ const ended = getEndedTimestamp(response);
3794
+ const timestamp = item.timestamp ?? started;
3795
+ if (Number.isFinite(durationMs) && durationMs >= 0) {
3796
+ return {
3797
+ durationMs,
3798
+ ...(ended === undefined ? {} : {
3799
+ ended
3800
+ }),
3801
+ eventEndId: response.eventId,
3802
+ eventId: item.eventId,
3803
+ method: 'POST',
3804
+ size: getResponsePayloadSize(response),
3805
+ ...(started === undefined ? {} : {
3806
+ started
3807
+ }),
3808
+ ...(timestamp === undefined ? {} : {
3809
+ timestamp
3810
+ }),
3811
+ type: 'ai-request-response'
3812
+ };
3813
+ }
3814
+ return {
3815
+ ...(ended === undefined ? {} : {
3816
+ ended
3817
+ }),
3818
+ eventEndId: response.eventId,
3819
+ eventId: item.eventId,
3820
+ method: 'POST',
3821
+ size: getResponsePayloadSize(response),
3822
+ ...(started === undefined ? {} : {
3823
+ started
3824
+ }),
3825
+ ...(timestamp === undefined ? {} : {
3826
+ timestamp
3827
+ }),
3828
+ type: 'ai-request-response'
3829
+ };
3830
+ };
3831
+ const toPrettyEvents = rawEvents => {
3832
+ if (rawEvents.type === 'error') {
3833
+ return [];
3834
+ }
3835
+ const pretty = [];
3836
+ const map = getResponseMap(rawEvents.events);
3837
+ for (const item of rawEvents.events) {
3838
+ if (item.type === 'ai-request' && 'requestId' in item && typeof item.requestId === 'string') {
3839
+ const response = map[item.requestId];
3840
+ if (response) {
3841
+ pretty.push(getMergedRequestResponseEvent(item, response));
3842
+ } else {
3843
+ pretty.push(item);
3844
+ }
3845
+ } else if (item.type === 'ai-response' && 'requestId' in item && typeof item.requestId === 'string') ; else {
3846
+ pretty.push(item);
3847
+ }
3848
+ }
3849
+ return pretty;
3850
+ };
3851
+
3852
+ const listChatViewEvents = async (sessionId, _databaseName, _dataBaseVersion, _eventStoreName, _sessionIdIndexName) => {
3853
+ try {
3854
+ const rawEvents = await listChatViewEvents$1(sessionId);
3855
+ if (rawEvents.type === 'error') {
3856
+ return rawEvents;
3857
+ }
3858
+ const prettyEvents = toPrettyEvents(rawEvents);
3859
+ return {
3860
+ events: prettyEvents,
3861
+ type: 'success'
3862
+ };
3863
+ } catch (error) {
3864
+ return {
3865
+ error,
3866
+ type: 'error'
3867
+ };
3868
+ }
3869
+ };
3870
+
3352
3871
  const restoreSelectedEvent = async state => {
3353
- if (state.selectedEventId === null) {
3872
+ const {
3873
+ selectedEventId
3874
+ } = state;
3875
+ if (selectedEventId === null) {
3354
3876
  return {
3355
3877
  ...state,
3356
3878
  previewTextCursorColumnIndex: null,
@@ -3362,7 +3884,7 @@ const restoreSelectedEvent = async state => {
3362
3884
  selectedEventIndex: null
3363
3885
  };
3364
3886
  }
3365
- const currentEvents = getCurrentEvents$2(state);
3887
+ const currentEvents = getCurrentEvents$1(state);
3366
3888
  const selectedEventIndex = currentEvents.findIndex(event => event.eventId === state.selectedEventId);
3367
3889
  if (selectedEventIndex === -1) {
3368
3890
  return {
@@ -3391,7 +3913,11 @@ const restoreSelectedEvent = async state => {
3391
3913
  selectedEventIndex: null
3392
3914
  };
3393
3915
  }
3394
- const selectedEventDetails = await loadEventsDependencies.loadSelectedEvent(state.databaseName, state.dataBaseVersion, state.eventStoreName, state.sessionId, state.sessionIdIndexName, selectedEvent.eventId, selectedEvent.type);
3916
+ const selectedEventDetails = await loadSelectedEvent({
3917
+ eventId: selectedEvent.eventId,
3918
+ sessionId: state.sessionId,
3919
+ type: selectedEvent.type
3920
+ });
3395
3921
  const resolvedSelectedEvent = await withPreparedSelectedEventPreview(mergeSelectedEventDetails(selectedEvent, selectedEventDetails));
3396
3922
  return {
3397
3923
  ...state,
@@ -3407,13 +3933,7 @@ const restoreSelectedEvent = async state => {
3407
3933
  };
3408
3934
 
3409
3935
  const loadEventsForSessionId = async (state, sessionId) => {
3410
- const {
3411
- databaseName,
3412
- dataBaseVersion,
3413
- eventStoreName,
3414
- sessionIdIndexName
3415
- } = state;
3416
- const result = await loadEventsDependencies.listChatViewEvents(sessionId, databaseName, dataBaseVersion, eventStoreName, sessionIdIndexName);
3936
+ const result = await listChatViewEvents(sessionId);
3417
3937
  if (result.type === 'error') {
3418
3938
  return applyVirtualTableState(getStateWithTimelineInfo({
3419
3939
  ...state,
@@ -3452,31 +3972,23 @@ const loadEventsForSessionId = async (state, sessionId) => {
3452
3972
  return withSelectedEventVisible(restoredState);
3453
3973
  };
3454
3974
 
3455
- const loadEventsFromUri = async state => {
3456
- const sessionId = getSessionIdFromUri(state);
3457
- if (!sessionId) {
3458
- return getStateWithInvalidUri(state);
3459
- }
3460
- return loadEventsForSessionId(state, sessionId);
3461
- };
3462
-
3463
3975
  const refreshEvents = async state => {
3464
- const sessionId = state.sessionId || getSessionIdFromUri(state);
3465
- if (!sessionId) {
3976
+ const {
3977
+ sessionId
3978
+ } = state;
3979
+ const actual = sessionId || getSessionIdFromUri(state);
3980
+ if (!actual) {
3466
3981
  return getStateWithInvalidUri(state);
3467
3982
  }
3468
- return loadEventsForSessionId(state, sessionId);
3983
+ return loadEventsForSessionId(state, actual);
3469
3984
  };
3470
3985
 
3471
3986
  const refresh = async state => {
3472
3987
  return refreshEvents(state);
3473
3988
  };
3474
3989
 
3475
- const handleClickRefreshDependencies = {
3476
- refresh: refresh
3477
- };
3478
3990
  const handleClickRefresh = async state => {
3479
- return handleClickRefreshDependencies.refresh(state);
3991
+ return refresh(state);
3480
3992
  };
3481
3993
 
3482
3994
  const handleCloseDetails$1 = state => {
@@ -3522,9 +4034,10 @@ const handleEscape = state => {
3522
4034
  return state;
3523
4035
  };
3524
4036
 
3525
- const getCurrentEvents = state => getCurrentEvents$2(state);
3526
-
3527
4037
  const getEventIndexByStableId$1 = (events, event) => {
4038
+ if (typeof event.eventId !== 'number') {
4039
+ return -1;
4040
+ }
3528
4041
  return events.findIndex(candidate => candidate.eventId === event.eventId);
3529
4042
  };
3530
4043
 
@@ -3582,7 +4095,7 @@ const handleEventCategoryFilter$1 = (state, value, ctrlKey = false, metaKey = fa
3582
4095
  const {
3583
4096
  categoryFilters
3584
4097
  } = state;
3585
- const newCategoryFilters = selectCategoryFilter(categoryFilters, value || All, ctrlKey || metaKey);
4098
+ const newCategoryFilters = selectCategoryFilter(categoryFilters, value || All$1, ctrlKey || metaKey);
3586
4099
  if (newCategoryFilters === categoryFilters) {
3587
4100
  return state;
3588
4101
  }
@@ -3593,9 +4106,6 @@ const handleEventCategoryFilter$1 = (state, value, ctrlKey = false, metaKey = fa
3593
4106
  return withPreservedSelection$1(state, nextState);
3594
4107
  };
3595
4108
 
3596
- const handleEventRowClickDependencies = {
3597
- loadSelectedEvent: loadSelectedEvent
3598
- };
3599
4109
  const isPrimaryButton = button => {
3600
4110
  return button === 0;
3601
4111
  };
@@ -3607,7 +4117,7 @@ const handleEventRowClick = async (state, index, button = 0) => {
3607
4117
  if (actual === -1) {
3608
4118
  return state;
3609
4119
  }
3610
- return selectEventAtIndex(state, actual, handleEventRowClickDependencies);
4120
+ return selectEventAtIndex(state, actual);
3611
4121
  };
3612
4122
 
3613
4123
  const handleEventRowClickAt = async (state, eventX, eventY, button = 0) => {
@@ -3619,6 +4129,28 @@ const getBoolean = value => {
3619
4129
  return value === true || value === 'true' || value === 'on' || value === '1';
3620
4130
  };
3621
4131
 
4132
+ const General = 'general';
4133
+ const RequestHeaders = 'requestHeaders';
4134
+ const ResponseHeaders = 'responseHeaders';
4135
+ const headerSectionKeys = [General, ResponseHeaders, RequestHeaders];
4136
+ const isHeaderSectionKey = value => {
4137
+ return headerSectionKeys.includes(value);
4138
+ };
4139
+
4140
+ const removeSection = (collapsedHeaderSections, section) => {
4141
+ return collapsedHeaderSections.filter(value => value !== section);
4142
+ };
4143
+ const toggleHeadersSection = (state, value) => {
4144
+ if (!isHeaderSectionKey(value)) {
4145
+ return state;
4146
+ }
4147
+ const isCollapsed = state.collapsedHeaderSections.includes(value);
4148
+ return {
4149
+ ...state,
4150
+ collapsedHeaderSections: isCollapsed ? removeSection(state.collapsedHeaderSections, value) : [...state.collapsedHeaderSections, value]
4151
+ };
4152
+ };
4153
+
3622
4154
  const parseTimelineRangePreset$1 = value => {
3623
4155
  if (!value) {
3624
4156
  return {
@@ -3633,6 +4165,9 @@ const parseTimelineRangePreset$1 = value => {
3633
4165
  };
3634
4166
  };
3635
4167
  const getEventIndexByStableId = (events, event) => {
4168
+ if (typeof event.eventId !== 'number') {
4169
+ return -1;
4170
+ }
3636
4171
  return events.findIndex(candidate => candidate.eventId === event.eventId);
3637
4172
  };
3638
4173
  const getSelectedEventIndex = state => {
@@ -3642,7 +4177,7 @@ const getSelectedEventIndex = state => {
3642
4177
  if (selectedEventIndex === null) {
3643
4178
  return null;
3644
4179
  }
3645
- const filteredEvents = getCurrentEvents$2(state);
4180
+ const filteredEvents = getCurrentEvents$1(state);
3646
4181
  const selectedEvent = filteredEvents[selectedEventIndex];
3647
4182
  if (!selectedEvent) {
3648
4183
  return null;
@@ -3660,12 +4195,12 @@ const getPreservedSelectedEventIndex = (oldState, newState) => {
3660
4195
  if (selectedEventIndex === null) {
3661
4196
  return null;
3662
4197
  }
3663
- const oldFilteredEvents = getCurrentEvents$2(oldState);
4198
+ const oldFilteredEvents = getCurrentEvents$1(oldState);
3664
4199
  const selectedEvent = oldFilteredEvents[selectedEventIndex];
3665
4200
  if (!selectedEvent) {
3666
4201
  return null;
3667
4202
  }
3668
- const newFilteredEvents = getCurrentEvents$2(newState);
4203
+ const newFilteredEvents = getCurrentEvents$1(newState);
3669
4204
  const newIndex = getEventIndexByStableId(newFilteredEvents, selectedEvent);
3670
4205
  if (newIndex === -1) {
3671
4206
  return null;
@@ -3703,7 +4238,7 @@ const handleFilter = (state, value) => {
3703
4238
  });
3704
4239
  };
3705
4240
  const handleEventCategoryFilter = (state, value) => {
3706
- const categoryFilters = selectCategoryFilter(state.categoryFilters, value || All);
4241
+ const categoryFilters = selectCategoryFilter(state.categoryFilters, value || All$1);
3707
4242
  if (categoryFilters === state.categoryFilters) {
3708
4243
  return state;
3709
4244
  }
@@ -3730,7 +4265,7 @@ const handleUseDevtoolsLayout = (state, _value, checked) => {
3730
4265
  const useDevtoolsLayout = getBoolean(checked);
3731
4266
  const selectedEventIndex = useDevtoolsLayout ? getSelectedEventIndex(state) : null;
3732
4267
  const hasSelectedEvent = useDevtoolsLayout && selectedEventIndex !== null;
3733
- return applyVirtualTableState({
4268
+ const nextState = {
3734
4269
  ...state,
3735
4270
  previewTextCursorColumnIndex: hasSelectedEvent ? state.previewTextCursorColumnIndex : null,
3736
4271
  previewTextCursorRowIndex: hasSelectedEvent ? state.previewTextCursorRowIndex : null,
@@ -3738,6 +4273,10 @@ const handleUseDevtoolsLayout = (state, _value, checked) => {
3738
4273
  selectedEventId: hasSelectedEvent ? state.selectedEventId : null,
3739
4274
  selectedEventIndex,
3740
4275
  useDevtoolsLayout
4276
+ };
4277
+ return applyVirtualTableState({
4278
+ ...nextState,
4279
+ tableWidth: shouldUseBalancedSplitTableWidth(nextState) ? getBalancedSplitTableWidth(nextState) : state.tableWidth
3741
4280
  });
3742
4281
  };
3743
4282
  const handleSelectedEventIndex = (state, value) => {
@@ -3788,8 +4327,11 @@ const handleDetailTab = (state, value) => {
3788
4327
  detailTabs
3789
4328
  };
3790
4329
  };
4330
+ const handleToggleHeadersSection = (state, value) => {
4331
+ return toggleHeadersSection(state, value);
4332
+ };
3791
4333
  const inputHandlers = {
3792
- [CloseDetails]: handleCloseDetails,
4334
+ [CloseDetails$1]: handleCloseDetails,
3793
4335
  [DetailTab]: handleDetailTab,
3794
4336
  [EventCategoryFilter]: handleEventCategoryFilter,
3795
4337
  [Filter]: handleFilter,
@@ -3800,6 +4342,7 @@ const inputHandlers = {
3800
4342
  [TimelineEndSeconds]: handleTimelineEndSeconds$1,
3801
4343
  [TimelineRangePreset]: handleTimelineRangePreset$1,
3802
4344
  [TimelineStartSeconds]: handleTimelineStartSeconds$1,
4345
+ [ToggleHeadersSection]: handleToggleHeadersSection,
3803
4346
  [UseDevtoolsLayout]: handleUseDevtoolsLayout
3804
4347
  };
3805
4348
  const handleInput = (state, name, value, checked) => {
@@ -3853,28 +4396,43 @@ const shouldIncludeArguments = (event, name) => {
3853
4396
  return true;
3854
4397
  };
3855
4398
 
3856
- const getPayloadEvent = event => {
3857
- const {
3858
- requestEvent
3859
- } = event;
3860
- if (requestEvent && typeof requestEvent === 'object' && typeof requestEvent.type === 'string') {
3861
- const mergedRequestEvent = requestEvent;
3862
- if (mergedRequestEvent.body !== undefined) {
3863
- return mergedRequestEvent.body;
3864
- }
3865
- if (mergedRequestEvent.value !== undefined) {
3866
- return mergedRequestEvent.value;
3867
- }
3868
- if (hasOwn(mergedRequestEvent, 'arguments')) {
3869
- return mergedRequestEvent.arguments;
3870
- }
3871
- return requestEvent;
4399
+ const getMergedRequestPayloadEvent = requestEvent => {
4400
+ if (!requestEvent || typeof requestEvent !== 'object') {
4401
+ return {
4402
+ found: false
4403
+ };
3872
4404
  }
3873
- const name = getPreviewName(event);
3874
- if (name === 'list_files' && hasOwn(event, 'arguments')) {
3875
- return event.arguments;
4405
+ const mergedRequestEvent = requestEvent;
4406
+ if (typeof mergedRequestEvent.type !== 'string') {
4407
+ return {
4408
+ found: false
4409
+ };
4410
+ }
4411
+ if (mergedRequestEvent.body !== undefined) {
4412
+ return {
4413
+ found: true,
4414
+ value: mergedRequestEvent.body
4415
+ };
4416
+ }
4417
+ if (mergedRequestEvent.value !== undefined) {
4418
+ return {
4419
+ found: true,
4420
+ value: mergedRequestEvent.value
4421
+ };
3876
4422
  }
3877
- const payloadEvent = {
4423
+ if (hasOwn(mergedRequestEvent, 'arguments')) {
4424
+ return {
4425
+ found: true,
4426
+ value: mergedRequestEvent.arguments
4427
+ };
4428
+ }
4429
+ return {
4430
+ found: true,
4431
+ value: requestEvent
4432
+ };
4433
+ };
4434
+ const getPayloadObject = (event, name) => {
4435
+ return {
3878
4436
  ...(name === undefined ? {} : {
3879
4437
  name
3880
4438
  }),
@@ -3885,6 +4443,23 @@ const getPayloadEvent = event => {
3885
4443
  result: event.result
3886
4444
  } : {})
3887
4445
  };
4446
+ };
4447
+ const getPayloadEvent = event => {
4448
+ const {
4449
+ requestEvent
4450
+ } = event;
4451
+ const mergedRequestPayloadEvent = getMergedRequestPayloadEvent(requestEvent);
4452
+ if (mergedRequestPayloadEvent.found) {
4453
+ return mergedRequestPayloadEvent.value;
4454
+ }
4455
+ if (event && event.type === 'ai-request') {
4456
+ return event.body;
4457
+ }
4458
+ const name = getPreviewName(event);
4459
+ if (name === 'list_files' && hasOwn(event, 'arguments')) {
4460
+ return event.arguments;
4461
+ }
4462
+ const payloadEvent = getPayloadObject(event, name);
3888
4463
  if (Object.keys(payloadEvent).length > 0) {
3889
4464
  return payloadEvent;
3890
4465
  }
@@ -3899,57 +4474,75 @@ const isChatMessageUpdatedEvent = event => {
3899
4474
  return event.type === 'chat-message-updated';
3900
4475
  };
3901
4476
 
4477
+ const getObjectValue = value => {
4478
+ if (!value || typeof value !== 'object') {
4479
+ return undefined;
4480
+ }
4481
+ return value;
4482
+ };
3902
4483
  const getResponseContentText = content => {
3903
- if (!content || typeof content !== 'object') {
4484
+ const contentObject = getObjectValue(content);
4485
+ if (!contentObject) {
3904
4486
  return undefined;
3905
4487
  }
3906
4488
  if (Array.isArray(content)) {
3907
4489
  const [firstContentItem] = content;
3908
- if (!firstContentItem || typeof firstContentItem !== 'object') {
4490
+ const firstContentItemObject = getObjectValue(firstContentItem);
4491
+ if (!firstContentItemObject) {
3909
4492
  return undefined;
3910
4493
  }
3911
4494
  const {
3912
4495
  text
3913
- } = firstContentItem;
4496
+ } = firstContentItemObject;
3914
4497
  return typeof text === 'string' ? text : undefined;
3915
4498
  }
3916
4499
  const {
3917
4500
  text
3918
- } = content;
4501
+ } = contentObject;
3919
4502
  return typeof text === 'string' ? text : undefined;
3920
4503
  };
4504
+ const getOutput = value => {
4505
+ const valueObject = getObjectValue(value);
4506
+ if (!valueObject) {
4507
+ return undefined;
4508
+ }
4509
+ const {
4510
+ output
4511
+ } = valueObject;
4512
+ return Array.isArray(output) ? output : undefined;
4513
+ };
4514
+ const getAiRequestResponseOutput = event => {
4515
+ const {
4516
+ endValue
4517
+ } = event;
4518
+ const endValueObject = getObjectValue(endValue);
4519
+ if (!endValueObject) {
4520
+ return undefined;
4521
+ }
4522
+ return getOutput(endValueObject.value);
4523
+ };
4524
+ const getCompletedResponseOutput = event => {
4525
+ const valueObject = getObjectValue(event.value);
4526
+ if (!valueObject) {
4527
+ return undefined;
4528
+ }
4529
+ const responseObject = getObjectValue(valueObject.response);
4530
+ if (!responseObject) {
4531
+ return undefined;
4532
+ }
4533
+ return getOutput(responseObject);
4534
+ };
3921
4535
  const getResponseOutput = event => {
3922
- if (event.type === 'sse-response-completed') {
3923
- const {
3924
- value
3925
- } = event;
3926
- if (!value || typeof value !== 'object') {
3927
- return undefined;
3928
- }
3929
- const {
3930
- response
3931
- } = value;
3932
- if (!response || typeof response !== 'object') {
3933
- return undefined;
3934
- }
3935
- const {
3936
- output
3937
- } = response;
3938
- return Array.isArray(output) ? output : undefined;
3939
- }
3940
- if (event.type === 'ai-response') {
3941
- const {
3942
- value
3943
- } = event;
3944
- if (!value || typeof value !== 'object') {
4536
+ switch (event.type) {
4537
+ case 'ai-request':
4538
+ return getAiRequestResponseOutput(event);
4539
+ case 'ai-response':
4540
+ return getOutput(event.value);
4541
+ case 'sse-response-completed':
4542
+ return getCompletedResponseOutput(event);
4543
+ default:
3945
4544
  return undefined;
3946
- }
3947
- const {
3948
- output
3949
- } = value;
3950
- return Array.isArray(output) ? output : undefined;
3951
4545
  }
3952
- return undefined;
3953
4546
  };
3954
4547
  const getResponsePreviewText = event => {
3955
4548
  const output = getResponseOutput(event);
@@ -3957,12 +4550,13 @@ const getResponsePreviewText = event => {
3957
4550
  return undefined;
3958
4551
  }
3959
4552
  const [firstOutput] = output;
3960
- if (!firstOutput || typeof firstOutput !== 'object') {
4553
+ const firstOutputObject = getObjectValue(firstOutput);
4554
+ if (!firstOutputObject) {
3961
4555
  return undefined;
3962
4556
  }
3963
4557
  const {
3964
4558
  content
3965
- } = firstOutput;
4559
+ } = firstOutputObject;
3966
4560
  return getResponseContentText(content);
3967
4561
  };
3968
4562
  const getPreviewMessageText = event => {
@@ -4106,9 +4700,6 @@ const getPreviewEvent = event => {
4106
4700
 
4107
4701
  const previewTextRowHeight = 20;
4108
4702
  const defaultPreviewTextColumnWidth = 9;
4109
- const clamp = (value, min, max) => {
4110
- return Math.min(Math.max(value, min), max);
4111
- };
4112
4703
  const getPreviewTextCursorFromPoint = (value, x, y) => {
4113
4704
  const lines = value.split('\n');
4114
4705
  const rowIndex = clamp(Math.floor(Math.max(y, 0) / previewTextRowHeight), 0, Math.max(lines.length - 1, 0));
@@ -4267,16 +4858,22 @@ const handlePreviewTextScrollBarPointerDown = (state, eventY) => {
4267
4858
  };
4268
4859
 
4269
4860
  const handlePreviewTextScrollBarPointerMove = (state, eventY) => {
4270
- if (!state.previewTextScrollBarPointerActive) {
4861
+ const {
4862
+ previewTextDeltaY,
4863
+ previewTextScrollBarHandleOffset,
4864
+ previewTextScrollBarPointerActive,
4865
+ selectedEvent
4866
+ } = state;
4867
+ if (!previewTextScrollBarPointerActive) {
4271
4868
  return state;
4272
4869
  }
4273
4870
  const viewportHeight = getPreviewTextViewportHeight(state);
4274
- const virtualization = getPreviewVirtualizationState(state.selectedEvent, viewportHeight, state.previewTextDeltaY);
4871
+ const virtualization = getPreviewVirtualizationState(selectedEvent, viewportHeight, previewTextDeltaY);
4275
4872
  if (viewportHeight === 0 || virtualization.scrollBarHeight === 0) {
4276
4873
  return state;
4277
4874
  }
4278
4875
  const relativeY = eventY - getPreviewTextBodyY(state);
4279
- const nextHandleTop = Math.max(0, Math.min(viewportHeight - virtualization.scrollBarHeight, relativeY - state.previewTextScrollBarHandleOffset));
4876
+ const nextHandleTop = Math.max(0, Math.min(viewportHeight - virtualization.scrollBarHeight, relativeY - previewTextScrollBarHandleOffset));
4280
4877
  const percent = nextHandleTop / Math.max(1, viewportHeight - virtualization.scrollBarHeight);
4281
4878
  const nextState = setPreviewTextDeltaY(state, percent * virtualization.maxDeltaY);
4282
4879
  return {
@@ -4297,7 +4894,10 @@ const handlePreviewTextScrollBarPointerUp = state => {
4297
4894
  };
4298
4895
 
4299
4896
  const handlePreviewTextWheel = (state, deltaY) => {
4300
- return setPreviewTextDeltaY(state, state.previewTextDeltaY + deltaY);
4897
+ const {
4898
+ previewTextDeltaY
4899
+ } = state;
4900
+ return setPreviewTextDeltaY(state, previewTextDeltaY + deltaY);
4301
4901
  };
4302
4902
 
4303
4903
  const handleRootContextMenu = state => {
@@ -4320,7 +4920,8 @@ const handleSashPointerMove = (state, eventX, eventY) => {
4320
4920
  }
4321
4921
  return {
4322
4922
  ...state,
4323
- tableWidth: getTableWidthFromClientX(state.x, state.width, eventX)
4923
+ tableWidth: getTableWidthFromClientX(state, eventX),
4924
+ tableWidthManuallyResized: true
4324
4925
  };
4325
4926
  };
4326
4927
 
@@ -4362,6 +4963,8 @@ const handleTableHeaderClick = (state, value) => {
4362
4963
 
4363
4964
  const getTableResizerId = name => {
4364
4965
  switch (name) {
4966
+ case 'ResizerFour':
4967
+ return 4;
4365
4968
  case 'ResizerOne':
4366
4969
  return 1;
4367
4970
  case 'ResizerThree':
@@ -4385,7 +4988,7 @@ const handleTableResizerPointerMove = (state, clientX) => {
4385
4988
  }
4386
4989
  return {
4387
4990
  ...state,
4388
- tableColumnWidths: getResizedTableColumnWidths(state.width, state.tableWidth, getVisibleTableColumns(state.tableColumns), state.tableColumnWidths, state.x, clientX, state.tableResizerDownId)
4991
+ tableColumns: getResizedTableColumnWidths(state, getVisibleTableColumns(state.tableColumns), state.tableColumns, clientX, state.tableResizerDownId)
4389
4992
  };
4390
4993
  };
4391
4994
 
@@ -4410,6 +5013,44 @@ const handleTableRowCopy = async (state, eventIndex) => {
4410
5013
  return state;
4411
5014
  };
4412
5015
 
5016
+ const toDataUri$1 = text => {
5017
+ return `data:application/json,${encodeURIComponent(text)}`;
5018
+ };
5019
+ const handleTableRowDoubleClick = async (state, eventX, eventY) => {
5020
+ const eventIndex = getTableBodyEventIndex(state, eventX, eventY);
5021
+ if (eventIndex === -1) {
5022
+ return state;
5023
+ }
5024
+ const event = getCurrentEvents$1(state)[eventIndex];
5025
+ if (!event) {
5026
+ return state;
5027
+ }
5028
+ const responseData = getResponseData(event);
5029
+ if (responseData === undefined) {
5030
+ return state;
5031
+ }
5032
+ const text = JSON.stringify(responseData, null, 2);
5033
+ if (!text) {
5034
+ return state;
5035
+ }
5036
+ await openUri(toDataUri$1(text));
5037
+ return state;
5038
+ };
5039
+
5040
+ const toDataUri = text => {
5041
+ return `data:application/json,${encodeURIComponent(text)}`;
5042
+ };
5043
+ const handleTableRowOpenInNewTab = async (state, eventIndex) => {
5044
+ const currentEvents = getCurrentEvents$1(state);
5045
+ const event = currentEvents[eventIndex];
5046
+ if (!event) {
5047
+ return state;
5048
+ }
5049
+ const text = JSON.stringify(event, null, 2);
5050
+ await openUri(toDataUri(text));
5051
+ return state;
5052
+ };
5053
+
4413
5054
  const getHandleOffsetAndPercent = (tableBodyHeight, scrollBarHeight, relativeY) => {
4414
5055
  const halfScrollBarHeight = scrollBarHeight / 2;
4415
5056
  if (relativeY <= halfScrollBarHeight) {
@@ -4430,7 +5071,7 @@ const getHandleOffsetAndPercent = (tableBodyHeight, scrollBarHeight, relativeY)
4430
5071
  };
4431
5072
  };
4432
5073
  const handleTableScrollBarPointerDown = (state, eventY) => {
4433
- const currentEvents = getCurrentEvents$2(state);
5074
+ const currentEvents = getCurrentEvents$1(state);
4434
5075
  const tableBodyHeight = getTableBodyHeight(state, currentEvents.length);
4435
5076
  const scrollBarHeight = getScrollBarHeight(currentEvents.length, tableBodyHeight);
4436
5077
  if (tableBodyHeight === 0 || scrollBarHeight === 0) {
@@ -4454,7 +5095,7 @@ const handleTableScrollBarPointerMove = (state, eventY) => {
4454
5095
  if (!state.tableScrollBarPointerActive) {
4455
5096
  return state;
4456
5097
  }
4457
- const currentEvents = getCurrentEvents$2(state);
5098
+ const currentEvents = getCurrentEvents$1(state);
4458
5099
  const tableBodyHeight = getTableBodyHeight(state, currentEvents.length);
4459
5100
  const scrollBarHeight = getScrollBarHeight(currentEvents.length, tableBodyHeight);
4460
5101
  if (tableBodyHeight === 0 || scrollBarHeight === 0) {
@@ -4550,10 +5191,10 @@ const getTimelineEventX = eventX => {
4550
5191
  };
4551
5192
 
4552
5193
  const getTimelineLeft = state => {
4553
- return state.x + viewPadding + timelineHorizontalPadding;
5194
+ return state.x + state.viewPadding + state.timelineHorizontalPadding;
4554
5195
  };
4555
5196
  const getTimelineWidth = state => {
4556
- return Math.max(0, getMainWidth(state.width) - timelineHorizontalPadding * 2);
5197
+ return Math.max(0, getMainWidth(state) - state.timelineHorizontalPadding * 2);
4557
5198
  };
4558
5199
 
4559
5200
  const getTimelineDurationSeconds = events => {
@@ -4686,17 +5327,22 @@ const handleTimelinePointerUp = (state, eventX) => {
4686
5327
  const setUseDevtoolsLayout = (state, checked) => {
4687
5328
  const useDevtoolsLayout = getBoolean(checked);
4688
5329
  const selectedEventIndex = useDevtoolsLayout ? getSelectedEventIndex$1(state) : null;
4689
- return applyVirtualTableState({
5330
+ const hasSelectedEvent = useDevtoolsLayout && selectedEventIndex !== null;
5331
+ const nextState = {
4690
5332
  ...state,
4691
- previewTextCursorColumnIndex: useDevtoolsLayout && selectedEventIndex !== null ? state.previewTextCursorColumnIndex : null,
4692
- previewTextCursorRowIndex: useDevtoolsLayout && selectedEventIndex !== null ? state.previewTextCursorRowIndex : null,
4693
- previewTextDeltaY: useDevtoolsLayout && selectedEventIndex !== null ? state.previewTextDeltaY : 0,
5333
+ previewTextCursorColumnIndex: hasSelectedEvent ? state.previewTextCursorColumnIndex : null,
5334
+ previewTextCursorRowIndex: hasSelectedEvent ? state.previewTextCursorRowIndex : null,
5335
+ previewTextDeltaY: hasSelectedEvent ? state.previewTextDeltaY : 0,
4694
5336
  previewTextScrollBarHandleOffset: 0,
4695
5337
  previewTextScrollBarPointerActive: false,
4696
- selectedEvent: useDevtoolsLayout && selectedEventIndex !== null ? state.selectedEvent : null,
4697
- selectedEventId: useDevtoolsLayout && selectedEventIndex !== null ? state.selectedEventId : null,
5338
+ selectedEvent: hasSelectedEvent ? state.selectedEvent : null,
5339
+ selectedEventId: hasSelectedEvent ? state.selectedEventId : null,
4698
5340
  selectedEventIndex,
4699
5341
  useDevtoolsLayout
5342
+ };
5343
+ return applyVirtualTableState({
5344
+ ...nextState,
5345
+ tableWidth: shouldUseBalancedSplitTableWidth(nextState) ? getBalancedSplitTableWidth(nextState) : state.tableWidth
4700
5346
  });
4701
5347
  };
4702
5348
 
@@ -4727,14 +5373,21 @@ const handleStorageWorkerUpdate = async uid => {
4727
5373
  await invoke('Viewlet.executeViewletCommand', uid, 'ChatDebug.handleClickRefresh');
4728
5374
  };
4729
5375
 
4730
- const loadContentDependencies = loadEventsDependencies;
4731
- loadContentDependencies.registerUpdateListener = registerUpdateListener;
5376
+ const loadEventsFromUri = async state => {
5377
+ const sessionId = getSessionIdFromUri(state);
5378
+ if (!sessionId) {
5379
+ return getStateWithInvalidUri(state);
5380
+ }
5381
+ return loadEventsForSessionId(state, sessionId);
5382
+ };
5383
+
4732
5384
  const loadContent = async (state, savedState) => {
4733
5385
  await getPreference('chatDebug.autoRefresh');
4734
- const nextState = await loadEventsFromUri(restoreSavedState(state, savedState));
5386
+ const restoredState = restoreSavedState(state, savedState);
5387
+ const nextState = await loadEventsFromUri(restoredState);
4735
5388
  if (nextState.sessionId) {
4736
5389
  try {
4737
- await loadContentDependencies.registerUpdateListener(nextState.sessionId, rpcId, nextState.uid);
5390
+ await registerUpdateListener(nextState.sessionId, rpcId, nextState.uid);
4738
5391
  } catch {
4739
5392
  // ignore
4740
5393
  }
@@ -4742,8 +5395,7 @@ const loadContent = async (state, savedState) => {
4742
5395
  return applyVirtualTableState({
4743
5396
  ...nextState,
4744
5397
  categoryFilters: createCategoryFilters(getSelectedEventCategoryFilters(nextState.categoryFilters)),
4745
- detailTabs: createDetailTabs(getSelectedDetailTab(nextState.detailTabs), nextState.selectedEvent),
4746
- tableColumns: createTableColumns()
5398
+ detailTabs: createDetailTabs(getSelectedDetailTab(nextState.detailTabs), nextState.selectedEvent)
4747
5399
  });
4748
5400
  };
4749
5401
 
@@ -4751,20 +5403,8 @@ const isAttachmentImagePreview = value => {
4751
5403
  return typeof value === 'object' && value !== null && value.previewType === 'image';
4752
5404
  };
4753
5405
 
4754
- const getResponseEvent = event => {
4755
- const {
4756
- responseEvent
4757
- } = event;
4758
- if (responseEvent && typeof responseEvent === 'object' && typeof responseEvent.type === 'string') {
4759
- const mergedResponseEvent = responseEvent;
4760
- if (mergedResponseEvent.value !== undefined) {
4761
- return mergedResponseEvent.value;
4762
- }
4763
- return responseEvent;
4764
- }
4765
- return event;
4766
- };
4767
-
5406
+ const detailsLineNumberDigitWidth = 8;
5407
+ const detailsLineNumberHorizontalPadding = 8;
4768
5408
  const getStringLineCount = value => {
4769
5409
  return value.split('\n').length;
4770
5410
  };
@@ -4809,13 +5449,13 @@ const getLineCount = state => {
4809
5449
  return 0;
4810
5450
  }
4811
5451
  const selectedDetailTab = getSelectedDetailTab(state.detailTabs);
4812
- if (selectedDetailTab === Timing) {
5452
+ if (selectedDetailTab === Timing$1 || selectedDetailTab === Tokens$1) {
4813
5453
  return 0;
4814
5454
  }
4815
- if (selectedDetailTab === Preview) {
5455
+ if (selectedDetailTab === Preview$1) {
4816
5456
  return getPreviewLineCount(selectedEvent);
4817
5457
  }
4818
- if (selectedDetailTab === Payload) {
5458
+ if (selectedDetailTab === Payload$1) {
4819
5459
  return getJsonLineCount(getPayloadEvent(selectedEvent));
4820
5460
  }
4821
5461
  return getJsonLineCount(getResponseEvent(selectedEvent));
@@ -4825,22 +5465,23 @@ const getDetailsLineNumberWidth = state => {
4825
5465
  if (lineCount === 0) {
4826
5466
  return 0;
4827
5467
  }
4828
- return String(lineCount).length * defaultPreviewTextColumnWidth;
5468
+ const digitCount = String(lineCount).length;
5469
+ return digitCount * detailsLineNumberDigitWidth + detailsLineNumberHorizontalPadding;
4829
5470
  };
4830
5471
 
4831
5472
  // cspell:ignore liga calt
4832
5473
 
4833
5474
  const getCss = state => {
4834
5475
  const hasSelectedEvent = !!state.selectedEvent;
4835
- const tableWidth = hasSelectedEvent ? clampTableWidth(state.width, state.tableWidth) : getMainWidth(state.width);
4836
- const currentEvents = getCurrentEvents$2(state);
5476
+ const tableWidth = hasSelectedEvent ? clampTableWidth(state, state.tableWidth) : getMainWidth(state);
5477
+ const currentEvents = getCurrentEvents$1(state);
4837
5478
  const tableBodyHeight = getTableBodyHeight(state, currentEvents.length);
4838
5479
  const scrollBarHeight = getScrollBarHeight(currentEvents.length, tableBodyHeight);
4839
5480
  const maxDeltaY = getMaxDeltaY(currentEvents.length, tableBodyHeight);
4840
5481
  const showScrollBar = scrollBarHeight > 0;
4841
5482
  const scrollBarOffset = getScrollBarOffset(state.tableDeltaY, maxDeltaY, tableBodyHeight, scrollBarHeight);
4842
5483
  const tableContentWidth = Math.max(0, tableWidth - (showScrollBar ? devtoolsTableScrollBarWidth : 0));
4843
- const detailsWidth = hasSelectedEvent ? getDetailsWidth(state.width, state.tableWidth) : 0;
5484
+ const detailsWidth = hasSelectedEvent ? getDetailsWidth(state, state.tableWidth) : 0;
4844
5485
  const detailsLineNumberWidth = getDetailsLineNumberWidth(state);
4845
5486
  const previewTextViewportHeight = getPreviewTextViewportHeight(state);
4846
5487
  const previewVirtualization = getPreviewVirtualizationState(state.selectedEvent, previewTextViewportHeight, state.previewTextDeltaY);
@@ -4848,11 +5489,12 @@ const getCss = state => {
4848
5489
  if (state.width >= state.largeBreakpoint) {
4849
5490
  topSize = 30;
4850
5491
  }
4851
- const tableColumnLayout = getTableColumnLayout(tableContentWidth, getVisibleTableColumns(state.tableColumns), state.tableColumnWidths);
4852
- const [tableColZeroWidth = 0, tableColOneWidth = 0, tableColTwoWidth = 0, tableColThreeWidth = 0] = tableColumnLayout.visibleColumnWidths;
5492
+ const tableColumnLayout = getTableColumnLayout(tableContentWidth, getVisibleTableColumns(state.tableColumns), state.tableColumns);
5493
+ const [tableColZeroWidth = 0, tableColOneWidth = 0, tableColTwoWidth = 0, tableColThreeWidth = 0, tableColFourWidth = 0] = tableColumnLayout.visibleColumnWidths;
4853
5494
  const resizerOneLeft = tableColumnLayout.resizerLefts[0] ?? 0;
4854
5495
  const resizerTwoLeft = tableColumnLayout.resizerLefts[1] ?? 0;
4855
5496
  const resizerThreeLeft = tableColumnLayout.resizerLefts[2] ?? 0;
5497
+ const resizerFourLeft = tableColumnLayout.resizerLefts[3] ?? 0;
4856
5498
  const {
4857
5499
  selectionEndPercent,
4858
5500
  selectionStartPercent
@@ -4865,13 +5507,14 @@ const getCss = state => {
4865
5507
  --ChatDebugViewTableColOneWidth: ${tableColOneWidth}px;
4866
5508
  --ChatDebugViewTableColTwoWidth: ${tableColTwoWidth}px;
4867
5509
  --ChatDebugViewTableColThreeWidth: ${tableColThreeWidth}px;
5510
+ --ChatDebugViewTableColFourWidth: ${tableColFourWidth}px;
4868
5511
  --ChatDebugViewDetailsLineNumberWidth: ${detailsLineNumberWidth}px;
4869
5512
  --ChatDebugViewPreviewScrollBarHeight: ${previewVirtualization.scrollBarHeight}px;
4870
5513
  --ChatDebugViewPreviewScrollBarOffset: ${previewVirtualization.scrollBarOffset}px;
4871
5514
  --ChatDebugViewPreviewScrollBarWidth: ${previewVirtualization.showScrollBar ? devtoolsTableScrollBarWidth : 0}px;
4872
5515
  --ChatDebugViewPreviewViewportHeight: ${previewVirtualization.viewportHeight}px;
4873
5516
  --ChatDebugViewDetailsWidth: ${detailsWidth}px;
4874
- --ChatDebugViewDurationColumnWidth: ${state.tableColumnWidths.duration}px;
5517
+ --ChatDebugViewDurationColumnWidth: ${getTableColumnWidth(state.tableColumns, Duration)}px;
4875
5518
  --ChatDebugViewTableRowHeight: ${devtoolsTableRowHeight}px;
4876
5519
  --ChatDebugViewTableScrollBarHeight: ${scrollBarHeight}px;
4877
5520
  --ChatDebugViewTableScrollBarOffset: ${scrollBarOffset}px;
@@ -4879,15 +5522,16 @@ const getCss = state => {
4879
5522
  --ResizerOneLeft: ${resizerOneLeft}px;
4880
5523
  --ResizerTwoLeft: ${resizerTwoLeft}px;
4881
5524
  --ResizerThreeLeft: ${resizerThreeLeft}px;
4882
- --ChatDebugViewSashWidth: ${sashWidth}px;
5525
+ --ResizerFourLeft: ${resizerFourLeft}px;
5526
+ --ChatDebugViewSashWidth: ${state.sashWidth}px;
4883
5527
  --ChatDebugViewTableWidth: ${tableWidth}px;
4884
5528
  --ChatDebugViewTimelineHeight: ${state.timelineHeight}px;
4885
5529
  --ChatDebugViewTimelineCursorGuideLeft: ${state.timelineHoverPercent ?? 0}%;
4886
5530
  --ChatDebugViewTimelineSelectionEndLeft: ${selectionEndPercent ?? 0}%;
4887
5531
  --ChatDebugViewTimelineSelectionStartLeft: ${selectionStartPercent ?? 0}%;
4888
5532
  --ChatDebugViewTopSize: ${topSize}px;
4889
- --ChatDebugViewTypeColumnWidth: ${state.tableColumnWidths.type}px;
4890
- padding: ${viewPadding}px;
5533
+ --ChatDebugViewTypeColumnWidth: ${getTableColumnWidth(state.tableColumns, Type)}px;
5534
+ padding: ${state.viewPadding}px;
4891
5535
  padding-right: 0;
4892
5536
  }
4893
5537
 
@@ -4901,6 +5545,75 @@ const getCss = state => {
4901
5545
  width: calc(100% - var(--ChatDebugViewTableScrollBarWidth));
4902
5546
  }
4903
5547
 
5548
+ .TableColZero {
5549
+ width: var(--ChatDebugViewTableColZeroWidth);
5550
+ }
5551
+
5552
+ .TableColOne {
5553
+ width: var(--ChatDebugViewTableColOneWidth);
5554
+ }
5555
+
5556
+ .TableColTwo {
5557
+ width: var(--ChatDebugViewTableColTwoWidth);
5558
+ }
5559
+
5560
+ .TableColThree {
5561
+ width: var(--ChatDebugViewTableColThreeWidth);
5562
+ }
5563
+
5564
+ .TableColFour {
5565
+ width: var(--ChatDebugViewTableColFourWidth);
5566
+ }
5567
+
5568
+ .Resizers {
5569
+ bottom: 0;
5570
+ left: 0;
5571
+ pointer-events: none;
5572
+ position: absolute;
5573
+ right: var(--ChatDebugViewTableScrollBarWidth);
5574
+ top: 0;
5575
+ }
5576
+
5577
+ .Resizer {
5578
+ background: transparent;
5579
+ border: 0;
5580
+ bottom: 0;
5581
+ cursor: col-resize;
5582
+ margin: 0;
5583
+ padding: 0;
5584
+ pointer-events: auto;
5585
+ position: absolute;
5586
+ top: 0;
5587
+ transform: translateX(calc(-0.5 * var(--ChatDebugViewSashWidth)));
5588
+ width: var(--ChatDebugViewSashWidth);
5589
+ }
5590
+
5591
+ .ResizerOne {
5592
+ left: var(--ResizerOneLeft);
5593
+ }
5594
+
5595
+ .ResizerTwo {
5596
+ left: var(--ResizerTwoLeft);
5597
+ }
5598
+
5599
+ .ResizerThree {
5600
+ left: var(--ResizerThreeLeft);
5601
+ }
5602
+
5603
+ .ResizerFour {
5604
+ left: var(--ResizerFourLeft);
5605
+ }
5606
+
5607
+ .ResizerInner {
5608
+ background: var(--vscode-panel-border, rgba(255, 255, 255, 0.12));
5609
+ bottom: 0;
5610
+ pointer-events: none;
5611
+ position: absolute;
5612
+ top: 0;
5613
+ transform: translateX(-0.5px);
5614
+ width: 1px;
5615
+ }
5616
+
4904
5617
  .ChatDebugViewTimeline {
4905
5618
  contain: strict;
4906
5619
  display: flex;
@@ -4920,10 +5633,74 @@ const getCss = state => {
4920
5633
  width: var(--ChatDebugViewDetailsLineNumberWidth);
4921
5634
  }
4922
5635
 
4923
- .ChatDebugViewDetailsBottom .ChatDebugViewEventLineNumber {
4924
- display: inline-block;
4925
- min-width: var(--ChatDebugViewDetailsLineNumberWidth);
4926
- width: var(--ChatDebugViewDetailsLineNumberWidth);
5636
+ .ChatDebugViewHeadersTable {
5637
+ list-style: none;
5638
+ margin: 0;
5639
+ padding: 0;
5640
+ width: 100%;
5641
+ }
5642
+
5643
+ .ChatDebugViewHeadersSection {
5644
+ display: flex;
5645
+ flex-direction: column;
5646
+ }
5647
+
5648
+ .ChatDebugViewHeadersSection + .ChatDebugViewHeadersSection {
5649
+ margin-top: 16px;
5650
+ }
5651
+
5652
+ .ChatDebugViewHeadersSectionHeading {
5653
+ align-items: center;
5654
+ background: transparent;
5655
+ border: 0;
5656
+ color: var(--vscode-descriptionForeground, rgba(255, 255, 255, 0.7));
5657
+ cursor: pointer;
5658
+ display: flex;
5659
+ font-size: 11px;
5660
+ font-weight: 600;
5661
+ justify-content: flex-start;
5662
+ letter-spacing: 0.08em;
5663
+ margin-bottom: 6px;
5664
+ padding: 0;
5665
+ text-align: left;
5666
+ text-transform: uppercase;
5667
+ }
5668
+
5669
+ .ChatDebugViewHeadersSectionHeading:hover {
5670
+ color: var(--vscode-editor-foreground);
5671
+ }
5672
+
5673
+ .ChatDebugViewHeadersRow {
5674
+ display: grid;
5675
+ grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
5676
+ }
5677
+
5678
+ .ChatDebugViewHeadersCell {
5679
+ border-bottom: 1px solid var(--vscode-panel-border, rgba(255, 255, 255, 0.12));
5680
+ min-width: 0;
5681
+ color: var(--vscode-editor-foreground);
5682
+ padding: 6px 10px;
5683
+ text-align: left;
5684
+ word-break: break-word;
5685
+ }
5686
+
5687
+ .ChatDebugViewHeadersRowOdd {
5688
+ background: rgba(255, 255, 255, 0.02);
5689
+ }
5690
+
5691
+ .ChatDebugViewHeadersRowEven {
5692
+ background: rgba(255, 255, 255, 0.04);
5693
+ }
5694
+
5695
+ .ChatDebugViewHeadersCellName {
5696
+ font-weight: 500;
5697
+ }
5698
+
5699
+ .ChatDebugViewHeadersSectionInfo {
5700
+ color: var(--vscode-descriptionForeground, rgba(255, 255, 255, 0.7));
5701
+ font-size: 11px;
5702
+ line-height: 1.4;
5703
+ margin-top: 8px;
4927
5704
  }
4928
5705
 
4929
5706
  .PreviewVirtualizedEditor {
@@ -5325,6 +6102,16 @@ const PanelTab = 'PanelTab';
5325
6102
  const PanelTabSelected = 'PanelTabSelected';
5326
6103
  const ChatDebugViewDetailsTabs = 'ChatDebugViewDetailsTabs';
5327
6104
  const ChatDebugViewDetailsTop = 'ChatDebugViewDetailsTop';
6105
+ const ChatDebugViewHeadersCell = 'ChatDebugViewHeadersCell';
6106
+ const ChatDebugViewHeadersCellName = 'ChatDebugViewHeadersCellName';
6107
+ const ChatDebugViewHeadersCellValue = 'ChatDebugViewHeadersCellValue';
6108
+ const ChatDebugViewHeadersRow = 'ChatDebugViewHeadersRow';
6109
+ const ChatDebugViewHeadersRowEven = 'ChatDebugViewHeadersRowEven';
6110
+ const ChatDebugViewHeadersRowOdd = 'ChatDebugViewHeadersRowOdd';
6111
+ const ChatDebugViewHeadersSection = 'ChatDebugViewHeadersSection';
6112
+ const ChatDebugViewHeadersSectionHeading = 'ChatDebugViewHeadersSectionHeading';
6113
+ const ChatDebugViewHeadersSectionInfo = 'ChatDebugViewHeadersSectionInfo';
6114
+ const ChatDebugViewHeadersTable = 'ChatDebugViewHeadersTable';
5328
6115
  const ChatDebugViewDevtoolsSplit = 'ChatDebugViewDevtoolsSplit';
5329
6116
  const ChatDebugViewEmpty = 'ChatDebugViewEmpty';
5330
6117
  const ChatDebugViewError = 'ChatDebugViewError';
@@ -5369,6 +6156,7 @@ const ResizerInner = 'ResizerInner';
5369
6156
  const ResizerOne = 'ResizerOne';
5370
6157
  const ResizerTwo = 'ResizerTwo';
5371
6158
  const ResizerThree = 'ResizerThree';
6159
+ const ResizerFour = 'ResizerFour';
5372
6160
  const TableHead = 'TableHead';
5373
6161
  const Resizers = 'Resizers';
5374
6162
  const TableCol = 'TableCol';
@@ -5412,6 +6200,7 @@ const ChatDebugViewTop = 'ChatDebugViewTop';
5412
6200
  const ChatDebugViewTopDevtools = 'ChatDebugViewTop--devtools';
5413
6201
  const TableCell = 'TableCell';
5414
6202
  const ChatDebugViewCellDuration = 'ChatDebugViewCellDuration';
6203
+ const ChatDebugViewCellSize = 'ChatDebugViewCellSize';
5415
6204
  const ChatDebugViewCellStatusError = 'ChatDebugViewCellStatusError';
5416
6205
  const InputBox = 'InputBox';
5417
6206
  const TokenBoolean = 'Token TokenBoolean';
@@ -5463,6 +6252,7 @@ const HandlePreviewTextScrollBarPointerDown = 37;
5463
6252
  const HandlePreviewTextScrollBarPointerMove = 38;
5464
6253
  const HandlePreviewTextScrollBarPointerUp = 39;
5465
6254
  const HandleRootContextMenu = 40;
6255
+ const HandleTableRowDoubleClick = 41;
5466
6256
 
5467
6257
  const debugErrorRootNode = {
5468
6258
  childCount: 1,
@@ -5492,6 +6282,7 @@ const getFilterInputDom = (filterValue, useDevtoolsLayout) => {
5492
6282
  };
5493
6283
  };
5494
6284
 
6285
+ const selectedClassName = mergeClassNames(ChatDebugViewQuickFilterPill, ChatDebugViewQuickFilterPillSelected);
5495
6286
  const getQuickFilterDom = categoryFilter => {
5496
6287
  const {
5497
6288
  isSelected,
@@ -5501,7 +6292,7 @@ const getQuickFilterDom = categoryFilter => {
5501
6292
  return [{
5502
6293
  ariaSelected: isSelected,
5503
6294
  childCount: 1,
5504
- className: mergeClassNames(ChatDebugViewQuickFilterPill, isSelected ? ChatDebugViewQuickFilterPillSelected : ''),
6295
+ className: isSelected ? selectedClassName : ChatDebugViewQuickFilterPill,
5505
6296
  name,
5506
6297
  onClick: HandleEventCategoryFilter,
5507
6298
  role: Option,
@@ -5525,10 +6316,10 @@ const refreshButtonDom = [{
5525
6316
  'aria-label': refreshEvents$1(),
5526
6317
  childCount: 1,
5527
6318
  className: ChatDebugViewRefreshButton,
5528
- name: Refresh,
6319
+ name: Refresh$1,
5529
6320
  onClick: HandleClickRefresh,
5530
6321
  type: Button$1,
5531
- value: Refresh
6322
+ value: Refresh$1
5532
6323
  }, text(refresh$1())];
5533
6324
  const getRefreshButtonDom = () => {
5534
6325
  return refreshButtonDom;
@@ -5551,64 +6342,363 @@ const getDebugViewTopDom = (filterValue, useDevtoolsLayout, categoryFilters) =>
5551
6342
  }, getFilterInputDom(filterValue, false), ...refreshButtonDom];
5552
6343
  };
5553
6344
 
5554
- const getNextSiblingIndex$2 = (nodes, index) => {
5555
- let nextSiblingIndex = index + 1;
5556
- const childCount = nodes[index]?.childCount || 0;
5557
- for (let i = 0; i < childCount; i++) {
5558
- nextSiblingIndex = getNextSiblingIndex$2(nodes, nextSiblingIndex);
6345
+ const createDevtoolsRows = (events, selectedEventIndex, startIndex = 0) => {
6346
+ return events.map((event, index) => {
6347
+ const actualIndex = startIndex + index;
6348
+ return {
6349
+ event,
6350
+ index: actualIndex,
6351
+ isErrorStatus: hasErrorStatus(event),
6352
+ isEven: actualIndex % 2 === 1,
6353
+ isSelected: selectedEventIndex === actualIndex
6354
+ };
6355
+ });
6356
+ };
6357
+
6358
+ const getNextSiblingIndex$2 = (nodes, index) => {
6359
+ let nextSiblingIndex = index + 1;
6360
+ const childCount = nodes[index]?.childCount || 0;
6361
+ for (let i = 0; i < childCount; i++) {
6362
+ nextSiblingIndex = getNextSiblingIndex$2(nodes, nextSiblingIndex);
6363
+ }
6364
+ return nextSiblingIndex;
6365
+ };
6366
+
6367
+ const getDirectChildCount$1 = nodes => {
6368
+ let count = 0;
6369
+ let index = 0;
6370
+ while (index < nodes.length) {
6371
+ count++;
6372
+ index = getNextSiblingIndex$2(nodes, index);
6373
+ }
6374
+ return count;
6375
+ };
6376
+
6377
+ const getPanelId = detailTab => {
6378
+ return `ChatDebugViewDetailsPanel-${detailTab}`;
6379
+ };
6380
+
6381
+ const getDetailContentDom = (selectedDetailTab, safeSelectedDetailTab, contentNodes) => {
6382
+ return [{
6383
+ 'aria-label': selectedDetailTab.label,
6384
+ childCount: getDirectChildCount$1(contentNodes),
6385
+ className: ChatDebugViewDetailsBottom,
6386
+ id: getPanelId(safeSelectedDetailTab),
6387
+ onContextMenu: HandleDetailsContextMenu,
6388
+ role: 'tabpanel',
6389
+ type: Div
6390
+ }, ...contentNodes];
6391
+ };
6392
+
6393
+ const icon = {
6394
+ childCount: 0,
6395
+ className: 'MaskIcon MaskIconClose',
6396
+ type: Div
6397
+ };
6398
+ const getDetailsCloseButtonDom = () => {
6399
+ return [{
6400
+ 'aria-label': closeDetails(),
6401
+ childCount: 1,
6402
+ className: ChatDebugViewDetailsClose,
6403
+ name: CloseDetails$1,
6404
+ onChange: HandleCloseDetails,
6405
+ onClick: HandleCloseDetails,
6406
+ type: Button$1,
6407
+ value: 'close'
6408
+ }, icon];
6409
+ };
6410
+
6411
+ const getDetailTabDom = detailTab => {
6412
+ const {
6413
+ isSelected
6414
+ } = detailTab;
6415
+ return [{
6416
+ 'aria-controls': getPanelId(detailTab.name),
6417
+ ariaSelected: isSelected,
6418
+ childCount: 1,
6419
+ className: mergeClassNames(PanelTab, isSelected ? PanelTabSelected : ''),
6420
+ name: detailTab.name,
6421
+ onChange: SelectDetailTab,
6422
+ onClick: SelectDetailTab,
6423
+ onFocus: HandleDetailTabsFocus,
6424
+ role: Tab,
6425
+ tabIndex: isSelected ? 0 : -1,
6426
+ type: Button$1
6427
+ }, text(detailTab.label)];
6428
+ };
6429
+
6430
+ const getTabNodes = detailTabs => {
6431
+ return [{
6432
+ 'aria-label': detailSections(),
6433
+ childCount: detailTabs.length,
6434
+ className: ChatDebugViewDetailsTabs,
6435
+ role: 'tablist',
6436
+ type: Div
6437
+ }, ...detailTabs.flatMap(getDetailTabDom)];
6438
+ };
6439
+
6440
+ const parentNode = {
6441
+ childCount: 2,
6442
+ className: ChatDebugViewDetailsTop,
6443
+ onContextMenu: HandleDetailsTopContextMenu,
6444
+ type: Div
6445
+ };
6446
+ const getDetailsTopVirtualDom = detailTabs => {
6447
+ return [parentNode, ...getDetailsCloseButtonDom(), ...getTabNodes(detailTabs)];
6448
+ };
6449
+
6450
+ const getNormalizedDetailTabs = (selectedEvent, detailTabs) => {
6451
+ if (selectedEvent === null) {
6452
+ return detailTabs;
6453
+ }
6454
+ return createDetailTabs(getSelectedDetailTab(detailTabs), selectedEvent);
6455
+ };
6456
+
6457
+ const httpStatusLabels = {
6458
+ 100: 'Continue',
6459
+ 101: 'Switching Protocols',
6460
+ 102: 'Processing',
6461
+ 103: 'Early Hints',
6462
+ 200: 'OK',
6463
+ 201: 'Created',
6464
+ 202: 'Accepted',
6465
+ 203: 'Non-Authoritative Information',
6466
+ 204: 'No Content',
6467
+ 205: 'Reset Content',
6468
+ 206: 'Partial Content',
6469
+ 207: 'Multi-Status',
6470
+ 208: 'Already Reported',
6471
+ 226: 'IM Used',
6472
+ 300: 'Multiple Choices',
6473
+ 301: 'Moved Permanently',
6474
+ 302: 'Found',
6475
+ 303: 'See Other',
6476
+ 304: 'Not Modified',
6477
+ 305: 'Use Proxy',
6478
+ 307: 'Temporary Redirect',
6479
+ 308: 'Permanent Redirect',
6480
+ 400: 'Bad Request',
6481
+ 401: 'Unauthorized',
6482
+ 402: 'Payment Required',
6483
+ 403: 'Forbidden',
6484
+ 404: 'Not Found',
6485
+ 405: 'Method Not Allowed',
6486
+ 406: 'Not Acceptable',
6487
+ 407: 'Proxy Authentication Required',
6488
+ 408: 'Request Timeout',
6489
+ 409: 'Conflict',
6490
+ 410: 'Gone',
6491
+ 411: 'Length Required',
6492
+ 412: 'Precondition Failed',
6493
+ 413: 'Content Too Large',
6494
+ 414: 'URI Too Long',
6495
+ 415: 'Unsupported Media Type',
6496
+ 416: 'Range Not Satisfiable',
6497
+ 417: 'Expectation Failed',
6498
+ 418: "I'm a Teapot",
6499
+ 421: 'Misdirected Request',
6500
+ 422: 'Unprocessable Content',
6501
+ 423: 'Locked',
6502
+ 424: 'Failed Dependency',
6503
+ 425: 'Too Early',
6504
+ 426: 'Upgrade Required',
6505
+ 428: 'Precondition Required',
6506
+ 429: 'Too Many Requests',
6507
+ 431: 'Request Header Fields Too Large',
6508
+ 451: 'Unavailable For Legal Reasons',
6509
+ 500: 'Internal Server Error',
6510
+ 501: 'Not Implemented',
6511
+ 502: 'Bad Gateway',
6512
+ 503: 'Service Unavailable',
6513
+ 504: 'Gateway Timeout',
6514
+ 505: 'HTTP Version Not Supported',
6515
+ 506: 'Variant Also Negotiates',
6516
+ 507: 'Insufficient Storage',
6517
+ 508: 'Loop Detected',
6518
+ 510: 'Not Extended',
6519
+ 511: 'Network Authentication Required'
6520
+ };
6521
+ const threeDigitStatusCodeRegex = /^\d{3}$/;
6522
+ const parseStatusCode = value => {
6523
+ if (typeof value === 'number' && Number.isInteger(value)) {
6524
+ return value;
6525
+ }
6526
+ if (typeof value !== 'string') {
6527
+ return undefined;
6528
+ }
6529
+ const trimmedValue = value.trim();
6530
+ if (!threeDigitStatusCodeRegex.test(trimmedValue)) {
6531
+ return undefined;
6532
+ }
6533
+ return Number(trimmedValue);
6534
+ };
6535
+ const formatHttpStatusCode = value => {
6536
+ const numericStatusCode = parseStatusCode(value);
6537
+ if (numericStatusCode === undefined) {
6538
+ return String(value);
6539
+ }
6540
+ const label = httpStatusLabels[numericStatusCode];
6541
+ if (!label) {
6542
+ return String(numericStatusCode);
6543
+ }
6544
+ return `${numericStatusCode} ${label}`;
6545
+ };
6546
+
6547
+ const isHeadersRecord = value => {
6548
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
6549
+ };
6550
+
6551
+ const getStatusCodeValue = selectedEvent => {
6552
+ if (!selectedEvent) {
6553
+ return undefined;
6554
+ }
6555
+ const endValue = isHeadersRecord(selectedEvent.endValue) ? selectedEvent.endValue : undefined;
6556
+ if (endValue?.statusCode !== undefined) {
6557
+ return endValue.statusCode;
6558
+ }
6559
+ if (selectedEvent.statusCode !== undefined) {
6560
+ return selectedEvent.statusCode;
6561
+ }
6562
+ if (selectedEvent.type === 'ai-request' || selectedEvent.type === 'ai-response') {
6563
+ return getStatusText(selectedEvent);
6564
+ }
6565
+ return undefined;
6566
+ };
6567
+
6568
+ const isNonEmptyString = value => {
6569
+ return typeof value === 'string' && value.length > 0;
6570
+ };
6571
+
6572
+ const getGeneralEntries = selectedEvent => {
6573
+ if (!selectedEvent) {
6574
+ return [];
6575
+ }
6576
+ const entries = [];
6577
+ if (isNonEmptyString(selectedEvent.url)) {
6578
+ entries.push([requestUrl(), selectedEvent.url]);
6579
+ }
6580
+ if (isNonEmptyString(selectedEvent.method)) {
6581
+ entries.push([requestMethod(), selectedEvent.method]);
6582
+ }
6583
+ const statusCode$1 = getStatusCodeValue(selectedEvent);
6584
+ if (statusCode$1 !== undefined && statusCode$1 !== '') {
6585
+ entries.push([statusCode(), formatHttpStatusCode(statusCode$1)]);
6586
+ }
6587
+ return entries;
6588
+ };
6589
+
6590
+ const getHeaders = value => {
6591
+ if (!isHeadersRecord(value)) {
6592
+ return [];
5559
6593
  }
5560
- return nextSiblingIndex;
6594
+ return Object.entries(value);
5561
6595
  };
5562
6596
 
5563
- const getDirectChildCount$1 = nodes => {
5564
- let count = 0;
5565
- let index = 0;
5566
- while (index < nodes.length) {
5567
- count++;
5568
- index = getNextSiblingIndex$2(nodes, index);
6597
+ const stringifyHeaderValue = value => {
6598
+ try {
6599
+ return JSON.stringify(value, (_key, nestedValue) => {
6600
+ if (typeof nestedValue === 'bigint') {
6601
+ return nestedValue.toString();
6602
+ }
6603
+ return nestedValue;
6604
+ });
6605
+ } catch {
6606
+ return '[unserializable]';
5569
6607
  }
5570
- return count;
5571
6608
  };
5572
6609
 
5573
- const getPanelId = detailTab => {
5574
- return `ChatDebugViewDetailsPanel-${detailTab}`;
6610
+ const getHeaderValueText = value => {
6611
+ if (typeof value === 'string') {
6612
+ return value;
6613
+ }
6614
+ if (value === undefined) {
6615
+ return '';
6616
+ }
6617
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
6618
+ return String(value);
6619
+ }
6620
+ if (value === null) {
6621
+ return 'null';
6622
+ }
6623
+ if (typeof value === 'symbol') {
6624
+ return value.description ? `Symbol(${value.description})` : 'Symbol()';
6625
+ }
6626
+ if (typeof value === 'function') {
6627
+ return '[function]';
6628
+ }
6629
+ return stringifyHeaderValue(value);
5575
6630
  };
5576
6631
 
5577
- const getDetailContentDom = (selectedDetailTab, safeSelectedDetailTab, contentNodes) => {
6632
+ const getHeaderRowNodes = (headerName, headerValue, index) => {
5578
6633
  return [{
5579
- 'aria-label': selectedDetailTab.label,
5580
- childCount: getDirectChildCount$1(contentNodes),
5581
- className: ChatDebugViewDetailsBottom,
5582
- id: getPanelId(safeSelectedDetailTab),
5583
- onContextMenu: HandleDetailsContextMenu,
5584
- role: 'tabpanel',
6634
+ childCount: 2,
6635
+ className: mergeClassNames(ChatDebugViewHeadersRow, index % 2 === 0 ? ChatDebugViewHeadersRowOdd : ChatDebugViewHeadersRowEven),
6636
+ type: Li
6637
+ }, {
6638
+ childCount: 1,
6639
+ className: mergeClassNames(ChatDebugViewHeadersCell, ChatDebugViewHeadersCellName),
5585
6640
  type: Div
5586
- }, ...contentNodes];
6641
+ }, text(headerName), {
6642
+ childCount: 1,
6643
+ className: mergeClassNames(ChatDebugViewHeadersCell, ChatDebugViewHeadersCellValue),
6644
+ type: Div
6645
+ }, text(getHeaderValueText(headerValue))];
5587
6646
  };
5588
6647
 
5589
- const detailsCloseButtonDom = [{
5590
- 'aria-label': closeDetails(),
5591
- childCount: 1,
5592
- className: ChatDebugViewDetailsClose,
5593
- name: CloseDetails,
5594
- onChange: HandleCloseDetails,
5595
- onClick: HandleCloseDetails,
5596
- type: Button$1,
5597
- value: 'close'
5598
- }, {
5599
- childCount: 0,
5600
- className: 'MaskIcon MaskIconClose',
5601
- type: Div
5602
- }];
5603
- const getDetailsCloseButtonDom = () => {
5604
- return detailsCloseButtonDom;
6648
+ const getHeadersTableNodes = headers => {
6649
+ const headerRows = [];
6650
+ for (const [index, [headerName, headerValue]] of headers.entries()) {
6651
+ headerRows.push(...getHeaderRowNodes(headerName, headerValue, index));
6652
+ }
6653
+ return [{
6654
+ childCount: headers.length,
6655
+ className: ChatDebugViewHeadersTable,
6656
+ type: Ul
6657
+ }, ...headerRows];
5605
6658
  };
5606
6659
 
5607
- const getNormalizedDetailTabs = (selectedEvent, detailTabs) => {
5608
- if (selectedEvent === null) {
5609
- return detailTabs;
6660
+ const getHeaderSectionNodes = (section, label, headers, collapsedHeaderSections, infoMessage = '') => {
6661
+ const isCollapsed = collapsedHeaderSections.includes(section);
6662
+ const hasInfoMessage = !isCollapsed && infoMessage !== '';
6663
+ const childCount = isCollapsed ? 1 : 2 + Number(hasInfoMessage);
6664
+ return [{
6665
+ childCount,
6666
+ className: ChatDebugViewHeadersSection,
6667
+ type: Div
6668
+ }, {
6669
+ ariaExpanded: !isCollapsed,
6670
+ childCount: 1,
6671
+ className: ChatDebugViewHeadersSectionHeading,
6672
+ name: ToggleHeadersSection,
6673
+ onChange: HandleFilterInput,
6674
+ onClick: HandleFilterInput,
6675
+ type: Button$1,
6676
+ value: section
6677
+ }, text(label), ...(isCollapsed ? [] : getHeadersTableNodes(headers)), ...(hasInfoMessage ? [{
6678
+ childCount: 1,
6679
+ className: ChatDebugViewHeadersSectionInfo,
6680
+ type: Div
6681
+ }, text(infoMessage)] : [])];
6682
+ };
6683
+
6684
+ const getHeadersContentNodes = (responseEventNodes, selectedEvent, collapsedHeaderSections = []) => {
6685
+ const generalEntries = getGeneralEntries(selectedEvent);
6686
+ const requestHeaders$1 = getHeaders(selectedEvent?.headers);
6687
+ const responseHeaders$1 = getHeaders(isHeadersRecord(selectedEvent?.endValue) ? selectedEvent.endValue.headers : undefined);
6688
+ if (generalEntries.length === 0 && requestHeaders$1.length === 0 && responseHeaders$1.length === 0) {
6689
+ return responseEventNodes;
5610
6690
  }
5611
- return createDetailTabs(getSelectedDetailTab(detailTabs), selectedEvent);
6691
+ const nodes = [];
6692
+ if (generalEntries.length > 0) {
6693
+ nodes.push(...getHeaderSectionNodes(General, general(), generalEntries, collapsedHeaderSections));
6694
+ }
6695
+ if (responseHeaders$1.length > 0) {
6696
+ nodes.push(...getHeaderSectionNodes(ResponseHeaders, responseHeaders(), responseHeaders$1, collapsedHeaderSections, responseHeadersInfo()));
6697
+ }
6698
+ if (requestHeaders$1.length > 0) {
6699
+ nodes.push(...getHeaderSectionNodes(RequestHeaders, requestHeaders(), requestHeaders$1, collapsedHeaderSections));
6700
+ }
6701
+ return nodes;
5612
6702
  };
5613
6703
 
5614
6704
  const getEditorRowDom = line => {
@@ -6489,12 +7579,21 @@ const getTextNode = (value, showLineNumbers = true, cursor = null, tokenSegments
6489
7579
  return getEditorDom(lineData, showLineNumbers, cursor, showLineNumbers ? HandlePreviewTextPointerDown : undefined);
6490
7580
  };
6491
7581
 
7582
+ const getTextEvent = (previewEvent, selectedEvent, previewTextCursor, virtualization) => {
7583
+ const isInvalidImageMessage = previewEvent === ImageCouldNotBeLoaded;
7584
+ const isChatMessageUpdatedPreview = !!selectedEvent && isChatMessageUpdatedEvent(selectedEvent);
7585
+ const showLineNumbers = !isInvalidImageMessage && !isChatMessageUpdatedPreview;
7586
+ return getTextNode(previewEvent, showLineNumbers, showLineNumbers ? previewTextCursor ?? null : null, undefined, virtualization);
7587
+ };
7588
+ const isOpenAiRequestPreviewEvent = previewEvent => {
7589
+ return isRecord(previewEvent) && previewEvent.type === 'ai-request' && isRecord(previewEvent.endValue) && isRecord(previewEvent.endValue.value) && typeof previewEvent.endValue.value.output_text === 'string';
7590
+ };
6492
7591
  const getPreviewEventNodes = (previewEvent, selectedEvent, previewTextCursor, virtualization) => {
7592
+ if (isOpenAiRequestPreviewEvent(previewEvent)) {
7593
+ return getTextEvent(previewEvent.endValue.value.output_text);
7594
+ }
6493
7595
  if (typeof previewEvent === 'string') {
6494
- const isInvalidImageMessage = previewEvent === ImageCouldNotBeLoaded;
6495
- const isChatMessageUpdatedPreview = !!selectedEvent && isChatMessageUpdatedEvent(selectedEvent);
6496
- const showLineNumbers = !isInvalidImageMessage && !isChatMessageUpdatedPreview;
6497
- return getTextNode(previewEvent, showLineNumbers, showLineNumbers ? previewTextCursor ?? null : null, undefined, virtualization);
7596
+ return getTextEvent(previewEvent, selectedEvent, previewTextCursor, virtualization);
6498
7597
  }
6499
7598
  if (isWriteFilePreview(previewEvent)) {
6500
7599
  const language = getLanguageFromFileExtension(previewEvent.uri);
@@ -6570,13 +7669,6 @@ const getStartText = event => {
6570
7669
  return getTimestampText(event.started ?? event.startTime ?? event.startTimestamp ?? event.timestamp);
6571
7670
  };
6572
7671
 
6573
- const getTimingPreviewSegments = event => {
6574
- return [{
6575
- endPercent: 100,
6576
- label: getDurationText(event),
6577
- startPercent: 0
6578
- }];
6579
- };
6580
7672
  const getTimingPreviewSegmentNodes = segments => {
6581
7673
  return [{
6582
7674
  childCount: segments.length,
@@ -6592,6 +7684,15 @@ const getTimingPreviewSegmentNodes = segments => {
6592
7684
  }, text(segment.label)];
6593
7685
  })];
6594
7686
  };
7687
+
7688
+ const getTimingPreviewSegments = event => {
7689
+ return [{
7690
+ endPercent: 100,
7691
+ label: getDurationText(event),
7692
+ startPercent: 0
7693
+ }];
7694
+ };
7695
+
6595
7696
  const getTimingPreviewDom = event => {
6596
7697
  const segments = getTimingPreviewSegments(event);
6597
7698
  return [{
@@ -6653,72 +7754,92 @@ const getTimingContentNodes = (responseEventNodes, selectedEvent) => {
6653
7754
  return getTimingDetailsDom(selectedEvent);
6654
7755
  };
6655
7756
 
6656
- const getSelectedContentNodes = (safeSelectedDetailTab, previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualization) => {
6657
- if (safeSelectedDetailTab === Timing) {
7757
+ const getRowViewModels = event => {
7758
+ const usageDetails = getTokenUsageDetails(event);
7759
+ if (!usageDetails) {
7760
+ return [];
7761
+ }
7762
+ return [{
7763
+ key: inputTokens(),
7764
+ value: usageDetails.inputTokens
7765
+ }, {
7766
+ key: outputTokens(),
7767
+ value: usageDetails.outputTokens
7768
+ }, {
7769
+ key: cachedTokens(),
7770
+ value: usageDetails.cachedTokens
7771
+ }].filter(row => row.value !== undefined);
7772
+ };
7773
+ const getTokenUsageDetailsDom = event => {
7774
+ const rowViewModels = getRowViewModels(event);
7775
+ if (rowViewModels.length === 0) {
7776
+ return [];
7777
+ }
7778
+ const rows = rowViewModels.flatMap(row => getTimingRowDom(row.key, String(row.value)));
7779
+ return [{
7780
+ childCount: rowViewModels.length,
7781
+ className: ChatDebugViewTiming,
7782
+ type: Div
7783
+ }, ...rows];
7784
+ };
7785
+
7786
+ const getTokenUsageContentNodes = (responseEventNodes, selectedEvent) => {
7787
+ if (selectedEvent === null) {
7788
+ return responseEventNodes;
7789
+ }
7790
+ return getTokenUsageDetailsDom(selectedEvent);
7791
+ };
7792
+
7793
+ const getSelectedContentNodes = (safeSelectedDetailTab, previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualization, collapsedHeaderSections = []) => {
7794
+ if (safeSelectedDetailTab === Tokens$1) {
7795
+ return getTokenUsageContentNodes(responseEventNodes, selectedEvent);
7796
+ }
7797
+ if (safeSelectedDetailTab === Timing$1) {
6658
7798
  return getTimingContentNodes(responseEventNodes, selectedEvent);
6659
7799
  }
6660
- if (safeSelectedDetailTab === Preview) {
7800
+ if (safeSelectedDetailTab === Preview$1) {
6661
7801
  return getPreviewContentNodes(previewEventNodes, selectedEvent, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualization);
6662
7802
  }
6663
- if (safeSelectedDetailTab === Payload) {
7803
+ if (safeSelectedDetailTab === Payload$1) {
6664
7804
  return getPayloadContentNodes(payloadEventNodes, selectedEvent);
6665
7805
  }
7806
+ if (safeSelectedDetailTab === Headers$1) {
7807
+ return getHeadersContentNodes(responseEventNodes, selectedEvent, collapsedHeaderSections);
7808
+ }
6666
7809
  return getResponseContentNodes(responseEventNodes, selectedEvent);
6667
7810
  };
6668
7811
 
6669
- const getDetailTabDom = detailTab => {
6670
- const {
6671
- isSelected
6672
- } = detailTab;
6673
- return [{
6674
- 'aria-controls': getPanelId(detailTab.name),
6675
- ariaSelected: isSelected,
6676
- childCount: 1,
6677
- className: mergeClassNames(PanelTab, isSelected ? PanelTabSelected : ''),
6678
- name: detailTab.name,
6679
- onChange: SelectDetailTab,
6680
- onClick: SelectDetailTab,
6681
- onFocus: HandleDetailTabsFocus,
6682
- role: Tab,
6683
- tabIndex: isSelected ? 0 : -1,
6684
- type: Button$1
6685
- }, text(detailTab.label)];
6686
- };
6687
-
6688
- const getTabNodes = detailTabs => {
6689
- return [{
6690
- 'aria-label': detailSections(),
6691
- childCount: detailTabs.length,
6692
- className: ChatDebugViewDetailsTabs,
6693
- role: 'tablist',
6694
- type: Div
6695
- }, ...detailTabs.flatMap(getDetailTabDom)];
6696
- };
6697
-
6698
- const getDetailsDom = (previewEventNodes, payloadEventNodes = previewEventNodes, responseEventNodes = payloadEventNodes, selectedEvent = null, detailTabs = createDetailTabs(), previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, previewVirtualization) => {
7812
+ const getDetailsDom = (previewEventNodes, payloadEventNodes = previewEventNodes, responseEventNodes = payloadEventNodes, selectedEvent = null, detailTabs = createDetailTabs(), previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, previewVirtualization, collapsedHeaderSections = []) => {
6699
7813
  if (previewEventNodes.length === 0 && payloadEventNodes.length === 0 && responseEventNodes.length === 0) {
6700
7814
  return [];
6701
7815
  }
6702
7816
  const normalizedDetailTabs = getNormalizedDetailTabs(selectedEvent, detailTabs);
6703
7817
  const safeSelectedDetailTab = getSelectedDetailTab(normalizedDetailTabs);
6704
7818
  const selectedDetailTab = normalizedDetailTabs.find(detailTab => detailTab.name === safeSelectedDetailTab) ?? normalizedDetailTabs[0];
6705
- const contentNodes = getSelectedContentNodes(safeSelectedDetailTab, previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualization);
7819
+ const contentNodes = getSelectedContentNodes(safeSelectedDetailTab, previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualization, collapsedHeaderSections);
6706
7820
  return [{
6707
7821
  childCount: 2,
6708
7822
  className: ChatDebugViewDetails,
6709
7823
  type: Section
6710
- }, {
6711
- childCount: 2,
6712
- className: ChatDebugViewDetailsTop,
6713
- onContextMenu: HandleDetailsTopContextMenu,
6714
- type: Div
6715
- }, ...getDetailsCloseButtonDom(), ...getTabNodes(normalizedDetailTabs), ...getDetailContentDom(selectedDetailTab, safeSelectedDetailTab, contentNodes)];
7824
+ }, ...getDetailsTopVirtualDom(normalizedDetailTabs), ...getDetailContentDom(selectedDetailTab, safeSelectedDetailTab, contentNodes)];
7825
+ };
7826
+
7827
+ const td$2 = {
7828
+ childCount: 1,
7829
+ className: mergeClassNames(TableCell, ChatDebugViewCellDuration),
7830
+ type: Td
7831
+ };
7832
+ const getCellDurationDom = event => {
7833
+ return [td$2, text(getEventTableDurationText(event))];
6716
7834
  };
6717
7835
 
6718
7836
  const getMethods = new Set(['list_dir', 'list_files', 'read_file']);
6719
7837
  const postMethods = new Set(['create_directory', 'create_file', 'mkdir', 'write_file']);
6720
7838
  const deleteMethods = new Set(['delete_directory', 'delete_file', 'delete_folder', 'remove_directory', 'remove_file', 'remove_folder']);
6721
7839
  const getEventTableMethodLabel = event => {
7840
+ if (event.method) {
7841
+ return event.method;
7842
+ }
6722
7843
  const toolName = getToolName(event);
6723
7844
  if (!toolName) {
6724
7845
  return '';
@@ -6735,52 +7856,72 @@ const getEventTableMethodLabel = event => {
6735
7856
  return '';
6736
7857
  };
6737
7858
 
7859
+ const td$1 = {
7860
+ childCount: 1,
7861
+ className: TableCell,
7862
+ type: Td
7863
+ };
7864
+ const getCellMethodDom = event => {
7865
+ return [td$1, text(getEventTableMethodLabel(event))];
7866
+ };
7867
+
7868
+ const td = {
7869
+ childCount: 1,
7870
+ className: mergeClassNames(TableCell, ChatDebugViewCellSize),
7871
+ type: Td
7872
+ };
7873
+ const getCellSizeDom = event => {
7874
+ return [td, text(formatBytes(event.size ?? 0))];
7875
+ };
7876
+
7877
+ const getCellStatusDom = (event, isErrorStatus) => {
7878
+ return [{
7879
+ childCount: 1,
7880
+ className: mergeClassNames(TableCell, isErrorStatus ? ChatDebugViewCellStatusError : ''),
7881
+ type: Td
7882
+ }, text(getStatusText(event))];
7883
+ };
7884
+
7885
+ const getCellTypeDom = event => {
7886
+ return [{
7887
+ childCount: 1,
7888
+ className: TableCell,
7889
+ type: Td
7890
+ }, text(getEventTableTypeLabel(event))];
7891
+ };
7892
+
7893
+ const getTableCellDom = (column, event, isErrorStatus) => {
7894
+ switch (column) {
7895
+ case Duration:
7896
+ return getCellDurationDom(event);
7897
+ case Method:
7898
+ return getCellMethodDom(event);
7899
+ case Size:
7900
+ return getCellSizeDom(event);
7901
+ case Status$1:
7902
+ return getCellStatusDom(event, isErrorStatus);
7903
+ case Type:
7904
+ return getCellTypeDom(event);
7905
+ default:
7906
+ return [];
7907
+ }
7908
+ };
7909
+
6738
7910
  const getRowCellNodes = (event, isErrorStatus, visibleTableColumns) => {
6739
7911
  const orderedVisibleTableColumns = getOrderedVisibleTableColumns(visibleTableColumns);
6740
- return orderedVisibleTableColumns.flatMap((column, index) => {
6741
- switch (column) {
6742
- case Duration:
6743
- return [{
6744
- childCount: 1,
6745
- className: mergeClassNames(TableCell, ChatDebugViewCellDuration),
6746
- type: Td
6747
- }, text(getEventTableDurationText(event))];
6748
- case Method:
6749
- return [{
6750
- childCount: 1,
6751
- className: TableCell,
6752
- type: Td
6753
- }, text(getEventTableMethodLabel(event))];
6754
- case Status$1:
6755
- return [{
6756
- childCount: 1,
6757
- className: mergeClassNames(TableCell, isErrorStatus ? ChatDebugViewCellStatusError : ''),
6758
- type: Td
6759
- }, text(getStatusText(event))];
6760
- case Type:
6761
- return [{
6762
- childCount: 1,
6763
- className: TableCell,
6764
- type: Td
6765
- }, text(getEventTableTypeLabel(event))];
6766
- default:
6767
- return [];
6768
- }
7912
+ return orderedVisibleTableColumns.flatMap(column => {
7913
+ return getTableCellDom(column, event, isErrorStatus);
6769
7914
  });
6770
7915
  };
6771
7916
 
6772
- const getDevtoolsRows = (events, selectedEventIndex, visibleTableColumns = defaultVisibleTableColumns, startIndex = 0) => {
6773
- return events.flatMap((event, i) => {
6774
- const actualIndex = startIndex + i;
6775
- const isEvenRow = actualIndex % 2 === 1;
6776
- const rowClassName = isEvenRow ? TableRowEven : TableRowOdd;
6777
- const isSelected = selectedEventIndex === actualIndex;
6778
- const isErrorStatus = hasErrorStatus(event);
6779
- const rowCellNodes = getRowCellNodes(event, isErrorStatus, visibleTableColumns);
7917
+ const getDevtoolsRows = (rows, visibleTableColumns = defaultVisibleTableColumns) => {
7918
+ return rows.flatMap(row => {
7919
+ const rowClassName = row.isEven ? TableRowEven : TableRowOdd;
7920
+ const rowCellNodes = getRowCellNodes(row.event, row.isErrorStatus, visibleTableColumns);
6780
7921
  return [{
6781
7922
  childCount: visibleTableColumns.length,
6782
- className: mergeClassNames(TableRow, rowClassName, isSelected ? TableRowSelected : ''),
6783
- 'data-index': `${actualIndex}`,
7923
+ className: mergeClassNames(TableRow, rowClassName, row.isSelected ? TableRowSelected : ''),
7924
+ 'data-index': `${row.index}`,
6784
7925
  type: Tr
6785
7926
  }, ...rowCellNodes];
6786
7927
  });
@@ -6856,59 +7997,42 @@ const getSplitViewDom = (splitChildCount, eventsClassName, tableNodes, sashNodes
6856
7997
  }, ...tableNodes, ...sashNodes, ...detailsNodes];
6857
7998
  };
6858
7999
 
6859
- const formatTimelineMilliseconds = value => {
6860
- return `${Math.round(value * 1000)}ms`;
6861
- };
6862
-
6863
- const formatTimelineSeconds = value => {
6864
- if (Number.isInteger(value)) {
6865
- return `${value}s`;
6866
- }
6867
- return `${Number(value.toFixed(1))}s`;
6868
- };
6869
-
6870
- const getEndTime = event => {
6871
- return event.ended ?? event.endTime ?? event.timestamp;
6872
- };
6873
-
6874
- const getStartTime = event => {
6875
- return event.started ?? event.startTime ?? event.timestamp;
6876
- };
6877
-
6878
- const formatTableSummaryDuration = durationMs => {
6879
- if (durationMs < 1000) {
6880
- return formatTimelineMilliseconds(durationMs / 1000);
6881
- }
6882
- return formatTimelineSeconds(durationMs / 1000);
6883
- };
6884
- const getTableSummary = events => {
6885
- let minStart = Number.POSITIVE_INFINITY;
6886
- let maxEnd = Number.NEGATIVE_INFINITY;
6887
- for (const event of events) {
6888
- const startTime = toTimeNumber(getStartTime(event));
6889
- const endTime = toTimeNumber(getEndTime(event));
6890
- if (typeof startTime === 'number' && Number.isFinite(startTime)) {
6891
- minStart = Math.min(minStart, startTime);
6892
- }
6893
- if (typeof endTime === 'number' && Number.isFinite(endTime)) {
6894
- maxEnd = Math.max(maxEnd, endTime);
6895
- }
6896
- }
6897
- const durationMs = Number.isFinite(minStart) && Number.isFinite(maxEnd) ? Math.max(0, maxEnd - minStart) : 0;
6898
- return tableSummary(events.length, formatTableSummaryDuration(durationMs));
6899
- };
6900
-
6901
8000
  const tableSummaryNode = {
6902
- childCount: 1,
8001
+ childCount: 0,
6903
8002
  className: TableSummary,
6904
8003
  role: Status,
6905
8004
  type: Div
6906
8005
  };
6907
- const getTableSummaryDom = summary => {
6908
- if (!summary) {
8006
+ const tableSummaryItemNode = {
8007
+ childCount: 1,
8008
+ type: Span
8009
+ };
8010
+ const tableSummaryNodes = new Map();
8011
+ const getTableSummaryNode = childCount => {
8012
+ const existing = tableSummaryNodes.get(childCount);
8013
+ if (existing) {
8014
+ return existing;
8015
+ }
8016
+ const node = {
8017
+ ...tableSummaryNode,
8018
+ childCount
8019
+ };
8020
+ tableSummaryNodes.set(childCount, node);
8021
+ return node;
8022
+ };
8023
+ const getTableSummaryDom = summaries => {
8024
+ const nonEmptySummaries = summaries.filter(Boolean);
8025
+ if (nonEmptySummaries.length === 0) {
6909
8026
  return [];
6910
8027
  }
6911
- return [tableSummaryNode, text(summary)];
8028
+ const nodes = [getTableSummaryNode(nonEmptySummaries.length * 2 - 1)];
8029
+ for (let i = 0; i < nonEmptySummaries.length; i++) {
8030
+ nodes.push(tableSummaryItemNode, text(nonEmptySummaries[i]));
8031
+ if (i < nonEmptySummaries.length - 1) {
8032
+ nodes.push(text(' | '));
8033
+ }
8034
+ }
8035
+ return nodes;
6912
8036
  };
6913
8037
 
6914
8038
  const getTableBodyDom = (rowNodes, eventCount) => {
@@ -6916,23 +8040,27 @@ const getTableBodyDom = (rowNodes, eventCount) => {
6916
8040
  childCount: eventCount === 0 ? 1 : eventCount,
6917
8041
  className: TableBody,
6918
8042
  onContextMenu: HandleTableBodyContextMenu,
8043
+ onDblClick: HandleTableRowDoubleClick,
6919
8044
  onPointerDown: HandleEventRowClickAt,
6920
8045
  type: TBody
6921
8046
  }, ...rowNodes];
6922
8047
  };
6923
8048
 
6924
- const tableColClassNames = ['TableColZero', 'TableColOne', 'TableColTwo', 'TableColThree'];
8049
+ const tableColClassNames = ['TableColZero', 'TableColOne', 'TableColTwo', 'TableColThree', 'TableColFour'];
6925
8050
  const getTableColumnGroupDom = visibleTableColumns => {
6926
8051
  const orderedVisibleTableColumns = getOrderedVisibleTableColumns(visibleTableColumns);
6927
8052
  return [{
6928
8053
  childCount: orderedVisibleTableColumns.length,
6929
8054
  className: 'ColGroup',
6930
8055
  type: ColGroup
6931
- }, ...orderedVisibleTableColumns.map((_, index) => ({
6932
- childCount: 0,
6933
- className: `${TableCol} ${tableColClassNames[index]}`,
6934
- type: Col
6935
- }))];
8056
+ }, ...orderedVisibleTableColumns.map((_, index) => {
8057
+ const columnClassName = tableColClassNames[index] ?? `TableCol${index}`;
8058
+ return {
8059
+ childCount: 0,
8060
+ className: `${TableCol} ${columnClassName}`,
8061
+ type: Col
8062
+ };
8063
+ })];
6936
8064
  };
6937
8065
 
6938
8066
  const getHeaderCellNode = (column, tableColumns) => {
@@ -6963,7 +8091,7 @@ const getTableHeaderDom = (visibleTableColumns = defaultVisibleTableColumns, tab
6963
8091
  }, ...getHeaderCellNodes(visibleTableColumns, tableColumns)];
6964
8092
  };
6965
8093
 
6966
- const getTableDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summary = '', focus = 0) => {
8094
+ const getTableDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summaries = [], focus = 0) => {
6967
8095
  return [{
6968
8096
  childCount: 3,
6969
8097
  className: Table,
@@ -6973,8 +8101,8 @@ const getTableDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleT
6973
8101
  }, ...getTableColumnGroupDom(visibleTableColumns), ...getTableHeaderDom(visibleTableColumns, tableColumns), ...getTableBodyDom(rowNodes, eventCount)];
6974
8102
  };
6975
8103
 
6976
- const resizerNames = ['ResizerOne', 'ResizerTwo', 'ResizerThree'];
6977
- const resizerClassNames = [ResizerOne, ResizerTwo, ResizerThree];
8104
+ const resizerNames = ['ResizerOne', 'ResizerTwo', 'ResizerThree', 'ResizerFour'];
8105
+ const resizerClassNames = [ResizerOne, ResizerTwo, ResizerThree, ResizerFour];
6978
8106
  const getTableResizersDom = visibleTableColumns => {
6979
8107
  const visibleColumnCount = getOrderedVisibleTableColumns(visibleTableColumns).length;
6980
8108
  const resizerCount = Math.max(0, visibleColumnCount - 1);
@@ -7020,7 +8148,7 @@ const getTableScrollBarDom = visible => {
7020
8148
  }];
7021
8149
  };
7022
8150
 
7023
- const getTableWrapperDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summary = '', focus = 0, className = '', role = 'none', showScrollBar = false) => {
8151
+ const getTableWrapperDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summaries = [], focus = 0, className = '', role = 'none', showScrollBar = false) => {
7024
8152
  const tableWrapperClassName = mergeClassNames(TableWrapper, focus === FocusChatDebugTable ? FocusOutline : '', className);
7025
8153
  const tableWrapperNode = {
7026
8154
  childCount: showScrollBar ? 3 : 2,
@@ -7031,16 +8159,16 @@ const getTableWrapperDom = (rowNodes, eventCount, visibleTableColumns = defaultV
7031
8159
  role
7032
8160
  } : {})
7033
8161
  };
7034
- return [tableWrapperNode, ...getTableDom(rowNodes, eventCount, visibleTableColumns, tableColumns, summary, focus), ...getTableResizersDom(visibleTableColumns), ...getTableScrollBarDom(showScrollBar)];
8162
+ return [tableWrapperNode, ...getTableDom(rowNodes, eventCount, visibleTableColumns, tableColumns, summaries, focus), ...getTableResizersDom(visibleTableColumns), ...getTableScrollBarDom(showScrollBar)];
7035
8163
  };
7036
8164
 
7037
- const getTableWrapperWrapperDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summary = '', focus = 0, className = '', role = 'none', showScrollBar = false) => {
7038
- const tableSummaryNodes = getTableSummaryDom(summary);
8165
+ const getTableWrapperWrapperDom = (rowNodes, eventCount, visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), summaries = [], focus = 0, className = '', role = 'none', showScrollBar = false) => {
8166
+ const tableSummaryNodes = getTableSummaryDom(summaries);
7039
8167
  return [{
7040
8168
  childCount: tableSummaryNodes.length === 0 ? 1 : 2,
7041
8169
  className: TableWrapperWrapper,
7042
8170
  type: Div
7043
- }, ...getTableWrapperDom(rowNodes, eventCount, visibleTableColumns, tableColumns, summary, focus, className, role, showScrollBar), ...tableSummaryNodes];
8171
+ }, ...getTableWrapperDom(rowNodes, eventCount, visibleTableColumns, tableColumns, summaries, focus, className, role, showScrollBar), ...tableSummaryNodes];
7044
8172
  };
7045
8173
 
7046
8174
  const getBucketUnitDom = (unitCount, presetValue) => {
@@ -7103,6 +8231,20 @@ const formatPercent = value => {
7103
8231
  return `${Number(value.toFixed(3))}%`;
7104
8232
  };
7105
8233
 
8234
+ const startHandle = {
8235
+ childCount: 0,
8236
+ className: mergeClassNames(ChatDebugViewTimelineSelectionHandle, ChatDebugViewTimelineSelectionHandleStart, ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerStart),
8237
+ name: Start,
8238
+ role: None,
8239
+ type: Button$1
8240
+ };
8241
+ const endHandle = {
8242
+ childCount: 0,
8243
+ className: mergeClassNames(ChatDebugViewTimelineSelectionHandle, ChatDebugViewTimelineSelectionHandleEnd, ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerEnd),
8244
+ name: End,
8245
+ role: None,
8246
+ type: Button$1
8247
+ };
7106
8248
  const getSelectionNodesDom = (hasSelection, selectionStartPercent, selectionEndPercent) => {
7107
8249
  if (!hasSelection || selectionStartPercent === null || selectionEndPercent === null) {
7108
8250
  return [];
@@ -7112,19 +8254,7 @@ const getSelectionNodesDom = (hasSelection, selectionStartPercent, selectionEndP
7112
8254
  className: ChatDebugViewTimelineSelectionRange,
7113
8255
  style: `left:${formatPercent(selectionStartPercent)};width:${formatPercent(selectionEndPercent - selectionStartPercent)};`,
7114
8256
  type: Div
7115
- }, {
7116
- childCount: 0,
7117
- className: mergeClassNames(ChatDebugViewTimelineSelectionHandle, ChatDebugViewTimelineSelectionHandleStart, ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerStart),
7118
- name: Start,
7119
- role: None,
7120
- type: Button$1
7121
- }, {
7122
- childCount: 0,
7123
- className: mergeClassNames(ChatDebugViewTimelineSelectionHandle, ChatDebugViewTimelineSelectionHandleEnd, ChatDebugViewTimelineSelectionMarker, ChatDebugViewTimelineSelectionMarkerEnd),
7124
- name: End,
7125
- role: None,
7126
- type: Button$1
7127
- }];
8257
+ }, startHandle, endHandle];
7128
8258
  };
7129
8259
 
7130
8260
  const getTimelineBadgeValues = durationSeconds => {
@@ -7211,9 +8341,10 @@ const getTimelineDom = (timelineInfo, hoverPercent = null) => {
7211
8341
  }, ...selectionNodes];
7212
8342
  };
7213
8343
 
7214
- const getDevtoolsDom = (events, selectedEvent, selectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage = noEventsFound(), timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', detailTabs = createDetailTabs(), visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), timelineInfo, timelineHoverPercent = null, focus = 0, previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, previewTextDeltaY = 0, previewTextViewportHeight = 0, minLineY = 0, maxLineY = events.length) => {
8344
+ const getDevtoolsDom = (events, selectedEvent, selectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage = noEventsFound(), timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', detailTabs = createDetailTabs(), visibleTableColumns = defaultVisibleTableColumns, tableColumns = createTableColumns(), timelineInfo, timelineHoverPercent = null, focus = 0, previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, previewTextDeltaY = 0, previewTextViewportHeight = 0, minLineY = 0, maxLineY = events.length, collapsedHeaderSections = [], summaries = getTableSummaries(events)) => {
7215
8345
  const visibleEvents = events.slice(minLineY, maxLineY);
7216
- const rowNodes = getDevtoolsRows(visibleEvents, selectedEventIndex, visibleTableColumns, minLineY);
8346
+ const rows = createDevtoolsRows(visibleEvents, selectedEventIndex, minLineY);
8347
+ const rowNodes = getDevtoolsRows(rows, visibleTableColumns);
7217
8348
  const effectiveRange = getEffectiveTimelineRange(timelineStartSeconds, timelineEndSeconds, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds);
7218
8349
  const resolvedTimelineInfo = timelineInfo || getTimelineInfo(timelineEvents, effectiveRange.startSeconds, effectiveRange.endSeconds);
7219
8350
  const timelineNodes = getTimelineDom(resolvedTimelineInfo, timelineHoverPercent);
@@ -7232,10 +8363,9 @@ const getDevtoolsDom = (events, selectedEvent, selectedEventIndex, timelineEvent
7232
8363
  const responseEventNodes = selectedEvent ? getEventNode(getResponseEvent(selectedEvent)) : [];
7233
8364
  const hasSelectedEvent = !!selectedEvent;
7234
8365
  const eventsClassName = getEventsClassName(hasSelectedEvent);
7235
- const summary = getTableSummary(events);
7236
8366
  const showScrollBar = visibleEvents.length < events.length;
7237
- const tableNodes = events.length === 0 ? getEmptyStateDom(emptyMessage) : getTableWrapperWrapperDom(rowNodes, visibleEvents.length, visibleTableColumns, tableColumns, summary, focus, '', '', showScrollBar);
7238
- const detailsNodes = getDetailsDom(previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, detailTabs, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualizationOptions);
8367
+ const tableNodes = events.length === 0 ? getEmptyStateDom(emptyMessage) : getTableWrapperWrapperDom(rowNodes, visibleEvents.length, visibleTableColumns, tableColumns, summaries, focus, '', '', showScrollBar);
8368
+ const detailsNodes = getDetailsDom(previewEventNodes, payloadEventNodes, responseEventNodes, selectedEvent, detailTabs, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewVirtualizationOptions, collapsedHeaderSections);
7239
8369
  const sashNodes = getSashNodesDom(hasSelectedEvent);
7240
8370
  const splitChildCount = hasSelectedEvent ? 3 : 1;
7241
8371
  const rootChildCount = 3;
@@ -7284,12 +8414,12 @@ const getTopLevelChildCount = nodes => {
7284
8414
  return count;
7285
8415
  };
7286
8416
  const getEventCategoryFilterDescription = eventCategoryFilters => {
7287
- if (eventCategoryFilters.length === 0 || eventCategoryFilters.includes(All)) {
8417
+ if (eventCategoryFilters.length === 0 || eventCategoryFilters.includes(All$1)) {
7288
8418
  return '';
7289
8419
  }
7290
8420
  return eventCategoryFilters.map(eventCategoryFilter => getEventCategoryFilterLabel(eventCategoryFilter).toLowerCase()).join(', ');
7291
8421
  };
7292
- const getChatDebugViewDom = (errorMessage, filterValue, eventCategoryFilters, categoryFilters, _showEventStreamFinishedEvents, _showInputEvents, _showResponsePartEvents, useDevtoolsLayout, selectedEvent, selectedEventIndex, timelineStartSeconds, timelineEndSeconds, timelineFilterDescription, timelineEvents, events, timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', visibleTableColumns = defaultVisibleTableColumns, detailTabs = createDetailTabs(), tableColumns = createTableColumns(), timelineInfo, timelineHoverPercent = null, focus = 0, previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, minLineY = 0, maxLineY = events.length, previewTextDeltaY = 0, previewTextViewportHeight = 0) => {
8422
+ const getChatDebugViewDom = (errorMessage, filterValue, eventCategoryFilters, categoryFilters, _showEventStreamFinishedEvents, _showInputEvents, _showResponsePartEvents, useDevtoolsLayout, selectedEvent, selectedEventIndex, timelineStartSeconds, timelineEndSeconds, timelineFilterDescription, timelineEvents, events, timelineSelectionActive = false, timelineSelectionAnchorSeconds = '', timelineSelectionFocusSeconds = '', visibleTableColumns = defaultVisibleTableColumns, detailTabs = createDetailTabs(), tableColumns = createTableColumns(), timelineInfo, timelineHoverPercent = null, focus = 0, previewTextCursorRowIndex = null, previewTextCursorColumnIndex = null, minLineY = 0, maxLineY = events.length, previewTextDeltaY = 0, previewTextViewportHeight = 0, collapsedHeaderSections = [], summaries = getTableSummaries(events)) => {
7293
8423
  if (errorMessage) {
7294
8424
  return getDebugErrorDom(errorMessage);
7295
8425
  }
@@ -7309,11 +8439,11 @@ const getChatDebugViewDom = (errorMessage, filterValue, eventCategoryFilters, ca
7309
8439
  const hasFilterValue = filterDescriptionParts.length > 0;
7310
8440
  const filterDescription = filterDescriptionParts.join(' ');
7311
8441
  const noFilteredEventsMessage = noEventsFoundMatching(filterDescription);
7312
- const useNoToolCallEventsMessage = eventCategoryFilters.length === 1 && eventCategoryFilters[0] === Tools && !trimmedFilterValue && !hasTimelineFilter;
8442
+ const useNoToolCallEventsMessage = eventCategoryFilters.length === 1 && eventCategoryFilters[0] === Tools$1 && !trimmedFilterValue && !hasTimelineFilter;
7313
8443
  const emptyMessage = getEmptyMessage(events.length, hasFilterValue, useNoToolCallEventsMessage, noFilteredEventsMessage);
7314
8444
  const safeSelectedEventIndex = selectedEventIndex === null || selectedEventIndex < 0 || selectedEventIndex >= events.length ? null : selectedEventIndex;
7315
8445
  if (useDevtoolsLayout) {
7316
- const devtoolsDom = getDevtoolsDom(events, selectedEvent, safeSelectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds, detailTabs, visibleTableColumns, tableColumns, timelineInfo, timelineHoverPercent, focus, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewTextDeltaY, previewTextViewportHeight, minLineY, maxLineY);
8446
+ const devtoolsDom = getDevtoolsDom(events, selectedEvent, safeSelectedEventIndex, timelineEvents, timelineStartSeconds, timelineEndSeconds, emptyMessage, timelineSelectionActive, timelineSelectionAnchorSeconds, timelineSelectionFocusSeconds, detailTabs, visibleTableColumns, tableColumns, timelineInfo, timelineHoverPercent, focus, previewTextCursorRowIndex, previewTextCursorColumnIndex, previewTextDeltaY, previewTextViewportHeight, minLineY, maxLineY, collapsedHeaderSections, summaries);
7317
8447
  const devtoolsContentNodes = devtoolsDom.slice(1);
7318
8448
  const topLevelNodes = [...getDebugViewTopDom(filterValue, useDevtoolsLayout, categoryFilters), ...devtoolsContentNodes];
7319
8449
  const rootChildCount = getTopLevelChildCount(topLevelNodes);
@@ -7347,9 +8477,9 @@ const renderItems = (oldState, newState) => {
7347
8477
  if (newState.initial) {
7348
8478
  return [SetDom2, newState.uid, []];
7349
8479
  }
7350
- const filteredEvents = getCurrentEvents$2(newState);
8480
+ const filteredEvents = getCurrentEvents$1(newState);
7351
8481
  const previewTextViewportHeight = getPreviewTextViewportHeight(newState);
7352
- const dom = getChatDebugViewDom(newState.errorMessage, newState.filterValue, getSelectedEventCategoryFilters(newState.categoryFilters), newState.categoryFilters, newState.showEventStreamFinishedEvents, newState.showInputEvents, newState.showResponsePartEvents, newState.useDevtoolsLayout, newState.selectedEvent, newState.selectedEventIndex, newState.timelineStartSeconds, newState.timelineEndSeconds, newState.timelineFilterDescription, withSessionEventIds(newState.timelineEvents), withSessionEventIds(filteredEvents), newState.timelineSelectionActive, newState.timelineSelectionAnchorSeconds, newState.timelineSelectionFocusSeconds, getVisibleTableColumns(newState.tableColumns), newState.detailTabs, newState.tableColumns, newState.timelineInfo, newState.timelineHoverPercent, newState.focus, newState.previewTextCursorRowIndex, newState.previewTextCursorColumnIndex, newState.tableMinLineY, newState.tableMaxLineY, newState.previewTextDeltaY, previewTextViewportHeight);
8482
+ const dom = getChatDebugViewDom(newState.errorMessage, newState.filterValue, getSelectedEventCategoryFilters(newState.categoryFilters), newState.categoryFilters, newState.showEventStreamFinishedEvents, newState.showInputEvents, newState.showResponsePartEvents, newState.useDevtoolsLayout, newState.selectedEvent, newState.selectedEventIndex, newState.timelineStartSeconds, newState.timelineEndSeconds, newState.timelineFilterDescription, withSessionEventIds(newState.timelineEvents), withSessionEventIds(filteredEvents), newState.timelineSelectionActive, newState.timelineSelectionAnchorSeconds, newState.timelineSelectionFocusSeconds, getVisibleTableColumns(newState.tableColumns), newState.detailTabs, newState.tableColumns, newState.timelineInfo, newState.timelineHoverPercent, newState.focus, newState.previewTextCursorRowIndex, newState.previewTextCursorColumnIndex, newState.tableMinLineY, newState.tableMaxLineY, newState.previewTextDeltaY, previewTextViewportHeight, newState.collapsedHeaderSections, newState.summaries);
7353
8483
  return [SetDom2, newState.uid, dom];
7354
8484
  };
7355
8485
 
@@ -7434,6 +8564,9 @@ const renderEventListeners = () => {
7434
8564
  }, {
7435
8565
  name: HandleEventRowClickAt,
7436
8566
  params: ['handleEventRowClickAt', ClientX, ClientY, Button]
8567
+ }, {
8568
+ name: HandleTableRowDoubleClick,
8569
+ params: ['handleTableRowDoubleClick', ClientX, ClientY]
7437
8570
  }, {
7438
8571
  name: HandleTableBodyContextMenu,
7439
8572
  params: ['handleTableBodyContextMenu', ClientX, ClientY],
@@ -7510,12 +8643,10 @@ const renderEventListeners = () => {
7510
8643
  }, {
7511
8644
  name: HandleTableWheel,
7512
8645
  params: ['handleTableWheel', 'event.deltaY'],
7513
- passive: true,
7514
8646
  preventDefault: true
7515
8647
  }, {
7516
8648
  name: HandlePreviewTextWheel,
7517
8649
  params: ['handlePreviewTextWheel', 'event.deltaY'],
7518
- passive: true,
7519
8650
  preventDefault: true
7520
8651
  }, {
7521
8652
  name: HandlePreviewTextScrollBarPointerDown,
@@ -7545,7 +8676,7 @@ const renderEventListeners = () => {
7545
8676
  params: ['handleTimelineDoubleClick']
7546
8677
  }, {
7547
8678
  name: HandlePreviewTextPointerDown,
7548
- params: ['handlePreviewTextPointerDown', 'event.clientX - event.currentTarget.getBoundingClientRect().left', 'event.clientY - event.currentTarget.getBoundingClientRect().top']
8679
+ params: ['handlePreviewTextPointerDown']
7549
8680
  }];
7550
8681
  };
7551
8682
 
@@ -7554,15 +8685,20 @@ const rerender = state => {
7554
8685
  };
7555
8686
 
7556
8687
  const resetTableColumns = state => {
7557
- if (getVisibleTableColumns(state.tableColumns).join(',') === defaultVisibleTableColumns.join(',') && isSameTableColumnWidths(state.tableColumnWidths, defaultTableColumnWidths) && state.sortColumn === '' && state.sortDescending === false) {
8688
+ const {
8689
+ sortColumn,
8690
+ sortDescending,
8691
+ tableColumns
8692
+ } = state;
8693
+ const defaultTableColumns = createTableColumns();
8694
+ if (getVisibleTableColumns(tableColumns).join(',') === defaultVisibleTableColumns.join(',') && isSameTableColumnWidths(getTableColumnWidths(tableColumns), getTableColumnWidths(defaultTableColumns)) && sortColumn === '' && sortDescending === false) {
7558
8695
  return state;
7559
8696
  }
7560
8697
  return {
7561
8698
  ...state,
7562
8699
  sortColumn: '',
7563
8700
  sortDescending: false,
7564
- tableColumns: createTableColumns(),
7565
- tableColumnWidths: defaultTableColumnWidths
8701
+ tableColumns: defaultTableColumns
7566
8702
  };
7567
8703
  };
7568
8704
 
@@ -7571,9 +8707,10 @@ const handleResize = (state, dimensions) => {
7571
8707
  ...state,
7572
8708
  ...dimensions
7573
8709
  };
8710
+ const tableWidth = shouldUseBalancedSplitTableWidth(nextState) ? getBalancedSplitTableWidth(nextState) : clampTableWidth(nextState, state.tableWidth);
7574
8711
  return applyVirtualTableState({
7575
8712
  ...nextState,
7576
- tableWidth: clampTableWidth(nextState.width, state.tableWidth)
8713
+ tableWidth
7577
8714
  });
7578
8715
  };
7579
8716
 
@@ -7595,7 +8732,6 @@ const saveState = state => {
7595
8732
  selectedEventId,
7596
8733
  sessionId,
7597
8734
  tableColumns,
7598
- tableColumnWidths,
7599
8735
  timelineEndSeconds,
7600
8736
  timelineStartSeconds
7601
8737
  } = state;
@@ -7606,7 +8742,7 @@ const saveState = state => {
7606
8742
  selectedDetailTab: getSelectedDetailTab(detailTabs),
7607
8743
  selectedEventId,
7608
8744
  sessionId,
7609
- tableColumnWidths,
8745
+ tableColumnWidths: getTableColumnWidths(tableColumns),
7610
8746
  timelineEndSeconds,
7611
8747
  timelineStartSeconds,
7612
8748
  visibleTableColumns: getVisibleTableColumns(tableColumns)
@@ -7639,19 +8775,9 @@ const setEvents = (state, events) => {
7639
8775
  }));
7640
8776
  };
7641
8777
 
7642
- const setSessionIdDependencies = {
7643
- listChatViewEvents: listChatViewEvents,
7644
- registerUpdateListener: registerUpdateListener
7645
- };
7646
8778
  const setSessionId = async (state, sessionId) => {
7647
- const {
7648
- databaseName,
7649
- dataBaseVersion,
7650
- eventStoreName,
7651
- sessionIdIndexName
7652
- } = state;
7653
- const result = await setSessionIdDependencies.listChatViewEvents(sessionId, databaseName, dataBaseVersion, eventStoreName, sessionIdIndexName);
7654
- await setSessionIdDependencies.registerUpdateListener(sessionId, rpcId, state.uid);
8779
+ const result = await listChatViewEvents(sessionId);
8780
+ await registerUpdateListener(sessionId, rpcId, state.uid);
7655
8781
  if (result.type === 'error') {
7656
8782
  return {
7657
8783
  ...state,
@@ -7690,12 +8816,15 @@ const setSessionId = async (state, sessionId) => {
7690
8816
  };
7691
8817
 
7692
8818
  const toggleTableColumnVisibility = (state, column) => {
8819
+ const {
8820
+ tableColumns
8821
+ } = state;
7693
8822
  if (!isTableColumn(column)) {
7694
8823
  return state;
7695
8824
  }
7696
8825
  return {
7697
8826
  ...state,
7698
- tableColumns: state.tableColumns.map(tableColumn => {
8827
+ tableColumns: tableColumns.map(tableColumn => {
7699
8828
  if (tableColumn.name !== column) {
7700
8829
  return tableColumn;
7701
8830
  }
@@ -7750,6 +8879,8 @@ const commandMap = {
7750
8879
  'ChatDebug.handleTableResizerPointerMove': wrapCommand(handleTableResizerPointerMove),
7751
8880
  'ChatDebug.handleTableResizerPointerUp': wrapCommand(handleTableResizerPointerUp),
7752
8881
  'ChatDebug.handleTableRowCopy': wrapCommand(handleTableRowCopy),
8882
+ 'ChatDebug.handleTableRowDoubleClick': wrapCommand(handleTableRowDoubleClick),
8883
+ 'ChatDebug.handleTableRowOpenInNewTab': wrapCommand(handleTableRowOpenInNewTab),
7753
8884
  'ChatDebug.handleTableScrollBarPointerDown': wrapCommand(handleTableScrollBarPointerDown),
7754
8885
  'ChatDebug.handleTableScrollBarPointerMove': wrapCommand(handleTableScrollBarPointerMove),
7755
8886
  'ChatDebug.handleTableScrollBarPointerUp': wrapCommand(handleTableScrollBarPointerUp),