@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.
- package/config.json +2420 -2427
- package/dist/static-server.js +1 -1
- package/package.json +1 -1
- package/static/{0e2b358 → 3101f6f}/css/App.css +92 -93
- package/static/{0e2b358 → 3101f6f}/manifest.json +2 -2
- package/static/{0e2b358 → 3101f6f}/packages/about-view-worker/dist/aboutWorkerMain.js +291 -222
- package/static/{0e2b358 → 3101f6f}/packages/activity-bar-worker/dist/activityBarWorkerMain.js +37 -11
- package/static/{0e2b358 → 3101f6f}/packages/auth-worker/dist/authWorkerMain.js +133 -52
- package/static/{0e2b358 → 3101f6f}/packages/chat-coordinator-worker/dist/chatCoordinatorWorkerMain.js +375 -48
- package/static/{0e2b358 → 3101f6f}/packages/chat-debug-view/dist/chatDebugViewWorkerMain.js +1917 -786
- package/static/{0e2b358 → 3101f6f}/packages/chat-storage-worker/dist/chatStorageWorkerMain.js +188 -129
- package/static/{0e2b358 → 3101f6f}/packages/chat-view/dist/chatViewWorkerMain.js +1721 -3306
- package/static/3101f6f/packages/chat-view-model/dist/chatViewModelWorkerMain.js +3123 -0
- package/static/{0e2b358 → 3101f6f}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +1642 -1564
- package/static/{0e2b358 → 3101f6f}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
- package/static/{0e2b358 → 3101f6f}/packages/renderer-process/dist/rendererProcessMain.js +1640 -1651
- package/static/{0e2b358 → 3101f6f}/packages/renderer-process/package.json +1 -1
- package/static/{0e2b358 → 3101f6f}/packages/renderer-worker/dist/rendererWorkerMain.js +25 -12
- package/static/{0e2b358 → 3101f6f}/packages/test-worker/dist/testWorkerMain.js +202 -27
- package/static/{0e2b358 → 3101f6f}/packages/title-bar-worker/dist/titleBarWorkerMain.js +7 -5
- package/static/index.html +4 -4
- /package/static/{0e2b358 → 3101f6f}/config/colorTheme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/config/defaultSettings.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/config/fileMap.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/config/webExtensions.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/AdditionalDetails.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Animation.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/BrowserScrollBar.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Category.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugButtons.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatDetails.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatDetailsClose.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatImagePreview.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTable.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTimeline.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugChatTop.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/DebugValue.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/E2eTest.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/E2eTests.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/EditorHover.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/EditorMessage.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/FeatureContent.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Features.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ImagePreview.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/InlineDiffEditor.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/InputBadge.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Key.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/KeyBindingsHeader.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/KeyBindingsTable.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/LegacyDialog.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Markdown.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Message.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Preview.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ScrollToTop.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsHeader.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsItems.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/SettingsSideBar.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/SourceControlListItem.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/Table.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletAbout.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletBrowserViewOverview.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDebugConsole.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDefineKeyBinding.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletDiffEditor.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletEditorWidgetError.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetail.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetailHeader.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensionDetailTabs.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletExtensions.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletIframeInspector.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletKeyBindings.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletLanguageModels.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainDragOverlay.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainEditorGroup.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMainWaterMark.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletMedia.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletOutput.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPanel.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPanelTabs.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletPdf.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletProblems.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletReferences.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletRunAndDebug.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletScreenCapture.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSearch.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSettings.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSimpleBrowser.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletSourceControl.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletStorage.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletTerminal.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/css/parts/ViewletTerminalTabs.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/LICENSE +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/LICENSE +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-ayu/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-gruvbox/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-high-contrast/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-material/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-monokai/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-palenight/images/demo.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/color-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.theme-slime/icon.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/extension.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icon.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_folder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_folder_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_root_folder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/default_root_folder_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_access.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_access2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_actionscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_actionscript2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ada.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_advpl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affectscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinitydesigner.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinityphoto.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_affinitypublisher.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_agda.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_agents.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ai.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ai2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_al.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_al_dal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_alchemy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_allcontributors.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_alloy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_allure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_angular.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ansible.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_antlers_html.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_antlr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_anyscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apache.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_api_extractor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apib.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apib2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_apl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_applescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appsemble.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_appveyor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_arduino.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_asciidoc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aseprite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_asp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aspx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_assembly.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_assembly_script.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_astro.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_astroconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_atom.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ats.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_attw.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_audio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aurelia.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_autohotkey.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_autoit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_avif.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_avro.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_awk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_aws.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_azure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_azurepipelines.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_babel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_babel2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bak.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ballerina.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bat.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bats.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazaar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel_ignore.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bazel_version.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_befunge.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bicep.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_biml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_binary.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_biome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bitbucketpipeline.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bithound.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blade.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blender.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_blitzbasic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bolt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bosque.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bower.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bower2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_browserslist.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bruno.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_buckbuild.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_buf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bun.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bundlemon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bundler.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_bunfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_c_al.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cabal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_caddy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cakephp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_capacitor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_capnp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cargo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_casc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cddl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cert.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ceylon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cf2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfc2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cfm2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_changie.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cheader.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_chef.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_chef_cookbook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_circleci.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_circom.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_class.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_claude.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_clojure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_clojurescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cloudflare.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cloudfoundry.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cmake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cobol.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codacy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeclimate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codecov.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codekit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codemagic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeowners.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_codeql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coderabbit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coffeelint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coffeescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_commitizen.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_commitlint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_compass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_composer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_conan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_conda.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_config.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_confluence.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_copilot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_coveralls.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cpp3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cppheader.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_craco.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_crowdin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_crystal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csharp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csharp2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cspell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_css2map.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csscomb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_csslint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cssmap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cucumber.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cuda.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cursorrules.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cvs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cypress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cypress_spec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_cython.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_darcs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang_generated.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dartlang_ignore.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_db.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_debian.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_delphi.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_deno.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_denoify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dependabot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dependencies.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_design_tokens.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_devcontainer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_devvit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dhall.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_diff.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_django.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docker2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dockertest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dockertest2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docpad.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docusaurus.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_docz.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dojo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_doppler.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dotenv.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dotjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_doxygen.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drawio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_drools.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dtd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dune.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dustjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dvc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_dylan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_earthly.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eas-metadata.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_edge.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_edge2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_editorconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ejs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elastic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elasticbeanstalk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_electron.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eleventy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eleventy2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elixir.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_elm2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_emacs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ember.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ensime.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eps.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_epub.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_erlang2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_esbuild.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eslint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_eslint2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excalidraw.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_excel2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_expo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_falcon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fantasticon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fastly.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fauna.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_favicon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fbx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebase.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebasehosting.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firebasestorage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_firestore.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fitbit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fla.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flareact.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_floobits.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flow.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flutter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flutter_package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_flyio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_font.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_formkit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fortran.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fossa.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fossil.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_freemarker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_frontcommerce.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsharp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsharp2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fsproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fthtml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_funding.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_fusebox.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_galen.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_galen2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gamemaker81.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gatsby.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gcloud.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gcode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gdscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gduid.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gemini.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_genstat.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_geojson.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gimp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_git.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_git2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gitlab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gitpod.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gleam.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gleamconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glide.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glimmer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glitter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glsl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gltf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_glyphs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gnu.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gnuplot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_aqua.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_black.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_fuchsia.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_gopher.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_lightblue.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_white.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_work.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_go_yellow.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_goctl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_godot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gpg.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gradle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gradle2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grain.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphql_config.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_graphviz.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_greenkeeper.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gridsome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_groovy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_groovy2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_grunt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_gulp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_handlebars.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_handlebars2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_harbour.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hardhat.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hashicorp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haskell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haskell2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxecheckstyle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_haxedevelop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_helix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_helm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_histoire.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hjson.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hlsl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_homeassistant.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_horusec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_host.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_html.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_htmlhint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_htmlvalidate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_http.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hugo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_humanstxt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hunspell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_husky.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hygen.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_hypr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_icl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idris.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idrisbin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_idrispkg.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_image.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_imba.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_inc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_infopath.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_informix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ini.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ink.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_innosetup.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_io.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_iodine.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ionic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_janet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jasmine.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_java.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jbuilder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jekyll.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jenkins.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jest_snapshot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jetbrains.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jinja.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jpm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_js_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsbeautify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jscpd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jshint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsmap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json5.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_json_schema.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsonld.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsonnet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jsr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_juice.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_julia.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_julia2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_jupyter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_just.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_k.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_karma.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_key.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kitchenci.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kivy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_knip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kos.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kotlin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_kusto.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_language_configuration.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lark.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_latino.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_layout.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lean.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_leanconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lefthook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lerna.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_less.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_liara.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_base.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_calc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_draw.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_impress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_math.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_libreoffice_writer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_license.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_licensebat.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_actionscript2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_ada.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_agda.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_agents.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_apl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_astro.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_astroconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_babel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_babel2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cabal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_circleci.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cloudfoundry.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codacy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codeclimate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_codeowners.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_config.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_copilot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_crystal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cypress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_cypress_spec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_db.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_deno.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_dhall.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_docpad.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_drone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eas-metadata.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_eleventy2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_expo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_firebasehosting.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_fla.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_font.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_gamemaker2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_gradle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_hashicorp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_hjson.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_ini.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_io.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsmap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json5.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_json_schema.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_jsonld.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_kite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lark.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lean.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_leanconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_lerna.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_markuplint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mcp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mdx-components.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mdx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mustache.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_mypy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_neo4j.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_netlify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_next.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_nim.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_nx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_objidconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_openHAB.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_packship.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_pcl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_pnpm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_prettier.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_prisma.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_purescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_quasar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_raku.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_razzle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_reactrouter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rehype.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_remark.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_replit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_retext.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rubocop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rust.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_rust_toolchain.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_safetensors.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_shadcn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_shaderlab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_solidity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_spin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_stylelint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_stylus.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_symfony.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_systemd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_systemverilog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_testcafe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_testjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tmux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_todo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_toon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_tree.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_turbo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_unibeautify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vercel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vsix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_vsixmanifest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_xfl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_xorg.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_yaml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_yaml_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_light_zeit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lighthouse.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lilypond.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lime.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lintstagedrc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_liquid.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lisp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_livescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lnk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_locale.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_log.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lolcode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lsl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lua.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_luau.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_lync.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_makefile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest_bak.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_manifest_skip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_map.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mariadb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdownlint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markdownlint_ignore.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_marko.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markojs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_markuplint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_master-co.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_matlab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maven.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maxscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_maya.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mcp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdx-components.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mdxlint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mediawiki.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mercurial.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mermaid.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_meson.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_metal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_meteor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_minecraft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mivascript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mjml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mocha.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_modernizr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mojo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mojolicious.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_moleculer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mondoo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mongo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_monotone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_motif.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mson.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mustache.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvtcss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mvtjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mypy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_mysql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nanostaged.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ndst.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nearly.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_neo4j.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_adapter_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_controller_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_decorator_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_filter_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_gateway_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_guard_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_interceptor_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_middleware_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_module_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_module_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_pipe_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_service_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nest_service_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nestjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_netlify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_next.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nextflow.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_css.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_html.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_less.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_sass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_scss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_component_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_controller_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_directive_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_guard_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_interceptor_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_module_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_pipe_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_routing_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_service_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_js2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_smart_component_ts2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ng_tailwind.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nginx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nim.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nimble.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ninja.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_njsproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_noc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_node.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_node2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nodemon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_npm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_npmpackagejsonlint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsi.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsri-integrity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nsri.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nuget.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_numpy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nunjucks.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nushell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nuxt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_nyc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objectivec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objectivecpp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_objidconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ocaml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ocaml_intf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ogone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_onenote.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opam.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_openHAB.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opencl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_openscad.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_opentofu.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_org.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_outlook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ovpn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_oxc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_oxlint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_packship.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_paket.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pandacss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_patch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pcl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl_happenings.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pddl_plan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdf2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pdm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_peeky.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_perl6.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pgsql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_photoshop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_photoshop2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_php3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpcsfixer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpstan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phpunit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_phraseapp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pine.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pipeline.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plantuml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_platformio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_playwright.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_body.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_header.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_plsql_package_spec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pm2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pnpm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_poedit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_poetry.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_polyglot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_polymer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pony.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postcss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postcssconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_postman.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powerpoint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powerpoint2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_format.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psd2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_psm2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_powershell_types.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_preact.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_precommit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prettier.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prisma.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prismaconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_processinglang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_procfile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_progress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prolog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_prometheus.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_protobuf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_protractor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_publiccode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_publisher.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pug.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pulumi.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_puppet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_purescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_purgecss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyenv.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyret.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyscript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pytest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_python.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pytyped.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_pyup.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_q.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qbs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qlikview.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qmldir.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_qsharp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_quasar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_r.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ra_syntax_tree.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_racket.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rails.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_raku.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_raml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_razor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_razzle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactrouter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reacttemplate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reactts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_reason.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_red.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_registry.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rego.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rehype.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_remark.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_renovate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_replit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_retext.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rexx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_riot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ripple.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rmd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rnc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_robotframework.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_robots.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rolldown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rollup.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rome.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ron.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rspec.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rubocop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ruby.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rust.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_rust_toolchain.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_s-lang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_safetensors.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sails.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_saltstack.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_san.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sapphire_framework_cli.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sas.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sbt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scala.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scilab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_script.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_scss2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sdlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_search_result.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_seedkit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sentry.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sequelize.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_serverless.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shadcn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shaderlab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shellcheck.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_shuttle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_silverstripe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sino.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sitemap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_siyuan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sketch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_skipper.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slashup.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slice.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slim.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_slint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sln.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sln2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_smarty.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_smithery.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snakemake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snapcraft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snaplet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snort.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_snyk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_solidarity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_solidity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_source.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_spacengine.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sparql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_spin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sqf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sqlite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_squirrel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sst.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stackblitz.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stata.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stencil.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_storyboard.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_storybook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stryker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylable.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_style.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_styled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylelint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylish_haskell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_stylus.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_sublime.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_subversion.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svelte.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svelteconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svg.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_svgo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swagger.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swift.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_swig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_symfony.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_syncpack.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_systemd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_systemverilog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_t4tt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tailwind.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tamagui.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_taplo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_taskfile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tauri.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tcl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_teal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_templ.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tera.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_terraform.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_test.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testcafe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testjs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testplane.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_testts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_text.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_textile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tfs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tiltfile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tmux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_todo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_toon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tox.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_travis.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tree.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tres.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_truffle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_trunk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsbuildinfo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tscn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsconfig_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsdoc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tsdown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tslint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_ttcn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_tuc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_turbo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_twig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typedoc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescript_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typescriptdef_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_typo3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_uiua.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unibeautify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unison.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unlicense.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_unocss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_uv.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vagrant.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vala.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vanilla_extract.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vapi.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vapor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vba.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vbhtml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vbproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vcxproj.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_velocity.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vento.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vercel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_verilog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vhdl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_video.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_view.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vim.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vitest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vlang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_volt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vroom.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode-insiders.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vscode_test.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vsix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vsixmanifest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vue.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vueconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vvvvvv.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_vyper.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wallaby.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wally.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wasm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_watchmanconfig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wdio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_weblate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_webpack.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wenyan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wercker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wgsl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wikitext.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_windi.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wolfram.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_word.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_word2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wpml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wurst.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_wxt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xaml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xcode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xfl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xib.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xliff.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xmake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xorg.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xquery.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_xsl.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yacc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yaml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yaml_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yamllint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yandex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yang.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yarn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_yeoman.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zeit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zig.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/file_type_zip2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_android.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_android_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_angular.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_angular_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_apache.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_apache_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_api.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_api_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_app.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_app_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_arangodb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_arangodb_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_asset.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_asset_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_astro.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_astro_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_audio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_audio_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aurelia.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aurelia_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aws.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_aws_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azure_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_azurepipelines_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_binary.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_binary_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bloc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bloc_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_blueprint.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_blueprint_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bot_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bower.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_bower_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_buildkite.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_buildkite_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cake_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cargo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cargo_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_certificate.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_certificate_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_changesets.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_changesets_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_chef.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_chef_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_circleci.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_circleci_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_claude.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_claude_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cli.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cli_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_client.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_client_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cloudflare_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cmake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cmake_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_common.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_common_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_component.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_component_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_composer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_composer_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_config.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_config_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_controller.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_controller_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_coverage_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css2_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_css_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cubit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cubit_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cursor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cursor_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cypress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_cypress_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dapr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dapr_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dart_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_db.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_db_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_debian.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_debian_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dependabot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dependabot_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_devcontainer_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dist.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_dist_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docker_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_docs_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_e2e.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_e2e_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_elasticbeanstalk_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_electron.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_electron_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_expo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_expo_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_favicon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_favicon_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flow.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flow_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flutter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_flutter_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_fonts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_fonts_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_frontcommerce_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gcp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gcp_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_git.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_git_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_github.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_github_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gitlab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gitlab_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_godot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_godot_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gradle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gradle_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_graphql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_graphql_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_grunt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_grunt_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gulp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_gulp_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_haxelib.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_haxelib_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_helper.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_helper_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_histoire.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_histoire_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_hook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_hook_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_husky.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_husky_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_idea.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_idea_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_images.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_images_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_include.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_include_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_interfaces.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_interfaces_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ios.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ios_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_js.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_js_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_official.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_official_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_json_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_junie.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_junie_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kotlin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kotlin_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_kubernetes_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_less.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_less_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_library.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_library_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cursor_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_cypress_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_electron.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_electron_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_expo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_expo_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_fonts_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_gradle_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_meteor_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mypy_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_mysql_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_node.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_node_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_redux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_redux_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_sass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_sass_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_zed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_light_zed_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_linux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_linux_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_locale.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_locale_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_log.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_log_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_macos.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_macos_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mariadb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mariadb_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_maven.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_maven_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mediawiki_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_memcached.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_memcached_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_meteor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_meteor_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_middleware.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_middleware_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minecraft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minecraft_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minikube.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_minikube_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mjml.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mjml_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mock_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_model.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_model_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_module.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_module_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mojo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mojo_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mongodb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mongodb_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mypy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mypy_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mysql.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_mysql_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_netlify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_netlify_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_next.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_next_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nginx.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nginx_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nix_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_node.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_node_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notebooks.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notebooks_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notification.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_notification_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuget.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuget_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuxt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_nuxt_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_package_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_paket.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_paket_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_php.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_php_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_platformio.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_platformio_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_plugin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_plugin_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_prisma.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_prisma_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_private.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_private_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_public.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_public_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_pytest.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_pytest_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_python.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_python_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ravendb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_ravendb_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redis.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redis_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_redux_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_route.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_route_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sass_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_script.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_script_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_seedkit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_seedkit_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_server.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_server_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_services.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_services_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_shared.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_shared_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_snaplet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_snaplet_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_spin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_spin_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_src.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_src_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sso.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_sso_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_story.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_story_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_style.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_style_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_supabase.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_supabase_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_svelte.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_svelte_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tauri.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tauri_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_temp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_temp_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_template.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_template_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_test.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_test_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_theme.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_theme_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tools.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_tools_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_travis.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_travis_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_trunk.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_trunk_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_turbo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_turbo_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typescript.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typescript_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings2_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_typings_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vagrant.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vagrant_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vercel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vercel_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_video.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_video_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_view.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_view_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vitepress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vitepress_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs2_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vs_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode2_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode3_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test2_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test3_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_vscode_test_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wasm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wasm_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_webpack.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_webpack_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windows.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windows_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windsurf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_windsurf_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_wit_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_www.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_www_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_yarn.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_yarn_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_zed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/extensions/builtin.vscode-icons/icons/folder_type_zed_opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/fonts/FiraCode-VariableFont.ttf +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/account.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/activate-breakpoints.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/add-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/add.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/agent.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/archive.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-both.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-circle-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-small-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-swap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/arrow-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/ask.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/attach.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/azure-devops.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/azure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/beaker-stop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/beaker.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bell-dot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bell-slash-dot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bell-slash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/blank.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bold.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/book.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bookmark.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bracket-dot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bracket-error.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/briefcase.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/broadcast.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/browser.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/bug.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/build.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/calendar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/call-incoming.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/call-outgoing.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/case-sensitive.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle-error.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle-warning.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chat-sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/check-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/check.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/checklist.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chevron-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chevron-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chevron-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chevron-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chrome-close.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chrome-maximize.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chrome-minimize.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/chrome-restore.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-large-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-large.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-slash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-small-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/circuit-board.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/claude.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/clear-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/clippy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/clockface.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/close-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/close.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/cloud-download.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/cloud-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/cloud-upload.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/cloud.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/code-oss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/code-review.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/code.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/coffee.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/collapse-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/collection-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/collection.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/color-mode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/combine.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion-quote.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion-sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment-discussion.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment-draft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment-unresolved.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/comment.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/compass-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/compass-dot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/compass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-blocked.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-error.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-in-progress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-large.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-not-connected.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-snooze.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-success.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-unavailable.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-warning-large.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot-warning.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copilot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/copy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/credit-card.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/cursor.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/dash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/dashboard.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/database.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-alt-2.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-alt-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-alt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-conditional.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-data-unverified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-data.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-function-unverified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-function.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-log-unverified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-log.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-breakpoint-unsupported.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-connected.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-console.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-continue-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-continue.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-disconnect.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-line-by-line.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-pause.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-rerun.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-restart-frame.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-restart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-reverse-continue.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-stackframe-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-stackframe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-start.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-step-back.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-step-into.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-step-out.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-step-over.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug-stop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/debug.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/desktop-download.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/device-camera-video.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/device-camera.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/device-mobile.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-added.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-ignored.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-modified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-multiple.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-removed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-renamed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff-single.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/diff.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/discard.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/download.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/edit-code.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/edit-session.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/edit-sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/edit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/editor-layout.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/ellipsis.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/empty-window.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/eraser.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/error-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/error.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/exclude.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/expand-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/export.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/extensionDefaultIcon.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/extensions-large.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/extensions.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/eye-closed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/eye.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/feedback.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-binary.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-code.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-media.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-pdf.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-submodule.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-symlink-directory.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-symlink-file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-text.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file-zip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/files.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/filter-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/filter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/flag.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/flame.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/fold-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/fold-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/fold.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/folder-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/folder-library.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/folder-opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/folder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/forward.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/game.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/gear.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/gift.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/gist-secret.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/gist.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-branch-changes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-branch-conflicts.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-branch-staged-changes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-branch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-commit.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-compare.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-fetch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-merge.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-closed.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-create.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-done.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-draft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-go-to-changes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request-new-changes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-pull-request.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-stash-apply.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-stash-pop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/git-stash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/github-action.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/github-alt.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/github-inverted.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/github-project.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/github.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/globe.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/go-to-editing-session.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/go-to-file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/go-to-search.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/grabber.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/graph-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/graph-line.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/graph-scatter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/graph.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/gripper.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/group-by-ref-type.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/heart-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/heart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/history.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/home.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/horizontal-rule.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/hubot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/icon-close.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/icon-source-control.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/icon-sync.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/icon.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/icon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/inbox.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/indent.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/index-zero.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/info.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/insert.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/inspect.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/issue-draft.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/issue-reopened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/issues.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/italic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/jersey.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/json.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/kebab-vertical.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/key.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab-above.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab-below.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/keyboard-tab.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/language-icon.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/law.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layers-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layers-dot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layers.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-activitybar-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-activitybar-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-centered.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-menubar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-center.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-dock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-justify.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-off.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-panel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left-dock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left-off.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right-dock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right-off.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-sidebar-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout-statusbar.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/layout.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/library.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-autofix.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-empty.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lightbulb-sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lightbulb.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/link-external.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/link.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-filter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-flat.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-ordered.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-selection.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-tree.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/list-unordered.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/live-share.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/loading.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/location.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lock-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/lock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/magnet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mail-read.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mail.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/map-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/map-vertical-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/map-vertical.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/map.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/markdown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mcp.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/megaphone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mention.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/menu.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/merge-into.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/merge.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mic-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mic.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/milestone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mirror.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mortar-board.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/move.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/multiple-windows.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/music.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/mute.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/new-collection.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/new-file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/new-folder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/new-session.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/newline.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/no-newline.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/note.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/notebook-template.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/notebook.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/octoface.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/open-in-product.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/open-in-window.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/open-preview.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/openai.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/organization.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/output.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/package.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/paintcan.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pass-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pass.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/percentage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/person-add.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/person.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/piano.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pie-chart.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pin.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pinned-dirty.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pinned.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/play-circle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/play.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/plug.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/preserve-case.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/preview.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/primitive-square.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/progress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/project.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pulse.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pwa-icon-192.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/pwa-icon-512.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/python.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/question.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/quote.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/quotes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/radio-tower.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/reactions.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/record-keys.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/record-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/record.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/redo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/references.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/refresh.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/regex.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/remote-explorer.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/remote.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/remove-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/remove.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/rename.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/replace-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/replace.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/reply.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-clone.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-fetch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-force-push.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-forked.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-pinned.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-pull.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-push.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo-selected.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/repo.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/report.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/request-changes.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/robot.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/rocket.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/root-folder-opened.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/root-folder.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/rss.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/ruby.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-above.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-all-coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-below.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-coverage.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-errors.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/run-with-deps.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/save-all.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/save-as.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/save.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/screen-cut.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/screen-full.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/screen-normal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/search-fuzzy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/search-large.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/search-sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/search-stop.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/search.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/send-to-remote-agent.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/send.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/server-environment.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/server-process.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/server.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/session-in-progress.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/settings-gear.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/settings.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/share.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/shield.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sign-in.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sign-out.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/skip.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/smiley.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/snake.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sort-precedence.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/source-control.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sparkle-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sparkle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/split-horizontal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/split-vertical.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/squiggly-error.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/squiggly-warning.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/squirrel.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/star-empty.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/star-full.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/star-half.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/stop-circle.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/strikethrough.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/surround-with.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-array.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-boolean.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-class.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-color.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-constant.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-enum-member.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-enum.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-event.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-field.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-file.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-interface.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-key.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-keyword.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-method-arrow.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-method.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-misc.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-namespace.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-numeric.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-operator.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-parameter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-property.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-ruler.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-snippet.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-string.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-structure.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/symbol-variable.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sync-ignored.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/sync.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/table.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/tag.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/target.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/tasklist.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/telescope.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-bash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-cmd.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-debian.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-git-bash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-linux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-powershell.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-tmux.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal-ubuntu.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/terminal.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/text-size.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/theme-icon.png +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/thinking.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/three-bars.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/thumbsdown-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/thumbsdown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/thumbsup-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/thumbsup.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/tools.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/trash.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/triangle-down.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/triangle-left.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/triangle-right.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/triangle-up.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/twitter.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy-sub.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy-super.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/type-hierarchy.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/unarchive.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/unfold.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/ungroup-by-ref-type.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/unlock.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/unmute.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/unverified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/variable-group.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/verified-filled.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/verified.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/versions.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-connect.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-outline.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-pending.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-running.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vm.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vr.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vscode-insiders.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/vscode.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/wand.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/warning.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/watch.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/whitespace.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/whole-word.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/window-active.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/window.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/word-wrap.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/workspace-trusted.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/workspace-unknown.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/workspace-untrusted.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/worktree-small.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/worktree.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/zoom-in.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/icons/zoom-out.svg +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/babel-parser.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/ky.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-import-script.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-ipc.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-json-rpc.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-rpc.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/lvce-editor-verror.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/p-min-delay.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/pretty-bytes.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/preview-injected.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/js/yoctodelay.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/lib-css/termterm.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/chat-math-worker/dist/chatMathWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/chat-message-parsing-worker/dist/chatMessageParsingWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/chat-network-worker/dist/chatNetworkWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/chat-tool-worker/dist/chatToolWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/diff-view/dist/diffViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/error-worker/dist/errorWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/extension-management-worker/dist/extensionManagementWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/hover-worker/dist/hoverWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/icon-theme-worker/dist/iconThemeWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/language-models-view/dist/languageModelsViewMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/main-area-worker/dist/mainAreaWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/menu-worker/dist/menuWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/opener-worker/dist/openerWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/output-view/dist/outputViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/panel-worker/dist/panelWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/preload/dist/index.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/preview-sandbox-worker/dist/previewSandBoxWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/preview-worker/dist/previewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/quick-pick-worker/dist/quickPickWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/renderer-process/LICENSE +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/renderer-process/README.md +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/settings-view/dist/settingsViewWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/source-action-worker/dist/sourceActionWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/status-bar-worker/dist/statusBarWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/text-measurement-worker/dist/textMeasurementWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/packages/update-worker/dist/updateWorkerMain.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.cpp +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.css +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.csv +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.dart +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.env +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.ex +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.html +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.java +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.jl +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.js +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.kt +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.pl +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.py +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/index.ts +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/scrolling.txt +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/languages/tsconfig.json +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/sample-folder/a.txt +0 -0
- /package/static/{0e2b358 → 3101f6f}/playground/sample-folder/b.txt +0 -0
- /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
|
|
1436
|
-
const CloseDetails
|
|
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
|
|
1447
|
-
const
|
|
1448
|
-
const
|
|
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
|
|
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
|
|
1457
|
-
const
|
|
1458
|
-
const
|
|
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
|
|
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
|
|
1466
|
-
const
|
|
1467
|
-
const
|
|
1468
|
-
const
|
|
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
|
|
1519
|
+
const Tools = 'Tools';
|
|
1471
1520
|
const Type$1 = 'Type';
|
|
1472
|
-
const 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
|
|
1539
|
+
return i18nString(All);
|
|
1485
1540
|
};
|
|
1486
1541
|
const closeDetails = () => {
|
|
1487
|
-
return i18nString(CloseDetails
|
|
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
|
|
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
|
|
1619
|
+
return i18nString(Preview);
|
|
1556
1620
|
};
|
|
1557
1621
|
const payload = () => {
|
|
1558
|
-
return i18nString(Payload
|
|
1622
|
+
return i18nString(Payload);
|
|
1623
|
+
};
|
|
1624
|
+
const outputTokens = () => {
|
|
1625
|
+
return i18nString(OutputTokens);
|
|
1559
1626
|
};
|
|
1560
1627
|
const refresh$1 = () => {
|
|
1561
|
-
return i18nString(Refresh
|
|
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
|
|
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
|
|
1667
|
+
return i18nString(Stream);
|
|
1668
|
+
};
|
|
1669
|
+
const statusCode = () => {
|
|
1670
|
+
return i18nString(StatusCode);
|
|
1583
1671
|
};
|
|
1584
1672
|
const timing = () => {
|
|
1585
|
-
return i18nString(Timing
|
|
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
|
|
1588
|
-
return i18nString(
|
|
1589
|
-
PH1:
|
|
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
|
|
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
|
|
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
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
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
|
-
|
|
1824
|
-
|
|
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
|
|
1841
|
-
const
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
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
|
-
|
|
1850
|
-
},
|
|
1851
|
-
|
|
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
|
-
|
|
1854
|
-
},
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
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
|
|
1901
|
-
|
|
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
|
-
|
|
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
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
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 = (
|
|
1925
|
-
const mainWidth = getMainWidth(
|
|
1926
|
-
const clampedTableWidth = clampTableWidth(
|
|
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
|
|
1930
|
-
const
|
|
1931
|
-
|
|
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
|
-
|
|
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
|
|
1941
|
-
|
|
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,
|
|
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 =
|
|
1963
|
-
const minimumRemainingWidth = visibleColumns.slice(index + 1).reduce((total, remainingColumn) => total +
|
|
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 =
|
|
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 = (
|
|
1985
|
-
const clampedTableWidth = clampTableWidth(
|
|
1986
|
-
const layout = getTableColumnLayout(clampedTableWidth, visibleTableColumns,
|
|
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
|
|
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 =
|
|
1994
|
-
const minimumRemainingWidth = layout.visibleColumns.slice(boundaryIndex + 1).reduce((total, column) => total +
|
|
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 -
|
|
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
|
|
2059
|
-
|
|
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:
|
|
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
|
|
2146
|
-
const
|
|
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.
|
|
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
|
|
2564
|
-
const
|
|
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
|
|
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
|
|
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$
|
|
2731
|
-
const
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
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 (
|
|
2738
|
-
|
|
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
|
|
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$
|
|
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$
|
|
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
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
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
|
-
|
|
3244
|
+
|
|
3245
|
+
const getAttachmentImagePreviewMimeType = event => {
|
|
2877
3246
|
return typeof event.mimeType === 'string' ? event.mimeType : undefined;
|
|
2878
3247
|
};
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
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
|
-
|
|
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 =
|
|
2943
|
-
const mimeType =
|
|
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:
|
|
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
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
const selectedDetailTab = getSelectedDetailTab(
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
3074
|
-
return
|
|
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
|
-
|
|
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(
|
|
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
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 ===
|
|
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
|
-
|
|
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
|
-
|
|
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$
|
|
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
|
|
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
|
|
3465
|
-
|
|
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,
|
|
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
|
|
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
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
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
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
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
|
|
3874
|
-
if (
|
|
3875
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
4490
|
+
const firstContentItemObject = getObjectValue(firstContentItem);
|
|
4491
|
+
if (!firstContentItemObject) {
|
|
3909
4492
|
return undefined;
|
|
3910
4493
|
}
|
|
3911
4494
|
const {
|
|
3912
4495
|
text
|
|
3913
|
-
} =
|
|
4496
|
+
} = firstContentItemObject;
|
|
3914
4497
|
return typeof text === 'string' ? text : undefined;
|
|
3915
4498
|
}
|
|
3916
4499
|
const {
|
|
3917
4500
|
text
|
|
3918
|
-
} =
|
|
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
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
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
|
-
|
|
4553
|
+
const firstOutputObject = getObjectValue(firstOutput);
|
|
4554
|
+
if (!firstOutputObject) {
|
|
3961
4555
|
return undefined;
|
|
3962
4556
|
}
|
|
3963
4557
|
const {
|
|
3964
4558
|
content
|
|
3965
|
-
} =
|
|
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
|
-
|
|
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(
|
|
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 -
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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$
|
|
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$
|
|
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
|
|
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
|
-
|
|
5330
|
+
const hasSelectedEvent = useDevtoolsLayout && selectedEventIndex !== null;
|
|
5331
|
+
const nextState = {
|
|
4690
5332
|
...state,
|
|
4691
|
-
previewTextCursorColumnIndex:
|
|
4692
|
-
previewTextCursorRowIndex:
|
|
4693
|
-
previewTextDeltaY:
|
|
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:
|
|
4697
|
-
selectedEventId:
|
|
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
|
|
4731
|
-
|
|
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
|
|
5386
|
+
const restoredState = restoreSavedState(state, savedState);
|
|
5387
|
+
const nextState = await loadEventsFromUri(restoredState);
|
|
4735
5388
|
if (nextState.sessionId) {
|
|
4736
5389
|
try {
|
|
4737
|
-
await
|
|
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
|
|
4755
|
-
|
|
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
|
-
|
|
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
|
|
4836
|
-
const currentEvents = getCurrentEvents$
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
--
|
|
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.
|
|
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
|
-
.
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
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:
|
|
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
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
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
|
|
6594
|
+
return Object.entries(value);
|
|
5561
6595
|
};
|
|
5562
6596
|
|
|
5563
|
-
const
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
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
|
|
5574
|
-
|
|
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
|
|
6632
|
+
const getHeaderRowNodes = (headerName, headerValue, index) => {
|
|
5578
6633
|
return [{
|
|
5579
|
-
|
|
5580
|
-
|
|
5581
|
-
|
|
5582
|
-
|
|
5583
|
-
|
|
5584
|
-
|
|
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
|
-
},
|
|
6641
|
+
}, text(headerName), {
|
|
6642
|
+
childCount: 1,
|
|
6643
|
+
className: mergeClassNames(ChatDebugViewHeadersCell, ChatDebugViewHeadersCellValue),
|
|
6644
|
+
type: Div
|
|
6645
|
+
}, text(getHeaderValueText(headerValue))];
|
|
5587
6646
|
};
|
|
5588
6647
|
|
|
5589
|
-
const
|
|
5590
|
-
|
|
5591
|
-
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
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
|
|
5608
|
-
|
|
5609
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
6657
|
-
|
|
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
|
|
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
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
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(
|
|
6741
|
-
|
|
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 = (
|
|
6773
|
-
return
|
|
6774
|
-
const
|
|
6775
|
-
const
|
|
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': `${
|
|
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:
|
|
8001
|
+
childCount: 0,
|
|
6903
8002
|
className: TableSummary,
|
|
6904
8003
|
role: Status,
|
|
6905
8004
|
type: Div
|
|
6906
8005
|
};
|
|
6907
|
-
const
|
|
6908
|
-
|
|
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
|
-
|
|
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
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
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(),
|
|
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(),
|
|
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,
|
|
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(),
|
|
7038
|
-
const tableSummaryNodes = getTableSummaryDom(
|
|
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,
|
|
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
|
|
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,
|
|
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$
|
|
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'
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
-
|
|
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:
|
|
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),
|