@codingame/monaco-vscode-chat-service-override 34.1.3 → 35.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1424 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -9,6 +9,7 @@ import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/bas
9
9
  import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
10
10
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
11
11
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
12
+ import { resolveProviderDeprecationLink } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
12
13
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
13
14
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
15
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
@@ -18,11 +19,12 @@ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/h
18
19
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
19
20
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
20
21
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
21
- import { Action, Separator, toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
22
+ import { toAction, Separator, Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
22
23
  import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
23
24
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
24
25
  import { isLanguageModelProviderEntry, isLanguageModelGroupEntry, isStatusEntry, ChatModelsViewModel, SEARCH_SUGGESTIONS } from './chatModelsViewModel.js';
25
26
  import { HighlightedLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/highlightedlabel/highlightedLabel';
27
+ import { Link } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/browser/link';
26
28
  import { SuggestEnabledInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput';
27
29
  import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
28
30
  import { settingsTextInputBorder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry';
@@ -34,11 +36,16 @@ import { ToolBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/
34
36
  import { preferencesClearInputIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/preferences/browser/preferencesIcons';
35
37
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
36
38
  import { IEditorProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
39
+ import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
37
40
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
38
41
  import { CONTEXT_MODELS_SEARCH_FOCUS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
42
+ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
43
+ import { LANGUAGE_MODEL_CHAT_PROVIDER_EXTENSION_TAG } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement';
39
44
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
45
+ import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
46
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
40
47
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
41
- import { formatTokenCount } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker';
48
+ import { formatTokenCount } from '@codingame/monaco-vscode-api/vscode/vs/base/common/numbers';
42
49
  import { AnchorAlignment } from '@codingame/monaco-vscode-api/vscode/vs/base/common/layout';
43
50
 
44
51
  var ModelNameColumnRenderer_1, CombinedCostColumnRenderer_1, TokenLimitsColumnRenderer_1, ActionsColumnRenderer_1, ChatModelsWidget_1;
@@ -47,9 +54,43 @@ const $ = $$1;
47
54
  const HEADER_HEIGHT = 30;
48
55
  const VENDOR_ROW_HEIGHT = 30;
49
56
  const MODEL_ROW_HEIGHT = 26;
57
+ const CLOSE_MODAL_EDITOR_COMMAND_ID = "workbench.action.closeModalEditor";
58
+ function buildAddModelsDropdownActions(configurableVendors, supportsAddingModels, runVendorAction) {
59
+ if (!supportsAddingModels) {
60
+ return [];
61
+ }
62
+ const customEndpointVendor = configurableVendors.find(v => v.vendor === "customendpoint");
63
+ const customOaiVendor = configurableVendors.find(v => v.vendor === "customoai");
64
+ const sortedVendors = configurableVendors.filter(v => v.vendor !== "customendpoint" && v.vendor !== "customoai").sort((a, b) => {
65
+ const aDeprecated = a.deprecation?.link ? 1 : 0;
66
+ const bDeprecated = b.deprecation?.link ? 1 : 0;
67
+ if (aDeprecated !== bDeprecated) {
68
+ return aDeprecated - bDeprecated;
69
+ }
70
+ return a.displayName.localeCompare(b.displayName);
71
+ });
72
+ if (customOaiVendor) {
73
+ sortedVendors.push(customOaiVendor);
74
+ }
75
+ const toVendorAction = vendor => toAction({
76
+ id: `enable-${vendor.vendor}`,
77
+ label: vendor.displayName,
78
+ run: async () => {
79
+ await runVendorAction(vendor);
80
+ }
81
+ });
82
+ const actions = ( sortedVendors.map(toVendorAction));
83
+ if (customEndpointVendor) {
84
+ if (actions.length > 0) {
85
+ actions.push(( new Separator()));
86
+ }
87
+ actions.push(toVendorAction(customEndpointVendor));
88
+ }
89
+ return actions;
90
+ }
50
91
  class ModelsFilterAction extends Action {
51
92
  constructor() {
52
- super("workbench.models.filter", ( localize(6549, "Filter")), ThemeIcon.asClassName(Codicon.filter));
93
+ super("workbench.models.filter", ( localize(7041, "Filter")), ThemeIcon.asClassName(Codicon.filter));
53
94
  }
54
95
  async run() {}
55
96
  }
@@ -100,7 +141,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
100
141
  return {
101
142
  id: `provider-${vendor}`,
102
143
  label: displayName,
103
- tooltip: ( localize(6550, "Filter by {0}", displayName)),
144
+ tooltip: ( localize(7042, "Filter by {0}", displayName)),
104
145
  class: undefined,
105
146
  enabled: true,
106
147
  checked: isChecked,
@@ -117,7 +158,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
117
158
  return {
118
159
  id: `capability-${capability}`,
119
160
  label,
120
- tooltip: ( localize(6551, "Filter by {0}", label)),
161
+ tooltip: ( localize(7043, "Filter by {0}", label)),
121
162
  class: undefined,
122
163
  enabled: true,
123
164
  checked: isChecked,
@@ -133,7 +174,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
133
174
  }
134
175
  getActions() {
135
176
  const actions = [];
136
- actions.push(this.createCapabilityAction("tools", ( localize(6552, "Tools"))), this.createCapabilityAction("vision", ( localize(6553, "Vision"))), this.createCapabilityAction("agent", ( localize(6554, "Agent Mode"))));
177
+ actions.push(this.createCapabilityAction("tools", ( localize(7044, "Tools"))), this.createCapabilityAction("vision", ( localize(7045, "Vision"))), this.createCapabilityAction("agent", ( localize(7046, "Agent Mode"))));
137
178
  const configuredVendors = this.viewModel.getConfiguredVendors();
138
179
  if (configuredVendors.length > 1) {
139
180
  actions.push(( new Separator()));
@@ -219,7 +260,7 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
219
260
  if (templateData.listRowElement) {
220
261
  templateData.listRowElement.setAttribute("aria-expanded", entry.collapsed ? "false" : "true");
221
262
  }
222
- const label = entry.collapsed ? ( localize(6555, "Expand")) : ( localize(6556, "Collapse"));
263
+ const label = entry.collapsed ? ( localize(7047, "Expand")) : ( localize(7048, "Collapse"));
223
264
  const toggleCollapseAction = {
224
265
  id: "toggleCollapse",
225
266
  label,
@@ -240,8 +281,8 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
240
281
  const hidden = entry.hidden;
241
282
  templateData.actionBar.push({
242
283
  id: hidden ? "showGroup" : "hideGroup",
243
- label: hidden ? ( localize(6557, "Show All Models")) : ( localize(6558, "Hide All Models")),
244
- tooltip: hidden ? ( localize(6557, "Show All Models")) : ( localize(6558, "Hide All Models")),
284
+ label: hidden ? ( localize(7049, "Show All Models")) : ( localize(7050, "Hide All Models")),
285
+ tooltip: hidden ? ( localize(7049, "Show All Models")) : ( localize(7050, "Hide All Models")),
245
286
  class: `model-visibility-toggle ${ThemeIcon.asClassName(hidden ? Codicon.eyeClosed : Codicon.eye)}`,
246
287
  enabled: true,
247
288
  run: () => this.viewModel.toggleGroupHidden(entry)
@@ -254,8 +295,8 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
254
295
  const hidden = entry.model.hidden;
255
296
  templateData.actionBar.push({
256
297
  id: hidden ? "showModel" : "hideModel",
257
- label: hidden ? ( localize(6559, "Show Model")) : ( localize(6560, "Hide Model")),
258
- tooltip: hidden ? ( localize(6559, "Show Model")) : ( localize(6560, "Hide Model")),
298
+ label: hidden ? ( localize(7051, "Show Model")) : ( localize(7052, "Hide Model")),
299
+ tooltip: hidden ? ( localize(7051, "Show Model")) : ( localize(7052, "Hide Model")),
259
300
  class: `model-visibility-toggle ${ThemeIcon.asClassName(hidden ? Codicon.eyeClosed : Codicon.eye)}`,
260
301
  enabled: true,
261
302
  run: () => this.viewModel.toggleModelHidden(entry)
@@ -272,9 +313,11 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
272
313
  static {
273
314
  this.TEMPLATE_ID = "modelName";
274
315
  }
275
- constructor(hoverService) {
316
+ constructor(hoverService, instantiationService, productService) {
276
317
  super();
277
318
  this.hoverService = hoverService;
319
+ this.instantiationService = instantiationService;
320
+ this.productService = productService;
278
321
  this.templateId = ModelNameColumnRenderer_1.TEMPLATE_ID;
279
322
  }
280
323
  renderTemplate(container) {
@@ -283,12 +326,20 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
283
326
  const nameContainer = append(container, $(".model-name-container"));
284
327
  const statusIcon = append(nameContainer, $(".status-icon"));
285
328
  const nameLabel = disposables.add(( new HighlightedLabel(append(nameContainer, $(".model-name")))));
329
+ const deprecationLinkContainer = append(nameContainer, $(".model-deprecation-link"));
330
+ deprecationLinkContainer.style.display = "none";
331
+ const deprecationLink = disposables.add(this.instantiationService.createInstance(Link, deprecationLinkContainer, {
332
+ label: "",
333
+ href: ""
334
+ }, {}));
286
335
  const modelStatusIcon = append(nameContainer, $(".model-status-icon"));
287
336
  return {
288
337
  container,
289
338
  statusIcon,
290
339
  nameLabel,
291
340
  modelStatusIcon,
341
+ deprecationLinkContainer,
342
+ deprecationLink,
292
343
  disposables,
293
344
  elementDisposables
294
345
  };
@@ -296,10 +347,27 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
296
347
  renderElement(entry, index, templateData) {
297
348
  clearNode(templateData.modelStatusIcon);
298
349
  templateData.nameLabel.element.classList.remove("error-status", "warning-status", "info-status");
350
+ templateData.deprecationLinkContainer.style.display = "none";
299
351
  super.renderElement(entry, index, templateData);
300
352
  }
301
353
  renderVendorElement(entry, index, templateData) {
302
354
  templateData.nameLabel.set(entry.vendorEntry.group.name, undefined);
355
+ const deprecationLink = entry.vendorEntry.vendor.deprecation?.link;
356
+ if (deprecationLink) {
357
+ const icon = $("span");
358
+ icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.linkExternal));
359
+ icon.setAttribute("aria-hidden", "true");
360
+ const label = $("span.model-deprecation-link-label", undefined, ( localize(7053, "Migrate")), icon);
361
+ templateData.deprecationLink.link = {
362
+ label,
363
+ href: ( resolveProviderDeprecationLink(deprecationLink, this.productService.urlProtocol).toString()),
364
+ title: ( localize(
365
+ 7054,
366
+ "The Ollama model provider is deprecated. Please migrate to the official extension."
367
+ ))
368
+ };
369
+ templateData.deprecationLinkContainer.style.display = "";
370
+ }
303
371
  }
304
372
  renderGroupElement(entry, index, templateData) {
305
373
  templateData.nameLabel.set(entry.label, undefined);
@@ -370,7 +438,7 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
370
438
  templateData.nameLabel.set(entry.message, undefined, entry.message);
371
439
  }
372
440
  };
373
- ModelNameColumnRenderer = ModelNameColumnRenderer_1 = ( __decorate([( __param(0, IHoverService))], ModelNameColumnRenderer));
441
+ ModelNameColumnRenderer = ModelNameColumnRenderer_1 = ( __decorate([( __param(0, IHoverService)), ( __param(1, IInstantiationService)), ( __param(2, IProductService))], ModelNameColumnRenderer));
374
442
  let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends ModelsTableColumnRenderer {
375
443
  static {
376
444
  CombinedCostColumnRenderer_1 = this;
@@ -388,21 +456,24 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
388
456
  const elementDisposables = ( new DisposableStore());
389
457
  const grid = append(container, $(".model-cost-grid"));
390
458
  const inputCell = append(grid, $("span.model-cost-cell"));
391
- const cacheCell = append(grid, $("span.model-cost-cell"));
392
459
  const outputCell = append(grid, $("span.model-cost-cell"));
460
+ const cacheReadCell = append(grid, $("span.model-cost-cell"));
461
+ const cacheWriteCell = append(grid, $("span.model-cost-cell"));
393
462
  return {
394
463
  container,
395
464
  inputCell,
396
465
  outputCell,
397
- cacheCell,
466
+ cacheReadCell,
467
+ cacheWriteCell,
398
468
  disposables,
399
469
  elementDisposables
400
470
  };
401
471
  }
402
472
  renderElement(entry, index, templateData) {
403
473
  templateData.inputCell.textContent = "";
404
- templateData.cacheCell.textContent = "";
405
474
  templateData.outputCell.textContent = "";
475
+ templateData.cacheReadCell.textContent = "";
476
+ templateData.cacheWriteCell.textContent = "";
406
477
  super.renderElement(entry, index, templateData);
407
478
  }
408
479
  renderGroupElement(_element, _index, _templateData) {}
@@ -411,22 +482,27 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
411
482
  const {
412
483
  inputCost,
413
484
  outputCost,
414
- cacheCost
485
+ cacheCost,
486
+ cacheWriteCost
415
487
  } = entry.model.metadata;
416
- const hasCost = inputCost !== undefined || outputCost !== undefined || cacheCost !== undefined;
488
+ const hasCost = inputCost !== undefined || outputCost !== undefined || cacheCost !== undefined || cacheWriteCost !== undefined;
417
489
  if (hasCost) {
418
- templateData.inputCell.textContent = inputCost !== undefined ? ( localize(6561, "In: {0}", inputCost)) : "";
419
- templateData.cacheCell.textContent = cacheCost !== undefined ? ( localize(6562, "Cache: {0}", cacheCost)) : "";
420
- templateData.outputCell.textContent = outputCost !== undefined ? ( localize(6563, "Out: {0}", outputCost)) : "";
490
+ templateData.inputCell.textContent = inputCost !== undefined ? ( localize(7055, "In: {0}", inputCost)) : "";
491
+ templateData.outputCell.textContent = outputCost !== undefined ? ( localize(7056, "Out: {0}", outputCost)) : "";
492
+ templateData.cacheReadCell.textContent = cacheCost !== undefined ? ( localize(7057, "Cache Read: {0}", cacheCost)) : "";
493
+ templateData.cacheWriteCell.textContent = cacheWriteCost !== undefined ? ( localize(7058, "Cache Write: {0}", cacheWriteCost)) : "";
421
494
  const parts = [];
422
495
  if (inputCost !== undefined) {
423
- parts.push(inputCost === 1 ? ( localize(6564, "Input: {0} credit per 1M tokens", inputCost)) : ( localize(6565, "Input: {0} credits per 1M tokens", inputCost)));
496
+ parts.push(inputCost === 1 ? ( localize(7059, "Input: {0} credit per 1M tokens", inputCost)) : ( localize(7060, "Input: {0} credits per 1M tokens", inputCost)));
497
+ }
498
+ if (outputCost !== undefined) {
499
+ parts.push(outputCost === 1 ? ( localize(7061, "Output: {0} credit per 1M tokens", outputCost)) : ( localize(7062, "Output: {0} credits per 1M tokens", outputCost)));
424
500
  }
425
501
  if (cacheCost !== undefined) {
426
- parts.push(cacheCost === 1 ? ( localize(6566, "Cache: {0} credit per 1M tokens", cacheCost)) : ( localize(6567, "Cache: {0} credits per 1M tokens", cacheCost)));
502
+ parts.push(cacheCost === 1 ? ( localize(7063, "Cache Read: {0} credit per 1M tokens", cacheCost)) : ( localize(7064, "Cache Read: {0} credits per 1M tokens", cacheCost)));
427
503
  }
428
- if (outputCost !== undefined) {
429
- parts.push(outputCost === 1 ? ( localize(6568, "Output: {0} credit per 1M tokens", outputCost)) : ( localize(6569, "Output: {0} credits per 1M tokens", outputCost)));
504
+ if (cacheWriteCost !== undefined) {
505
+ parts.push(cacheWriteCost === 1 ? ( localize(7065, "Cache Write: {0} credit per 1M tokens", cacheWriteCost)) : ( localize(7066, "Cache Write: {0} credits per 1M tokens", cacheWriteCost)));
430
506
  }
431
507
  templateData.elementDisposables.add(
432
508
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
@@ -443,7 +519,7 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
443
519
  templateData.inputCell.textContent = pricingText;
444
520
  templateData.elementDisposables.add(
445
521
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
446
- content: ( localize(6570, "Pricing: {0}", pricingText)),
522
+ content: ( localize(7067, "Pricing: {0}", pricingText)),
447
523
  appearance: {
448
524
  compact: true,
449
525
  skipFadeInAnimation: true
@@ -497,7 +573,7 @@ let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTa
497
573
  const tokenDiv = append(templateData.tokenLimitsElement, $(".token-limit-item"));
498
574
  const tokenText = append(tokenDiv, $("span"));
499
575
  tokenText.textContent = formatTokenCount(totalTokens);
500
- markdown.appendMarkdown(`${( localize(6571, "Context Size"))}: `);
576
+ markdown.appendMarkdown(`${( localize(7068, "Context Size"))}: `);
501
577
  markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`);
502
578
  }
503
579
  templateData.elementDisposables.add(
@@ -552,7 +628,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
552
628
  templateData.elementDisposables.add(this.createCapabilityButton(
553
629
  templateData.metadataRow,
554
630
  capabilityMatches?.includes("toolCalling") || false,
555
- ( localize(6572, "Tools")),
631
+ ( localize(7069, "Tools")),
556
632
  "tools"
557
633
  ));
558
634
  }
@@ -560,7 +636,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
560
636
  templateData.elementDisposables.add(this.createCapabilityButton(
561
637
  templateData.metadataRow,
562
638
  capabilityMatches?.includes("vision") || false,
563
- ( localize(6573, "Vision")),
639
+ ( localize(7070, "Vision")),
564
640
  "vision"
565
641
  ));
566
642
  }
@@ -587,38 +663,38 @@ function createProviderGroupActions(viewModel, vendor, groupName, languageModels
587
663
  const configurationProperties = configuration.properties;
588
664
  actions.push(toAction({
589
665
  id: "goToSettingsAction",
590
- label: ( localize(6574, "Open in Language Models (JSON)")),
666
+ label: ( localize(7071, "Open in Language Models (JSON)")),
591
667
  run: () => languageModelsService.openLanguageModelsProviderGroupSettings(vendor.vendor, groupName)
592
668
  }));
593
669
  actions.push(( new Separator()));
594
670
  actions.push(toAction({
595
671
  id: "renameGroupAction",
596
- label: ( localize(6575, "Rename Group")),
672
+ label: ( localize(7072, "Rename Group")),
597
673
  run: () => languageModelsService.renameLanguageModelsProviderGroup(vendor.vendor, groupName)
598
674
  }));
599
675
  if (configurationProperties?.apiKey) {
600
676
  actions.push(toAction({
601
677
  id: "updateApiKeyAction",
602
- label: ( localize(6576, "Update API Key")),
678
+ label: ( localize(7073, "Update API Key")),
603
679
  run: () => languageModelsService.updateLanguageModelsProviderGroupApiKey(vendor.vendor, groupName)
604
680
  }));
605
681
  }
606
682
  if (configurationProperties?.models?.defaultSnippets?.[0]) {
607
683
  actions.push(toAction({
608
684
  id: "addModelAction",
609
- label: ( localize(6577, "Add Model")),
685
+ label: ( localize(7074, "Add Model")),
610
686
  run: () => languageModelsService.addLanguageModelsProviderGroupModel(vendor.vendor, groupName)
611
687
  }));
612
688
  }
613
689
  actions.push(( new Separator()));
614
690
  actions.push(toAction({
615
691
  id: "deleteAction",
616
- label: ( localize(6578, "Delete")),
692
+ label: ( localize(7075, "Delete")),
617
693
  class: ThemeIcon.asClassName(Codicon.trash),
618
694
  run: async () => {
619
695
  const result = await dialogService.confirm({
620
696
  type: "info",
621
- message: ( localize(6579, "Would you like to delete {0}?", groupName))
697
+ message: ( localize(7076, "Would you like to delete {0}?", groupName))
622
698
  });
623
699
  if (!result.confirmed) {
624
700
  return;
@@ -694,7 +770,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
694
770
  } else if (vendorEntry.vendor.managementCommand) {
695
771
  primaryActions.push(toAction({
696
772
  id: "manageVendor",
697
- label: ( localize(6580, "Manage {0}...", vendorEntry.group.name)),
773
+ label: ( localize(7077, "Manage {0}...", vendorEntry.group.name)),
698
774
  class: ThemeIcon.asClassName(Codicon.gear),
699
775
  run: async () => {
700
776
  await this.commandService.executeCommand(vendorEntry.vendor.managementCommand, vendorEntry.vendor.vendor);
@@ -716,7 +792,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
716
792
  if (!vendor.isDefault && !vendor.managementCommand && (configActions.length > 0 || entry.model.metadata.configurationSchema)) {
717
793
  secondaryActions.push(toAction({
718
794
  id: "configureModel",
719
- label: ( localize(6581, "Configure...")),
795
+ label: ( localize(7078, "Configure...")),
720
796
  run: () => this.languageModelsService.configureModel(entry.model.identifier)
721
797
  }));
722
798
  }
@@ -726,7 +802,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
726
802
  const isPinned = this.languageModelsService.isModelPinned(modelIdentifier);
727
803
  return toAction({
728
804
  id: isPinned ? `unpin.${modelIdentifier}` : `pin.${modelIdentifier}`,
729
- label: isPinned ? ( localize(6582, "Unpin Model")) : ( localize(6583, "Pin Model")),
805
+ label: isPinned ? ( localize(7079, "Unpin Model")) : ( localize(7080, "Pin Model")),
730
806
  class: ThemeIcon.asClassName(isPinned ? Codicon.pinned : Codicon.pin),
731
807
  run: () => {
732
808
  if (isPinned) {
@@ -784,8 +860,11 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
784
860
  chatEntitlementService,
785
861
  editorProgressService,
786
862
  commandService,
863
+ editorGroupsService,
787
864
  contextKeyService,
788
- dialogService
865
+ dialogService,
866
+ extensionsWorkbenchService,
867
+ environmentService
789
868
  ) {
790
869
  super();
791
870
  this.languageModelsService = languageModelsService;
@@ -795,8 +874,11 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
795
874
  this.chatEntitlementService = chatEntitlementService;
796
875
  this.editorProgressService = editorProgressService;
797
876
  this.commandService = commandService;
877
+ this.editorGroupsService = editorGroupsService;
798
878
  this.contextKeyService = contextKeyService;
799
879
  this.dialogService = dialogService;
880
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
881
+ this.environmentService = environmentService;
800
882
  this._onDidChangeItemCount = this._register(( new Emitter()));
801
883
  this.onDidChangeItemCount = this._onDidChangeItemCount.event;
802
884
  this.tableMinWidth = 0;
@@ -812,7 +894,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
812
894
  }
813
895
  create(container) {
814
896
  const searchAndButtonContainer = append(container, $(".models-search-and-button-container"));
815
- const placeholder = ( localize(6584, "Type to search..."));
897
+ const placeholder = ( localize(7081, "Type to search..."));
816
898
  const searchContainer = append(searchAndButtonContainer, $(".models-search-container"));
817
899
  this.searchWidget = this._register(
818
900
  this.instantiationService.createInstance(SuggestEnabledInput, "chatModelsWidget.searchbox", searchContainer, {
@@ -843,8 +925,8 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
843
925
  })
844
926
  );
845
927
  const filterAction = this._register(( new ModelsFilterAction()));
846
- const clearSearchAction = this._register(( new Action("workbench.models.clearSearch", ( localize(6585, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => this.clearSearch())));
847
- const collapseAllAction = this._register(( new Action("workbench.models.collapseAll", ( localize(6586, "Collapse All")), ThemeIcon.asClassName(Codicon.collapseAll), false, () => {
928
+ const clearSearchAction = this._register(( new Action("workbench.models.clearSearch", ( localize(7082, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => this.clearSearch())));
929
+ const collapseAllAction = this._register(( new Action("workbench.models.collapseAll", ( localize(7083, "Collapse All")), ThemeIcon.asClassName(Codicon.collapseAll), false, () => {
848
930
  this.viewModel.collapseAll();
849
931
  })));
850
932
  collapseAllAction.enabled = ( this.viewModel.viewModelEntries.some(e => isLanguageModelGroupEntry(e) || isLanguageModelProviderEntry(e)));
@@ -877,7 +959,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
877
959
  supportIcons: true
878
960
  };
879
961
  this.addButton = this._register(( new Button(this.addButtonContainer, buttonOptions)));
880
- this.addButton.label = `$(${Codicon.add.id}) ${( localize(6587, "Add Models..."))}`;
962
+ this.addButton.label = `$(${Codicon.add.id}) ${( localize(7084, "Add Models"))}`;
881
963
  this.addButton.element.classList.add("models-add-model-button");
882
964
  this.updateAddModelsButton();
883
965
  this._register(this.addButton.onDidClick(e => {
@@ -888,6 +970,17 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
888
970
  });
889
971
  }
890
972
  }));
973
+ if (!this.environmentService.isSessionsWindow) {
974
+ const browseMarketplaceButton = this._register(( new Button(this.addButtonContainer, {
975
+ ...buttonOptions,
976
+ secondary: true
977
+ })));
978
+ browseMarketplaceButton.label = `$(${Codicon.extensions.id}) ${( localize(7085, "Install Model Providers"))}`;
979
+ browseMarketplaceButton.element.classList.add("models-browse-marketplace-button");
980
+ this._register(
981
+ browseMarketplaceButton.onDidClick(() => this.openLanguageModelProviderExtensionsSearch())
982
+ );
983
+ }
891
984
  this.tableContainer = append(container, $(".models-table-container"));
892
985
  this.createTable();
893
986
  this._register(this.viewModel.onDidChangeGrouping(() => this.createTable()));
@@ -949,7 +1042,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
949
1042
  return row;
950
1043
  }
951
1044
  }, {
952
- label: ( localize(6588, "Name")),
1045
+ label: ( localize(7086, "Name")),
953
1046
  tooltip: "",
954
1047
  weight: 0.35,
955
1048
  minimumWidth: 200,
@@ -960,7 +1053,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
960
1053
  }];
961
1054
  const isUBB = this.chatEntitlementService.quotas.usageBasedBilling === true;
962
1055
  columns.push({
963
- label: ( localize(6589, "Context Size")),
1056
+ label: ( localize(7087, "Context Size")),
964
1057
  tooltip: "",
965
1058
  weight: 0.1,
966
1059
  minimumWidth: 140,
@@ -969,7 +1062,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
969
1062
  return row;
970
1063
  }
971
1064
  }, {
972
- label: ( localize(6590, "Capabilities")),
1065
+ label: ( localize(7088, "Capabilities")),
973
1066
  tooltip: "",
974
1067
  weight: 0.15,
975
1068
  minimumWidth: 180,
@@ -978,7 +1071,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
978
1071
  return row;
979
1072
  }
980
1073
  }, {
981
- label: isUBB ? ( localize(6591, "Cost (Credits per 1M Tokens)")) : ( localize(6592, "Pricing")),
1074
+ label: isUBB ? ( localize(7089, "Cost (Credits per 1M Tokens)")) : ( localize(7090, "Pricing")),
982
1075
  tooltip: "",
983
1076
  weight: isUBB ? 0.24 : 0.15,
984
1077
  minimumWidth: isUBB ? 240 : 200,
@@ -1016,55 +1109,74 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1016
1109
  accessibilityProvider: {
1017
1110
  getAriaLabel: e => {
1018
1111
  if (isLanguageModelProviderEntry(e)) {
1019
- return e.hidden ? ( localize(6593, "{0} Models (hidden)", e.vendorEntry.group.name)) : ( localize(6594, "{0} Models", e.vendorEntry.group.name));
1112
+ return e.hidden ? ( localize(7091, "{0} Models (hidden)", e.vendorEntry.group.name)) : ( localize(7092, "{0} Models", e.vendorEntry.group.name));
1020
1113
  } else if (isLanguageModelGroupEntry(e)) {
1021
- return e.id === "visible" ? ( localize(6595, "Visible Models")) : ( localize(6596, "Hidden Models"));
1114
+ return e.id === "visible" ? ( localize(7093, "Visible Models")) : ( localize(7094, "Hidden Models"));
1022
1115
  } else if (isStatusEntry(e)) {
1023
- return localize(6597, "Status: {0}", e.message);
1116
+ return localize(7095, "Status: {0}", e.message);
1024
1117
  }
1025
1118
  const ariaLabels = [];
1026
1119
  ariaLabels.push(e.model.hidden ? ( localize(
1027
- 6598,
1120
+ 7096,
1028
1121
  "{0} from {1} (hidden)",
1029
1122
  e.model.metadata.name,
1030
1123
  e.model.provider.vendor.displayName
1031
1124
  )) : ( localize(
1032
- 6599,
1125
+ 7097,
1033
1126
  "{0} from {1}",
1034
1127
  e.model.metadata.name,
1035
1128
  e.model.provider.vendor.displayName
1036
1129
  )));
1037
1130
  if (e.model.metadata.maxInputTokens || e.model.metadata.maxOutputTokens) {
1038
1131
  const totalTokens = (e.model.metadata.maxInputTokens ?? 0) + (e.model.metadata.maxOutputTokens ?? 0);
1039
- ariaLabels.push(( localize(6600, "Context size: {0} tokens", formatTokenCount(totalTokens))));
1132
+ ariaLabels.push(( localize(7098, "Context size: {0} tokens", formatTokenCount(totalTokens))));
1040
1133
  }
1041
1134
  if (e.model.metadata.capabilities) {
1042
1135
  ariaLabels.push(( localize(
1043
- 6601,
1136
+ 7099,
1044
1137
  "Capabilities: {0}",
1045
1138
  ( Object.keys(e.model.metadata.capabilities)).join(", ")
1046
1139
  )));
1047
1140
  }
1048
1141
  const pricingText = e.model.metadata.pricing ?? "-";
1049
1142
  if (pricingText !== "-") {
1050
- ariaLabels.push(( localize(6602, "Pricing: {0}", pricingText)));
1143
+ ariaLabels.push(( localize(7100, "Pricing: {0}", pricingText)));
1051
1144
  }
1052
1145
  if (e.model.metadata.inputCost !== undefined) {
1053
- ariaLabels.push(e.model.metadata.inputCost === 1 ? ( localize(6603, "Input cost: {0} credit per 1M tokens", e.model.metadata.inputCost)) : ( localize(6604, "Input cost: {0} credits per 1M tokens", e.model.metadata.inputCost)));
1146
+ ariaLabels.push(e.model.metadata.inputCost === 1 ? ( localize(7101, "Input cost: {0} credit per 1M tokens", e.model.metadata.inputCost)) : ( localize(7102, "Input cost: {0} credits per 1M tokens", e.model.metadata.inputCost)));
1054
1147
  }
1055
1148
  if (e.model.metadata.cacheCost !== undefined) {
1056
- ariaLabels.push(e.model.metadata.cacheCost === 1 ? ( localize(6605, "Cache cost: {0} credit per 1M tokens", e.model.metadata.cacheCost)) : ( localize(6606, "Cache cost: {0} credits per 1M tokens", e.model.metadata.cacheCost)));
1149
+ ariaLabels.push(e.model.metadata.cacheCost === 1 ? ( localize(
1150
+ 7103,
1151
+ "Cache read cost: {0} credit per 1M tokens",
1152
+ e.model.metadata.cacheCost
1153
+ )) : ( localize(
1154
+ 7104,
1155
+ "Cache read cost: {0} credits per 1M tokens",
1156
+ e.model.metadata.cacheCost
1157
+ )));
1158
+ }
1159
+ if (e.model.metadata.cacheWriteCost !== undefined) {
1160
+ ariaLabels.push(e.model.metadata.cacheWriteCost === 1 ? ( localize(
1161
+ 7105,
1162
+ "Cache write cost: {0} credit per 1M tokens",
1163
+ e.model.metadata.cacheWriteCost
1164
+ )) : ( localize(
1165
+ 7106,
1166
+ "Cache write cost: {0} credits per 1M tokens",
1167
+ e.model.metadata.cacheWriteCost
1168
+ )));
1057
1169
  }
1058
1170
  if (e.model.metadata.outputCost !== undefined) {
1059
- ariaLabels.push(e.model.metadata.outputCost === 1 ? ( localize(6607, "Output cost: {0} credit per 1M tokens", e.model.metadata.outputCost)) : ( localize(
1060
- 6608,
1171
+ ariaLabels.push(e.model.metadata.outputCost === 1 ? ( localize(7107, "Output cost: {0} credit per 1M tokens", e.model.metadata.outputCost)) : ( localize(
1172
+ 7108,
1061
1173
  "Output cost: {0} credits per 1M tokens",
1062
1174
  e.model.metadata.outputCost
1063
1175
  )));
1064
1176
  }
1065
1177
  return ariaLabels.join(". ");
1066
1178
  },
1067
- getWidgetAriaLabel: () => ( localize(6609, "Language Models"))
1179
+ getWidgetAriaLabel: () => ( localize(7109, "Language Models"))
1068
1180
  },
1069
1181
  multipleSelectionSupport: true,
1070
1182
  setRowLineHeight: false,
@@ -1090,7 +1202,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1090
1202
  const allPinned = pinnableEntries.every(e => this.languageModelsService.isModelPinned(e.model.identifier));
1091
1203
  actions.push(toAction({
1092
1204
  id: allPinned ? "unpinModels" : "pinModels",
1093
- label: allPinned ? ( localize(6582, "Unpin Model")) : ( localize(6583, "Pin Model")),
1205
+ label: allPinned ? ( localize(7079, "Unpin Model")) : ( localize(7080, "Pin Model")),
1094
1206
  class: ThemeIcon.asClassName(allPinned ? Codicon.pinned : Codicon.pin),
1095
1207
  run: () => {
1096
1208
  for (const entry of pinnableEntries) {
@@ -1106,7 +1218,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1106
1218
  const allHidden = selectedModelEntries.every(e => e.model.hidden);
1107
1219
  actions.push(toAction({
1108
1220
  id: allHidden ? "showModels" : "hideModels",
1109
- label: allHidden ? (selectedModelEntries.length === 1 ? ( localize(6559, "Show Model")) : ( localize(6610, "Show Models"))) : (selectedModelEntries.length === 1 ? ( localize(6560, "Hide Model")) : ( localize(6611, "Hide Models"))),
1221
+ label: allHidden ? (selectedModelEntries.length === 1 ? ( localize(7051, "Show Model")) : ( localize(7110, "Show Models"))) : (selectedModelEntries.length === 1 ? ( localize(7052, "Hide Model")) : ( localize(7111, "Hide Models"))),
1110
1222
  class: ThemeIcon.asClassName(allHidden ? Codicon.eyeClosed : Codicon.eye),
1111
1223
  run: () => this.viewModel.setModelsHidden(selectedModelEntries, !allHidden)
1112
1224
  }));
@@ -1132,7 +1244,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1132
1244
  configureVendor = entry.vendorEntry.vendor;
1133
1245
  actions.push(toAction({
1134
1246
  id: entry.hidden ? "showGroup" : "hideGroup",
1135
- label: entry.hidden ? ( localize(6557, "Show All Models")) : ( localize(6558, "Hide All Models")),
1247
+ label: entry.hidden ? ( localize(7049, "Show All Models")) : ( localize(7050, "Hide All Models")),
1136
1248
  class: ThemeIcon.asClassName(entry.hidden ? Codicon.eyeClosed : Codicon.eye),
1137
1249
  run: () => this.viewModel.toggleGroupHidden(entry)
1138
1250
  }));
@@ -1141,7 +1253,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1141
1253
  if (configureGroup && configureVendor) {
1142
1254
  const groupActions = configureVendor.managementCommand ? [toAction({
1143
1255
  id: "manageVendor",
1144
- label: ( localize(6580, "Manage {0}...", configureGroup)),
1256
+ label: ( localize(7077, "Manage {0}...", configureGroup)),
1145
1257
  run: async () => {
1146
1258
  await this.commandService.executeCommand(configureVendor.managementCommand, configureVendor.vendor);
1147
1259
  await this.viewModel.refresh();
@@ -1215,28 +1327,21 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1215
1327
  const entitlement = this.chatEntitlementService.entitlement;
1216
1328
  const isManagedEntitlement = entitlement === ChatEntitlement.Business || entitlement === ChatEntitlement.Enterprise;
1217
1329
  const supportsAddingModels = this.chatEntitlementService.isInternal || this.chatEntitlementService.clientByokEnabled || (entitlement !== ChatEntitlement.Unknown && entitlement !== ChatEntitlement.Available && !isManagedEntitlement);
1218
- this.addButton.enabled = supportsAddingModels && configurableVendors.length > 0;
1219
- this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(6612, "Adding models is managed by your organization")) : "");
1220
- const customEndpointVendor = configurableVendors.find(v => v.vendor === "customendpoint");
1221
- const customOaiVendor = configurableVendors.find(v => v.vendor === "customoai");
1222
- const sortedVendors = configurableVendors.filter(v => v.vendor !== "customendpoint" && v.vendor !== "customoai").sort((a, b) => a.displayName.localeCompare(b.displayName));
1223
- if (customOaiVendor) {
1224
- sortedVendors.push(customOaiVendor);
1225
- }
1226
- const toVendorAction = vendor => toAction({
1227
- id: `enable-${vendor.vendor}`,
1228
- label: vendor.displayName,
1229
- run: async () => {
1230
- await this.addModelsForVendor(vendor);
1231
- }
1232
- });
1233
- this.dropdownActions = ( sortedVendors.map(toVendorAction));
1234
- if (customEndpointVendor) {
1235
- if (this.dropdownActions.length > 0) {
1236
- this.dropdownActions.push(( new Separator()));
1237
- }
1238
- this.dropdownActions.push(toVendorAction(customEndpointVendor));
1330
+ this.dropdownActions = buildAddModelsDropdownActions(
1331
+ configurableVendors,
1332
+ supportsAddingModels,
1333
+ vendor => this.addModelsForVendor(vendor)
1334
+ );
1335
+ this.addButton.enabled = supportsAddingModels && this.dropdownActions.length > 0;
1336
+ this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(7112, "Adding models is managed by your organization")) : "");
1337
+ }
1338
+ async openLanguageModelProviderExtensionsSearch() {
1339
+ const activeModalEditorPart = this.editorGroupsService.activeModalEditorPart;
1340
+ const isInModalEditor = !!activeModalEditorPart && this.editorGroupsService.getPart(this.editorGroupsService.activeGroup) === activeModalEditorPart;
1341
+ if (isInModalEditor) {
1342
+ await this.commandService.executeCommand(CLOSE_MODAL_EDITOR_COMMAND_ID);
1239
1343
  }
1344
+ await this.extensionsWorkbenchService.openSearch(`tag:"${LANGUAGE_MODEL_CHAT_PROVIDER_EXTENSION_TAG}"`, false);
1240
1345
  }
1241
1346
  filterModels() {
1242
1347
  this.delayedFiltering.trigger(() => {
@@ -1285,6 +1390,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1285
1390
  this._onDidChangeItemCount.fire(this.itemCount);
1286
1391
  }
1287
1392
  };
1288
- ChatModelsWidget = ChatModelsWidget_1 = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, IInstantiationService)), ( __param(2, IExtensionService)), ( __param(3, IContextMenuService)), ( __param(4, IChatEntitlementService)), ( __param(5, IEditorProgressService)), ( __param(6, ICommandService)), ( __param(7, IContextKeyService)), ( __param(8, IDialogService))], ChatModelsWidget));
1393
+ ChatModelsWidget = ChatModelsWidget_1 = ( __decorate([( __param(0, ILanguageModelsService)), ( __param(1, IInstantiationService)), ( __param(2, IExtensionService)), ( __param(3, IContextMenuService)), ( __param(4, IChatEntitlementService)), ( __param(5, IEditorProgressService)), ( __param(6, ICommandService)), ( __param(7, IEditorGroupsService)), ( __param(8, IContextKeyService)), ( __param(9, IDialogService)), ( __param(10, IExtensionsWorkbenchService)), ( __param(11, IWorkbenchEnvironmentService))], ChatModelsWidget));
1289
1394
 
1290
- export { ChatModelsWidget };
1395
+ export { ChatModelsWidget, buildAddModelsDropdownActions };