@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/index.js +19 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
  9. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
  15. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
  18. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
  21. package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
  22. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
  23. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
  24. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
  25. package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
  29. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  35. package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
  36. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  37. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
  38. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
  39. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
  40. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  41. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  42. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
  43. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
  44. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
  45. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
  46. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  47. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  48. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  49. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  50. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  51. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
  52. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
  53. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
  54. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
  55. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
  56. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
  57. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
  58. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
  59. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
  60. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
  61. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  62. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
  63. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
  64. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +21 -13
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
  128. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
  130. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
  133. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
  134. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
  136. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  139. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
  146. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
  152. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  216. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  218. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  219. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  220. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
  222. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
  223. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
  224. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
  226. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  228. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
  230. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
  232. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
  236. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  247. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  248. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
  249. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  250. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  253. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
  254. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  255. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
  257. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
  263. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  269. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
  278. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
  279. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
  285. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  291. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +3 -0
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
  378. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
  379. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
  380. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
  381. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
  396. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
  397. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
  398. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
  399. package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
  400. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
  401. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
  402. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
  403. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
@@ -38,6 +38,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
38
38
  import { CONTEXT_MODELS_SEARCH_FOCUS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
39
39
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
40
40
  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';
41
42
  import { AnchorAlignment } from '@codingame/monaco-vscode-api/vscode/vs/base/common/layout';
42
43
 
43
44
  var ModelNameColumnRenderer_1, CombinedCostColumnRenderer_1, TokenLimitsColumnRenderer_1, ActionsColumnRenderer_1, ChatModelsWidget_1;
@@ -48,7 +49,7 @@ const VENDOR_ROW_HEIGHT = 30;
48
49
  const MODEL_ROW_HEIGHT = 26;
49
50
  class ModelsFilterAction extends Action {
50
51
  constructor() {
51
- super("workbench.models.filter", ( localize(6469, "Filter")), ThemeIcon.asClassName(Codicon.filter));
52
+ super("workbench.models.filter", ( localize(6549, "Filter")), ThemeIcon.asClassName(Codicon.filter));
52
53
  }
53
54
  async run() {}
54
55
  }
@@ -99,7 +100,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
99
100
  return {
100
101
  id: `provider-${vendor}`,
101
102
  label: displayName,
102
- tooltip: ( localize(6470, "Filter by {0}", displayName)),
103
+ tooltip: ( localize(6550, "Filter by {0}", displayName)),
103
104
  class: undefined,
104
105
  enabled: true,
105
106
  checked: isChecked,
@@ -116,7 +117,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
116
117
  return {
117
118
  id: `capability-${capability}`,
118
119
  label,
119
- tooltip: ( localize(6471, "Filter by {0}", label)),
120
+ tooltip: ( localize(6551, "Filter by {0}", label)),
120
121
  class: undefined,
121
122
  enabled: true,
122
123
  checked: isChecked,
@@ -132,7 +133,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
132
133
  }
133
134
  getActions() {
134
135
  const actions = [];
135
- actions.push(this.createCapabilityAction("tools", ( localize(6472, "Tools"))), this.createCapabilityAction("vision", ( localize(6473, "Vision"))), this.createCapabilityAction("agent", ( localize(6474, "Agent Mode"))));
136
+ actions.push(this.createCapabilityAction("tools", ( localize(6552, "Tools"))), this.createCapabilityAction("vision", ( localize(6553, "Vision"))), this.createCapabilityAction("agent", ( localize(6554, "Agent Mode"))));
136
137
  const configuredVendors = this.viewModel.getConfiguredVendors();
137
138
  if (configuredVendors.length > 1) {
138
139
  actions.push(( new Separator()));
@@ -159,9 +160,12 @@ class ModelsTableColumnRenderer {
159
160
  const isGroup = isLanguageModelGroupEntry(element);
160
161
  const isStatus = isStatusEntry(element);
161
162
  templateData.container.classList.add("models-table-column");
162
- templateData.container.parentElement.classList.toggle("models-vendor-row", isVendor || isGroup);
163
- templateData.container.parentElement.classList.toggle("models-model-row", !isVendor && !isGroup);
164
- templateData.container.parentElement.classList.toggle("models-status-row", isStatus);
163
+ const row = templateData.container.parentElement;
164
+ row.classList.toggle("models-vendor-row", isVendor || isGroup);
165
+ row.classList.toggle("models-model-row", !isVendor && !isGroup);
166
+ row.classList.toggle("models-status-row", isStatus);
167
+ const isHidden = (isVendor && element.hidden) || (!isVendor && !isGroup && !isStatus && element.model?.hidden);
168
+ row.classList.toggle("models-row-hidden", !!isHidden);
165
169
  if (isVendor) {
166
170
  this.renderVendorElement(element, index, templateData);
167
171
  } else if (isGroup) {
@@ -206,6 +210,7 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
206
210
  }
207
211
  renderVendorElement(entry, index, templateData) {
208
212
  this.renderCollapsableElement(entry, templateData);
213
+ this.renderGroupVisibilityElement(entry, templateData);
209
214
  }
210
215
  renderGroupElement(entry, index, templateData) {
211
216
  this.renderCollapsableElement(entry, templateData);
@@ -214,7 +219,7 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
214
219
  if (templateData.listRowElement) {
215
220
  templateData.listRowElement.setAttribute("aria-expanded", entry.collapsed ? "false" : "true");
216
221
  }
217
- const label = entry.collapsed ? ( localize(6475, "Expand")) : ( localize(6476, "Collapse"));
222
+ const label = entry.collapsed ? ( localize(6555, "Expand")) : ( localize(6556, "Collapse"));
218
223
  const toggleCollapseAction = {
219
224
  id: "toggleCollapse",
220
225
  label,
@@ -228,7 +233,37 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
228
233
  label: false
229
234
  });
230
235
  }
231
- renderModelElement(entry, index, templateData) {}
236
+ renderModelElement(entry, index, templateData) {
237
+ this.renderModelVisibilityElement(entry, templateData);
238
+ }
239
+ renderGroupVisibilityElement(entry, templateData) {
240
+ const hidden = entry.hidden;
241
+ templateData.actionBar.push({
242
+ 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")),
245
+ class: `model-visibility-toggle ${ThemeIcon.asClassName(hidden ? Codicon.eyeClosed : Codicon.eye)}`,
246
+ enabled: true,
247
+ run: () => this.viewModel.toggleGroupHidden(entry)
248
+ }, {
249
+ icon: true,
250
+ label: false
251
+ });
252
+ }
253
+ renderModelVisibilityElement(entry, templateData) {
254
+ const hidden = entry.model.hidden;
255
+ templateData.actionBar.push({
256
+ 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")),
259
+ class: `model-visibility-toggle ${ThemeIcon.asClassName(hidden ? Codicon.eyeClosed : Codicon.eye)}`,
260
+ enabled: true,
261
+ run: () => this.viewModel.toggleModelHidden(entry)
262
+ }, {
263
+ icon: true,
264
+ label: false
265
+ });
266
+ }
232
267
  }
233
268
  let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableColumnRenderer {
234
269
  static {
@@ -249,20 +284,17 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
249
284
  const statusIcon = append(nameContainer, $(".status-icon"));
250
285
  const nameLabel = disposables.add(( new HighlightedLabel(append(nameContainer, $(".model-name")))));
251
286
  const modelStatusIcon = append(nameContainer, $(".model-status-icon"));
252
- const actionBar = disposables.add(( new ActionBar(append(nameContainer, $(".model-name-actions")))));
253
287
  return {
254
288
  container,
255
289
  statusIcon,
256
290
  nameLabel,
257
291
  modelStatusIcon,
258
- actionBar,
259
292
  disposables,
260
293
  elementDisposables
261
294
  };
262
295
  }
263
296
  renderElement(entry, index, templateData) {
264
297
  clearNode(templateData.modelStatusIcon);
265
- templateData.actionBar.clear();
266
298
  templateData.nameLabel.element.classList.remove("error-status", "warning-status", "info-status");
267
299
  super.renderElement(entry, index, templateData);
268
300
  }
@@ -293,7 +325,7 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
293
325
  markdown.appendMarkdown(`**${entry.model.metadata.name}**`);
294
326
  if (entry.model.metadata.id !== entry.model.metadata.version) {
295
327
  markdown.appendMarkdown(
296
- `&nbsp;<span style="background-color:#8080802B;">&nbsp;_${entry.model.metadata.id}@${entry.model.metadata.version}_&nbsp;</span>`
328
+ `&nbsp;<span style="background-color:#8080802B;">&nbsp;_${entry.model.metadata.id}&#64;${entry.model.metadata.version}_&nbsp;</span>`
297
329
  );
298
330
  } else {
299
331
  markdown.appendMarkdown(
@@ -356,8 +388,8 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
356
388
  const elementDisposables = ( new DisposableStore());
357
389
  const grid = append(container, $(".model-cost-grid"));
358
390
  const inputCell = append(grid, $("span.model-cost-cell"));
359
- const outputCell = append(grid, $("span.model-cost-cell"));
360
391
  const cacheCell = append(grid, $("span.model-cost-cell"));
392
+ const outputCell = append(grid, $("span.model-cost-cell"));
361
393
  return {
362
394
  container,
363
395
  inputCell,
@@ -369,8 +401,8 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
369
401
  }
370
402
  renderElement(entry, index, templateData) {
371
403
  templateData.inputCell.textContent = "";
372
- templateData.outputCell.textContent = "";
373
404
  templateData.cacheCell.textContent = "";
405
+ templateData.outputCell.textContent = "";
374
406
  super.renderElement(entry, index, templateData);
375
407
  }
376
408
  renderGroupElement(_element, _index, _templateData) {}
@@ -383,18 +415,18 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
383
415
  } = entry.model.metadata;
384
416
  const hasCost = inputCost !== undefined || outputCost !== undefined || cacheCost !== undefined;
385
417
  if (hasCost) {
386
- templateData.inputCell.textContent = inputCost !== undefined ? ( localize(6477, "In: {0}", inputCost)) : "";
387
- templateData.outputCell.textContent = outputCost !== undefined ? ( localize(6478, "Out: {0}", outputCost)) : "";
388
- templateData.cacheCell.textContent = cacheCost !== undefined ? ( localize(6479, "Cache: {0}", cacheCost)) : "";
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)) : "";
389
421
  const parts = [];
390
422
  if (inputCost !== undefined) {
391
- parts.push(inputCost === 1 ? ( localize(6480, "Input: {0} credit per 1M tokens", inputCost)) : ( localize(6481, "Input: {0} credits per 1M tokens", inputCost)));
392
- }
393
- if (outputCost !== undefined) {
394
- parts.push(outputCost === 1 ? ( localize(6482, "Output: {0} credit per 1M tokens", outputCost)) : ( localize(6483, "Output: {0} credits per 1M tokens", outputCost)));
423
+ parts.push(inputCost === 1 ? ( localize(6564, "Input: {0} credit per 1M tokens", inputCost)) : ( localize(6565, "Input: {0} credits per 1M tokens", inputCost)));
395
424
  }
396
425
  if (cacheCost !== undefined) {
397
- parts.push(cacheCost === 1 ? ( localize(6484, "Cache: {0} credit per 1M tokens", cacheCost)) : ( localize(6485, "Cache: {0} credits per 1M tokens", cacheCost)));
426
+ parts.push(cacheCost === 1 ? ( localize(6566, "Cache: {0} credit per 1M tokens", cacheCost)) : ( localize(6567, "Cache: {0} credits per 1M tokens", cacheCost)));
427
+ }
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)));
398
430
  }
399
431
  templateData.elementDisposables.add(
400
432
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
@@ -411,7 +443,7 @@ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends Models
411
443
  templateData.inputCell.textContent = pricingText;
412
444
  templateData.elementDisposables.add(
413
445
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
414
- content: ( localize(6486, "Pricing: {0}", pricingText)),
446
+ content: ( localize(6570, "Pricing: {0}", pricingText)),
415
447
  appearance: {
416
448
  compact: true,
417
449
  skipFadeInAnimation: true
@@ -465,7 +497,7 @@ let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTa
465
497
  const tokenDiv = append(templateData.tokenLimitsElement, $(".token-limit-item"));
466
498
  const tokenText = append(tokenDiv, $("span"));
467
499
  tokenText.textContent = formatTokenCount(totalTokens);
468
- markdown.appendMarkdown(`${( localize(6487, "Context Size"))}: `);
500
+ markdown.appendMarkdown(`${( localize(6571, "Context Size"))}: `);
469
501
  markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`);
470
502
  }
471
503
  templateData.elementDisposables.add(
@@ -520,7 +552,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
520
552
  templateData.elementDisposables.add(this.createCapabilityButton(
521
553
  templateData.metadataRow,
522
554
  capabilityMatches?.includes("toolCalling") || false,
523
- ( localize(6488, "Tools")),
555
+ ( localize(6572, "Tools")),
524
556
  "tools"
525
557
  ));
526
558
  }
@@ -528,7 +560,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
528
560
  templateData.elementDisposables.add(this.createCapabilityButton(
529
561
  templateData.metadataRow,
530
562
  capabilityMatches?.includes("vision") || false,
531
- ( localize(6489, "Vision")),
563
+ ( localize(6573, "Vision")),
532
564
  "vision"
533
565
  ));
534
566
  }
@@ -546,6 +578,57 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
546
578
  return disposables;
547
579
  }
548
580
  }
581
+ function createProviderGroupActions(viewModel, vendor, groupName, languageModelsService, dialogService) {
582
+ const configuration = vendor.configuration;
583
+ if (!configuration) {
584
+ return [];
585
+ }
586
+ const actions = [];
587
+ const configurationProperties = configuration.properties;
588
+ actions.push(toAction({
589
+ id: "goToSettingsAction",
590
+ label: ( localize(6574, "Open in Language Models (JSON)")),
591
+ run: () => languageModelsService.openLanguageModelsProviderGroupSettings(vendor.vendor, groupName)
592
+ }));
593
+ actions.push(( new Separator()));
594
+ actions.push(toAction({
595
+ id: "renameGroupAction",
596
+ label: ( localize(6575, "Rename Group")),
597
+ run: () => languageModelsService.renameLanguageModelsProviderGroup(vendor.vendor, groupName)
598
+ }));
599
+ if (configurationProperties?.apiKey) {
600
+ actions.push(toAction({
601
+ id: "updateApiKeyAction",
602
+ label: ( localize(6576, "Update API Key")),
603
+ run: () => languageModelsService.updateLanguageModelsProviderGroupApiKey(vendor.vendor, groupName)
604
+ }));
605
+ }
606
+ if (configurationProperties?.models?.defaultSnippets?.[0]) {
607
+ actions.push(toAction({
608
+ id: "addModelAction",
609
+ label: ( localize(6577, "Add Model")),
610
+ run: () => languageModelsService.addLanguageModelsProviderGroupModel(vendor.vendor, groupName)
611
+ }));
612
+ }
613
+ actions.push(( new Separator()));
614
+ actions.push(toAction({
615
+ id: "deleteAction",
616
+ label: ( localize(6578, "Delete")),
617
+ class: ThemeIcon.asClassName(Codicon.trash),
618
+ run: async () => {
619
+ const result = await dialogService.confirm({
620
+ type: "info",
621
+ message: ( localize(6579, "Would you like to delete {0}?", groupName))
622
+ });
623
+ if (!result.confirmed) {
624
+ return;
625
+ }
626
+ await languageModelsService.removeLanguageModelsProviderGroup(vendor.vendor, groupName);
627
+ viewModel.refresh();
628
+ }
629
+ }));
630
+ return actions;
631
+ }
549
632
  let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColumnRenderer {
550
633
  static {
551
634
  ActionsColumnRenderer_1 = this;
@@ -601,31 +684,17 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
601
684
  const primaryActions = [];
602
685
  const secondaryActions = [];
603
686
  if (vendorEntry.vendor.configuration) {
604
- secondaryActions.push(toAction({
605
- id: "configureAction",
606
- label: ( localize(6490, "Configure...")),
607
- run: () => this.languageModelsService.configureLanguageModelsProviderGroup(vendorEntry.vendor.vendor, vendorEntry.group.name)
608
- }));
609
- secondaryActions.push(toAction({
610
- id: "deleteAction",
611
- label: ( localize(6491, "Delete")),
612
- class: ThemeIcon.asClassName(Codicon.trash),
613
- run: async () => {
614
- const result = await this.dialogService.confirm({
615
- type: "info",
616
- message: ( localize(6492, "Would you like to delete {0}?", vendorEntry.group.name))
617
- });
618
- if (!result.confirmed) {
619
- return;
620
- }
621
- await this.languageModelsService.removeLanguageModelsProviderGroup(vendorEntry.vendor.vendor, vendorEntry.group.name);
622
- this.viewModel.refresh();
623
- }
624
- }));
687
+ secondaryActions.push(...createProviderGroupActions(
688
+ this.viewModel,
689
+ vendorEntry.vendor,
690
+ vendorEntry.group.name,
691
+ this.languageModelsService,
692
+ this.dialogService
693
+ ));
625
694
  } else if (vendorEntry.vendor.managementCommand) {
626
695
  primaryActions.push(toAction({
627
696
  id: "manageVendor",
628
- label: ( localize(6493, "Manage {0}...", vendorEntry.group.name)),
697
+ label: ( localize(6580, "Manage {0}...", vendorEntry.group.name)),
629
698
  class: ThemeIcon.asClassName(Codicon.gear),
630
699
  run: async () => {
631
700
  await this.commandService.executeCommand(vendorEntry.vendor.managementCommand, vendorEntry.vendor.vendor);
@@ -643,10 +712,11 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
643
712
  }
644
713
  const configActions = this.languageModelsService.getModelConfigurationActions(entry.model.identifier);
645
714
  const secondaryActions = [...configActions];
646
- if (configActions.length > 0 || entry.model.metadata.configurationSchema) {
715
+ const vendor = entry.model.provider.vendor;
716
+ if (!vendor.isDefault && !vendor.managementCommand && (configActions.length > 0 || entry.model.metadata.configurationSchema)) {
647
717
  secondaryActions.push(toAction({
648
718
  id: "configureModel",
649
- label: ( localize(6494, "Configure...")),
719
+ label: ( localize(6581, "Configure...")),
650
720
  run: () => this.languageModelsService.configureModel(entry.model.identifier)
651
721
  }));
652
722
  }
@@ -656,7 +726,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
656
726
  const isPinned = this.languageModelsService.isModelPinned(modelIdentifier);
657
727
  return toAction({
658
728
  id: isPinned ? `unpin.${modelIdentifier}` : `pin.${modelIdentifier}`,
659
- label: isPinned ? ( localize(6495, "Unpin Model")) : ( localize(6496, "Pin Model")),
729
+ label: isPinned ? ( localize(6582, "Unpin Model")) : ( localize(6583, "Pin Model")),
660
730
  class: ThemeIcon.asClassName(isPinned ? Codicon.pinned : Codicon.pin),
661
731
  run: () => {
662
732
  if (isPinned) {
@@ -699,14 +769,6 @@ class ProviderColumnRenderer extends ModelsTableColumnRenderer {
699
769
  templateData.providerElement.textContent = entry.model.provider.vendor.displayName;
700
770
  }
701
771
  }
702
- function formatTokenCount(count) {
703
- if (count >= 1000000) {
704
- return `${(count / 1000000).toFixed(1)}M`;
705
- } else if (count >= 1000) {
706
- return `${(count / 1000).toFixed(0)}K`;
707
- }
708
- return ( count.toString());
709
- }
710
772
  let ChatModelsWidget = class ChatModelsWidget extends Disposable {
711
773
  static {
712
774
  ChatModelsWidget_1 = this;
@@ -722,7 +784,8 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
722
784
  chatEntitlementService,
723
785
  editorProgressService,
724
786
  commandService,
725
- contextKeyService
787
+ contextKeyService,
788
+ dialogService
726
789
  ) {
727
790
  super();
728
791
  this.languageModelsService = languageModelsService;
@@ -733,6 +796,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
733
796
  this.editorProgressService = editorProgressService;
734
797
  this.commandService = commandService;
735
798
  this.contextKeyService = contextKeyService;
799
+ this.dialogService = dialogService;
736
800
  this._onDidChangeItemCount = this._register(( new Emitter()));
737
801
  this.onDidChangeItemCount = this._onDidChangeItemCount.event;
738
802
  this.tableMinWidth = 0;
@@ -748,7 +812,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
748
812
  }
749
813
  create(container) {
750
814
  const searchAndButtonContainer = append(container, $(".models-search-and-button-container"));
751
- const placeholder = ( localize(6497, "Type to search..."));
815
+ const placeholder = ( localize(6584, "Type to search..."));
752
816
  const searchContainer = append(searchAndButtonContainer, $(".models-search-container"));
753
817
  this.searchWidget = this._register(
754
818
  this.instantiationService.createInstance(SuggestEnabledInput, "chatModelsWidget.searchbox", searchContainer, {
@@ -779,8 +843,8 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
779
843
  })
780
844
  );
781
845
  const filterAction = this._register(( new ModelsFilterAction()));
782
- const clearSearchAction = this._register(( new Action("workbench.models.clearSearch", ( localize(6498, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => this.clearSearch())));
783
- const collapseAllAction = this._register(( new Action("workbench.models.collapseAll", ( localize(6499, "Collapse All")), ThemeIcon.asClassName(Codicon.collapseAll), false, () => {
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, () => {
784
848
  this.viewModel.collapseAll();
785
849
  })));
786
850
  collapseAllAction.enabled = ( this.viewModel.viewModelEntries.some(e => isLanguageModelGroupEntry(e) || isLanguageModelProviderEntry(e)));
@@ -813,7 +877,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
813
877
  supportIcons: true
814
878
  };
815
879
  this.addButton = this._register(( new Button(this.addButtonContainer, buttonOptions)));
816
- this.addButton.label = `$(${Codicon.add.id}) ${( localize(6500, "Add Models..."))}`;
880
+ this.addButton.label = `$(${Codicon.add.id}) ${( localize(6587, "Add Models..."))}`;
817
881
  this.addButton.element.classList.add("models-add-model-button");
818
882
  this.updateAddModelsButton();
819
883
  this._register(this.addButton.onDidClick(e => {
@@ -878,14 +942,14 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
878
942
  label: "",
879
943
  tooltip: "",
880
944
  weight: 0.05,
881
- minimumWidth: 40,
882
- maximumWidth: 40,
945
+ minimumWidth: 64,
946
+ maximumWidth: 64,
883
947
  templateId: GutterColumnRenderer.TEMPLATE_ID,
884
948
  project(row) {
885
949
  return row;
886
950
  }
887
951
  }, {
888
- label: ( localize(6501, "Name")),
952
+ label: ( localize(6588, "Name")),
889
953
  tooltip: "",
890
954
  weight: 0.35,
891
955
  minimumWidth: 200,
@@ -896,7 +960,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
896
960
  }];
897
961
  const isUBB = this.chatEntitlementService.quotas.usageBasedBilling === true;
898
962
  columns.push({
899
- label: ( localize(6502, "Context Size")),
963
+ label: ( localize(6589, "Context Size")),
900
964
  tooltip: "",
901
965
  weight: 0.1,
902
966
  minimumWidth: 140,
@@ -905,7 +969,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
905
969
  return row;
906
970
  }
907
971
  }, {
908
- label: ( localize(6503, "Capabilities")),
972
+ label: ( localize(6590, "Capabilities")),
909
973
  tooltip: "",
910
974
  weight: 0.15,
911
975
  minimumWidth: 180,
@@ -914,7 +978,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
914
978
  return row;
915
979
  }
916
980
  }, {
917
- label: isUBB ? ( localize(6504, "Cost (Credits per 1M Tokens)")) : ( localize(6505, "Pricing")),
981
+ label: isUBB ? ( localize(6591, "Cost (Credits per 1M Tokens)")) : ( localize(6592, "Pricing")),
918
982
  tooltip: "",
919
983
  weight: isUBB ? 0.24 : 0.15,
920
984
  minimumWidth: isUBB ? 240 : 200,
@@ -952,50 +1016,55 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
952
1016
  accessibilityProvider: {
953
1017
  getAriaLabel: e => {
954
1018
  if (isLanguageModelProviderEntry(e)) {
955
- return localize(6506, "{0} Models", e.vendorEntry.group.name);
1019
+ return e.hidden ? ( localize(6593, "{0} Models (hidden)", e.vendorEntry.group.name)) : ( localize(6594, "{0} Models", e.vendorEntry.group.name));
956
1020
  } else if (isLanguageModelGroupEntry(e)) {
957
- return e.id === "visible" ? ( localize(6507, "Visible Models")) : ( localize(6508, "Hidden Models"));
1021
+ return e.id === "visible" ? ( localize(6595, "Visible Models")) : ( localize(6596, "Hidden Models"));
958
1022
  } else if (isStatusEntry(e)) {
959
- return localize(6509, "Status: {0}", e.message);
1023
+ return localize(6597, "Status: {0}", e.message);
960
1024
  }
961
1025
  const ariaLabels = [];
962
- ariaLabels.push(( localize(
963
- 6510,
1026
+ ariaLabels.push(e.model.hidden ? ( localize(
1027
+ 6598,
1028
+ "{0} from {1} (hidden)",
1029
+ e.model.metadata.name,
1030
+ e.model.provider.vendor.displayName
1031
+ )) : ( localize(
1032
+ 6599,
964
1033
  "{0} from {1}",
965
1034
  e.model.metadata.name,
966
1035
  e.model.provider.vendor.displayName
967
1036
  )));
968
1037
  if (e.model.metadata.maxInputTokens || e.model.metadata.maxOutputTokens) {
969
1038
  const totalTokens = (e.model.metadata.maxInputTokens ?? 0) + (e.model.metadata.maxOutputTokens ?? 0);
970
- ariaLabels.push(( localize(6511, "Context size: {0} tokens", formatTokenCount(totalTokens))));
1039
+ ariaLabels.push(( localize(6600, "Context size: {0} tokens", formatTokenCount(totalTokens))));
971
1040
  }
972
1041
  if (e.model.metadata.capabilities) {
973
1042
  ariaLabels.push(( localize(
974
- 6512,
1043
+ 6601,
975
1044
  "Capabilities: {0}",
976
1045
  ( Object.keys(e.model.metadata.capabilities)).join(", ")
977
1046
  )));
978
1047
  }
979
1048
  const pricingText = e.model.metadata.pricing ?? "-";
980
1049
  if (pricingText !== "-") {
981
- ariaLabels.push(( localize(6513, "Pricing: {0}", pricingText)));
1050
+ ariaLabels.push(( localize(6602, "Pricing: {0}", pricingText)));
982
1051
  }
983
1052
  if (e.model.metadata.inputCost !== undefined) {
984
- ariaLabels.push(e.model.metadata.inputCost === 1 ? ( localize(6514, "Input cost: {0} credit per 1M tokens", e.model.metadata.inputCost)) : ( localize(6515, "Input cost: {0} credits per 1M tokens", e.model.metadata.inputCost)));
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)));
1054
+ }
1055
+ 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)));
985
1057
  }
986
1058
  if (e.model.metadata.outputCost !== undefined) {
987
- ariaLabels.push(e.model.metadata.outputCost === 1 ? ( localize(6516, "Output cost: {0} credit per 1M tokens", e.model.metadata.outputCost)) : ( localize(
988
- 6517,
1059
+ ariaLabels.push(e.model.metadata.outputCost === 1 ? ( localize(6607, "Output cost: {0} credit per 1M tokens", e.model.metadata.outputCost)) : ( localize(
1060
+ 6608,
989
1061
  "Output cost: {0} credits per 1M tokens",
990
1062
  e.model.metadata.outputCost
991
1063
  )));
992
1064
  }
993
- if (e.model.metadata.cacheCost !== undefined) {
994
- ariaLabels.push(e.model.metadata.cacheCost === 1 ? ( localize(6518, "Cache cost: {0} credit per 1M tokens", e.model.metadata.cacheCost)) : ( localize(6519, "Cache cost: {0} credits per 1M tokens", e.model.metadata.cacheCost)));
995
- }
996
1065
  return ariaLabels.join(". ");
997
1066
  },
998
- getWidgetAriaLabel: () => ( localize(6520, "Language Models"))
1067
+ getWidgetAriaLabel: () => ( localize(6609, "Language Models"))
999
1068
  },
1000
1069
  multipleSelectionSupport: true,
1001
1070
  setRowLineHeight: false,
@@ -1021,7 +1090,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1021
1090
  const allPinned = pinnableEntries.every(e => this.languageModelsService.isModelPinned(e.model.identifier));
1022
1091
  actions.push(toAction({
1023
1092
  id: allPinned ? "unpinModels" : "pinModels",
1024
- label: allPinned ? ( localize(6495, "Unpin Model")) : ( localize(6496, "Pin Model")),
1093
+ label: allPinned ? ( localize(6582, "Unpin Model")) : ( localize(6583, "Pin Model")),
1025
1094
  class: ThemeIcon.asClassName(allPinned ? Codicon.pinned : Codicon.pin),
1026
1095
  run: () => {
1027
1096
  for (const entry of pinnableEntries) {
@@ -1034,6 +1103,13 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1034
1103
  }
1035
1104
  }));
1036
1105
  }
1106
+ const allHidden = selectedModelEntries.every(e => e.model.hidden);
1107
+ actions.push(toAction({
1108
+ 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"))),
1110
+ class: ThemeIcon.asClassName(allHidden ? Codicon.eyeClosed : Codicon.eye),
1111
+ run: () => this.viewModel.setModelsHidden(selectedModelEntries, !allHidden)
1112
+ }));
1037
1113
  if (selectedModelEntries.length === 1) {
1038
1114
  const configActions = this.languageModelsService.getModelConfigurationActions(selectedModelEntries[0].model.identifier);
1039
1115
  if (configActions.length) {
@@ -1054,29 +1130,34 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1054
1130
  if (isLanguageModelProviderEntry(entry)) {
1055
1131
  configureGroup = entry.vendorEntry.group.name;
1056
1132
  configureVendor = entry.vendorEntry.vendor;
1133
+ actions.push(toAction({
1134
+ id: entry.hidden ? "showGroup" : "hideGroup",
1135
+ label: entry.hidden ? ( localize(6557, "Show All Models")) : ( localize(6558, "Hide All Models")),
1136
+ class: ThemeIcon.asClassName(entry.hidden ? Codicon.eyeClosed : Codicon.eye),
1137
+ run: () => this.viewModel.toggleGroupHidden(entry)
1138
+ }));
1057
1139
  }
1058
1140
  }
1059
1141
  if (configureGroup && configureVendor) {
1060
- if (configureVendor.managementCommand || configureVendor.configuration) {
1142
+ const groupActions = configureVendor.managementCommand ? [toAction({
1143
+ id: "manageVendor",
1144
+ label: ( localize(6580, "Manage {0}...", configureGroup)),
1145
+ run: async () => {
1146
+ await this.commandService.executeCommand(configureVendor.managementCommand, configureVendor.vendor);
1147
+ await this.viewModel.refresh();
1148
+ }
1149
+ })] : createProviderGroupActions(
1150
+ this.viewModel,
1151
+ configureVendor,
1152
+ configureGroup,
1153
+ this.languageModelsService,
1154
+ this.dialogService
1155
+ );
1156
+ if (groupActions.length) {
1061
1157
  if (actions.length) {
1062
1158
  actions.push(( new Separator()));
1063
1159
  }
1064
- if (configureVendor.managementCommand) {
1065
- actions.push(toAction({
1066
- id: "configureVendor",
1067
- label: ( localize(6521, "Configure")),
1068
- run: async () => {
1069
- await this.commandService.executeCommand(configureVendor.managementCommand, configureVendor.vendor);
1070
- await this.viewModel.refresh();
1071
- }
1072
- }));
1073
- } else {
1074
- actions.push(toAction({
1075
- id: "configureVendor",
1076
- label: ( localize(6521, "Configure")),
1077
- run: () => this.languageModelsService.configureLanguageModelsProviderGroup(configureVendor.vendor, configureGroup)
1078
- }));
1079
- }
1160
+ actions.push(...groupActions);
1080
1161
  }
1081
1162
  }
1082
1163
  if (actions.length > 0) {
@@ -1135,7 +1216,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1135
1216
  const isManagedEntitlement = entitlement === ChatEntitlement.Business || entitlement === ChatEntitlement.Enterprise;
1136
1217
  const supportsAddingModels = this.chatEntitlementService.isInternal || this.chatEntitlementService.clientByokEnabled || (entitlement !== ChatEntitlement.Unknown && entitlement !== ChatEntitlement.Available && !isManagedEntitlement);
1137
1218
  this.addButton.enabled = supportsAddingModels && configurableVendors.length > 0;
1138
- this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(6522, "Adding models is managed by your organization")) : "");
1219
+ this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(6612, "Adding models is managed by your organization")) : "");
1139
1220
  const customEndpointVendor = configurableVendors.find(v => v.vendor === "customendpoint");
1140
1221
  const customOaiVendor = configurableVendors.find(v => v.vendor === "customoai");
1141
1222
  const sortedVendors = configurableVendors.filter(v => v.vendor !== "customendpoint" && v.vendor !== "customoai").sort((a, b) => a.displayName.localeCompare(b.displayName));
@@ -1204,6 +1285,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1204
1285
  this._onDidChangeItemCount.fire(this.itemCount);
1205
1286
  }
1206
1287
  };
1207
- 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))], ChatModelsWidget));
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));
1208
1289
 
1209
1290
  export { ChatModelsWidget };