@codingame/monaco-vscode-chat-service-override 31.0.1 → 32.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 (341) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +21 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
  5. package/vscode/src/vs/base/common/defaultAccount.js +12 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
  10. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
  11. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
  14. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
  17. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  18. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
  19. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
  21. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
  22. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
  23. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
  24. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
  25. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
  29. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  30. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  31. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
  32. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
  33. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
  34. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
  35. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
  36. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
  113. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
  116. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  188. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  218. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  219. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
  221. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
  222. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
  223. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
  229. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
  231. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
  232. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
  248. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
  249. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
  251. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
  252. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
  253. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
  255. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  256. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
  257. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
  258. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
  259. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
  270. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
  274. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
  277. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
  278. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
  279. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
  280. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
  281. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
  282. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
  283. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  284. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
  311. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
  312. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
  313. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
  314. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
  315. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
  316. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
  317. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
  318. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
  321. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
  322. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
  323. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
  324. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
  325. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
  326. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
  327. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
@@ -4,7 +4,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
4
4
  import * as chatModelsWidget from './media/chatModelsWidget.css';
5
5
  import { DisposableStore, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
- import { $ as $$1, append, clearNode, getTotalWidth, isMouseEvent, Dimension } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
7
+ import { $ as $$1, append, clearNode, getTotalWidth, Dimension } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
8
8
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
9
9
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
10
10
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
@@ -16,10 +16,10 @@ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/h
16
16
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
17
17
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
18
18
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
19
- import { Action, Separator, SubmenuAction, toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
19
+ import { Action, Separator, toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
20
20
  import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
21
21
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
22
- import { ChatModelGroup, isLanguageModelProviderEntry, isLanguageModelGroupEntry, isStatusEntry, ChatModelsViewModel, SEARCH_SUGGESTIONS } from './chatModelsViewModel.js';
22
+ import { isLanguageModelProviderEntry, isLanguageModelGroupEntry, isStatusEntry, ChatModelsViewModel, SEARCH_SUGGESTIONS } from './chatModelsViewModel.js';
23
23
  import { HighlightedLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/highlightedlabel/highlightedLabel';
24
24
  import { SuggestEnabledInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput';
25
25
  import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
@@ -38,7 +38,7 @@ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/
38
38
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
39
39
  import { AnchorAlignment } from '@codingame/monaco-vscode-api/vscode/vs/base/common/layout';
40
40
 
41
- var ModelNameColumnRenderer_1, MultiplierColumnRenderer_1, TokenLimitsColumnRenderer_1, ActionsColumnRenderer_1, ChatModelsWidget_1;
41
+ var ModelNameColumnRenderer_1, CombinedCostColumnRenderer_1, TokenLimitsColumnRenderer_1, ActionsColumnRenderer_1, ChatModelsWidget_1;
42
42
  registerCss(chatModelsWidget);
43
43
  const $ = $$1;
44
44
  const HEADER_HEIGHT = 30;
@@ -46,7 +46,7 @@ const VENDOR_ROW_HEIGHT = 30;
46
46
  const MODEL_ROW_HEIGHT = 26;
47
47
  class ModelsFilterAction extends Action {
48
48
  constructor() {
49
- super("workbench.models.filter", ( localize(6164, "Filter")), ThemeIcon.asClassName(Codicon.filter));
49
+ super("workbench.models.filter", ( localize(6398, "Filter")), ThemeIcon.asClassName(Codicon.filter));
50
50
  }
51
51
  async run() {}
52
52
  }
@@ -90,19 +90,6 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
90
90
  this.search = search;
91
91
  this.viewModel = viewModel;
92
92
  }
93
- createGroupByAction(grouping, label) {
94
- return {
95
- id: `groupBy.${grouping}`,
96
- label,
97
- class: undefined,
98
- enabled: true,
99
- tooltip: ( localize(6165, "Group by {0}", label)),
100
- checked: this.viewModel.groupBy === grouping,
101
- run: () => {
102
- this.viewModel.groupBy = grouping;
103
- }
104
- };
105
- }
106
93
  createProviderAction(vendor, displayName) {
107
94
  const query = `@provider:"${displayName}"`;
108
95
  const currentQuery = this.search.getValue();
@@ -110,7 +97,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
110
97
  return {
111
98
  id: `provider-${vendor}`,
112
99
  label: displayName,
113
- tooltip: ( localize(6166, "Filter by {0}", displayName)),
100
+ tooltip: ( localize(6399, "Filter by {0}", displayName)),
114
101
  class: undefined,
115
102
  enabled: true,
116
103
  checked: isChecked,
@@ -127,7 +114,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
127
114
  return {
128
115
  id: `capability-${capability}`,
129
116
  label,
130
- tooltip: ( localize(6167, "Filter by {0}", label)),
117
+ tooltip: ( localize(6400, "Filter by {0}", label)),
131
118
  class: undefined,
132
119
  enabled: true,
133
120
  checked: isChecked,
@@ -136,23 +123,6 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
136
123
  })
137
124
  };
138
125
  }
139
- createVisibleAction(visible, label) {
140
- const query = `@visible:${visible}`;
141
- const currentQuery = this.search.getValue();
142
- const isChecked = currentQuery.includes(query);
143
- return {
144
- id: `visible-${visible}`,
145
- label,
146
- tooltip: ( localize(6168, "Filter by {0}", label)),
147
- class: undefined,
148
- enabled: true,
149
- checked: isChecked,
150
- run: () => this.toggleFilterAndSearch({
151
- query,
152
- excludes: [`@visible:${!visible}`]
153
- })
154
- };
155
- }
156
126
  toggleFilterAndSearch(filter) {
157
127
  const currentQuery = this.search.getValue();
158
128
  const newQuery = toggleFilter(currentQuery, filter);
@@ -160,10 +130,7 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
160
130
  }
161
131
  getActions() {
162
132
  const actions = [];
163
- actions.push(this.createCapabilityAction("tools", ( localize(6169, "Tools"))), this.createCapabilityAction("vision", ( localize(6170, "Vision"))), this.createCapabilityAction("agent", ( localize(6171, "Agent Mode"))));
164
- actions.push(( new Separator()));
165
- actions.push(this.createVisibleAction(true, ( localize(6172, "Visible in Chat Model Picker"))));
166
- actions.push(this.createVisibleAction(false, ( localize(6173, "Hidden in Chat Model Picker"))));
133
+ actions.push(this.createCapabilityAction("tools", ( localize(6401, "Tools"))), this.createCapabilityAction("vision", ( localize(6402, "Vision"))), this.createCapabilityAction("agent", ( localize(6403, "Agent Mode"))));
167
134
  const configuredVendors = this.viewModel.getConfiguredVendors();
168
135
  if (configuredVendors.length > 1) {
169
136
  actions.push(( new Separator()));
@@ -171,11 +138,6 @@ let ModelsSearchFilterDropdownMenuActionViewItem = class ModelsSearchFilterDropd
171
138
  vendor => this.createProviderAction(vendor.vendor.vendor, vendor.group.name)
172
139
  )));
173
140
  }
174
- actions.push(( new Separator()));
175
- const groupByActions = [];
176
- groupByActions.push(this.createGroupByAction(ChatModelGroup.Vendor, ( localize(6174, "Provider"))));
177
- groupByActions.push(this.createGroupByAction(ChatModelGroup.Visibility, ( localize(6175, "Visibility (Chat Model Picker)"))));
178
- actions.push(( new SubmenuAction("groupBy", ( localize(6176, "Group By")), groupByActions)));
179
141
  return actions;
180
142
  }
181
143
  };
@@ -198,10 +160,6 @@ class ModelsTableColumnRenderer {
198
160
  templateData.container.parentElement.classList.toggle("models-vendor-row", isVendor || isGroup);
199
161
  templateData.container.parentElement.classList.toggle("models-model-row", !isVendor && !isGroup);
200
162
  templateData.container.parentElement.classList.toggle("models-status-row", isStatus);
201
- templateData.container.parentElement.classList.toggle(
202
- "model-hidden",
203
- !isVendor && !isGroup && !isStatus && !element.model.visible
204
- );
205
163
  if (isVendor) {
206
164
  this.renderVendorElement(element, index, templateData);
207
165
  } else if (isGroup) {
@@ -254,7 +212,7 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
254
212
  if (templateData.listRowElement) {
255
213
  templateData.listRowElement.setAttribute("aria-expanded", entry.collapsed ? "false" : "true");
256
214
  }
257
- const label = entry.collapsed ? ( localize(6177, "Expand")) : ( localize(6178, "Collapse"));
215
+ const label = entry.collapsed ? ( localize(6404, "Expand")) : ( localize(6405, "Collapse"));
258
216
  const toggleCollapseAction = {
259
217
  id: "toggleCollapse",
260
218
  label,
@@ -268,24 +226,7 @@ class GutterColumnRenderer extends ModelsTableColumnRenderer {
268
226
  label: false
269
227
  });
270
228
  }
271
- renderModelElement(entry, index, templateData) {
272
- const {
273
- model: modelEntry
274
- } = entry;
275
- const isVisible = modelEntry.visible;
276
- const toggleVisibilityAction = toAction({
277
- id: "toggleVisibility",
278
- label: isVisible ? ( localize(6179, "Hide")) : ( localize(6180, "Show")),
279
- class: `model-visibility-toggle ${isVisible ? `${ThemeIcon.asClassName(Codicon.eye)} model-visible` : `${ThemeIcon.asClassName(Codicon.eyeClosed)} model-hidden`}`,
280
- tooltip: isVisible ? ( localize(6181, "Hide in the chat model picker")) : ( localize(6182, "Show in the chat model picker")),
281
- checked: !isVisible,
282
- run: async () => this.viewModel.toggleVisibility(entry)
283
- });
284
- templateData.actionBar.push(toggleVisibilityAction, {
285
- icon: true,
286
- label: false
287
- });
288
- }
229
+ renderModelElement(entry, index, templateData) {}
289
230
  }
290
231
  let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableColumnRenderer {
291
232
  static {
@@ -365,9 +306,6 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
365
306
  markdown.appendMarkdown(`${entry.model.metadata.tooltip}`);
366
307
  markdown.appendText(`\n`);
367
308
  }
368
- if (!entry.model.visible) {
369
- markdown.appendMarkdown(`\n\n${( localize(6183, "This model is hidden in the chat model picker"))}`);
370
- }
371
309
  templateData.elementDisposables.add(
372
310
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
373
311
  content: markdown,
@@ -399,56 +337,90 @@ let ModelNameColumnRenderer = class ModelNameColumnRenderer extends ModelsTableC
399
337
  }
400
338
  };
401
339
  ModelNameColumnRenderer = ModelNameColumnRenderer_1 = ( __decorate([( __param(0, IHoverService))], ModelNameColumnRenderer));
402
- let MultiplierColumnRenderer = class MultiplierColumnRenderer extends ModelsTableColumnRenderer {
340
+ let CombinedCostColumnRenderer = class CombinedCostColumnRenderer extends ModelsTableColumnRenderer {
403
341
  static {
404
- MultiplierColumnRenderer_1 = this;
342
+ CombinedCostColumnRenderer_1 = this;
405
343
  }
406
344
  static {
407
- this.TEMPLATE_ID = "multiplier";
345
+ this.TEMPLATE_ID = "combinedCost";
408
346
  }
409
347
  constructor(hoverService) {
410
348
  super();
411
349
  this.hoverService = hoverService;
412
- this.templateId = MultiplierColumnRenderer_1.TEMPLATE_ID;
350
+ this.templateId = CombinedCostColumnRenderer_1.TEMPLATE_ID;
413
351
  }
414
352
  renderTemplate(container) {
415
353
  const disposables = ( new DisposableStore());
416
354
  const elementDisposables = ( new DisposableStore());
417
- const multiplierElement = append(container, $(".model-multiplier"));
355
+ const grid = append(container, $(".model-cost-grid"));
356
+ const inputCell = append(grid, $("span.model-cost-cell"));
357
+ const outputCell = append(grid, $("span.model-cost-cell"));
358
+ const cacheCell = append(grid, $("span.model-cost-cell"));
418
359
  return {
419
360
  container,
420
- multiplierElement,
361
+ inputCell,
362
+ outputCell,
363
+ cacheCell,
421
364
  disposables,
422
365
  elementDisposables
423
366
  };
424
367
  }
425
368
  renderElement(entry, index, templateData) {
426
- templateData.multiplierElement.textContent = "";
369
+ templateData.inputCell.textContent = "";
370
+ templateData.outputCell.textContent = "";
371
+ templateData.cacheCell.textContent = "";
427
372
  super.renderElement(entry, index, templateData);
428
373
  }
429
- renderGroupElement(element, index, templateData) {}
430
- renderVendorElement(element, index, templateData) {}
374
+ renderGroupElement(_element, _index, _templateData) {}
375
+ renderVendorElement(_element, _index, _templateData) {}
431
376
  renderModelElement(entry, index, templateData) {
432
- const multiplierText = entry.model.metadata.multiplier ?? "-";
433
- templateData.multiplierElement.textContent = multiplierText;
434
- if (multiplierText !== "-") {
377
+ const {
378
+ inputCost,
379
+ outputCost,
380
+ cacheCost
381
+ } = entry.model.metadata;
382
+ const hasCost = inputCost !== undefined || outputCost !== undefined || cacheCost !== undefined;
383
+ if (hasCost) {
384
+ templateData.inputCell.textContent = inputCost !== undefined ? ( localize(6406, "In: {0}", inputCost)) : "";
385
+ templateData.outputCell.textContent = outputCost !== undefined ? ( localize(6407, "Out: {0}", outputCost)) : "";
386
+ templateData.cacheCell.textContent = cacheCost !== undefined ? ( localize(6408, "Cache: {0}", cacheCost)) : "";
387
+ const parts = [];
388
+ if (inputCost !== undefined) {
389
+ parts.push(inputCost === 1 ? ( localize(6409, "Input: {0} credit per 1M tokens", inputCost)) : ( localize(6410, "Input: {0} credits per 1M tokens", inputCost)));
390
+ }
391
+ if (outputCost !== undefined) {
392
+ parts.push(outputCost === 1 ? ( localize(6411, "Output: {0} credit per 1M tokens", outputCost)) : ( localize(6412, "Output: {0} credits per 1M tokens", outputCost)));
393
+ }
394
+ if (cacheCost !== undefined) {
395
+ parts.push(cacheCost === 1 ? ( localize(6413, "Cache: {0} credit per 1M tokens", cacheCost)) : ( localize(6414, "Cache: {0} credits per 1M tokens", cacheCost)));
396
+ }
435
397
  templateData.elementDisposables.add(
436
398
  this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
437
- content: ( localize(
438
- 6184,
439
- "Every chat message counts {0} towards your premium model request quota",
440
- multiplierText
441
- )),
399
+ content: parts.join("\n"),
442
400
  appearance: {
443
401
  compact: true,
444
402
  skipFadeInAnimation: true
445
403
  }
446
404
  }))
447
405
  );
406
+ } else {
407
+ const pricingText = entry.model.metadata.pricing;
408
+ if (pricingText) {
409
+ templateData.inputCell.textContent = pricingText;
410
+ templateData.elementDisposables.add(
411
+ this.hoverService.setupDelayedHoverAtMouse(templateData.container, () => ({
412
+ content: ( localize(6415, "Pricing: {0}", pricingText)),
413
+ appearance: {
414
+ compact: true,
415
+ skipFadeInAnimation: true
416
+ }
417
+ }))
418
+ );
419
+ }
448
420
  }
449
421
  }
450
422
  };
451
- MultiplierColumnRenderer = MultiplierColumnRenderer_1 = ( __decorate([( __param(0, IHoverService))], MultiplierColumnRenderer));
423
+ CombinedCostColumnRenderer = CombinedCostColumnRenderer_1 = ( __decorate([( __param(0, IHoverService))], CombinedCostColumnRenderer));
452
424
  let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTableColumnRenderer {
453
425
  static {
454
426
  TokenLimitsColumnRenderer_1 = this;
@@ -491,7 +463,7 @@ let TokenLimitsColumnRenderer = class TokenLimitsColumnRenderer extends ModelsTa
491
463
  const tokenDiv = append(templateData.tokenLimitsElement, $(".token-limit-item"));
492
464
  const tokenText = append(tokenDiv, $("span"));
493
465
  tokenText.textContent = formatTokenCount(totalTokens);
494
- markdown.appendMarkdown(`${( localize(6185, "Context Size"))}: `);
466
+ markdown.appendMarkdown(`${( localize(6416, "Context Size"))}: `);
495
467
  markdown.appendMarkdown(`${formatTokenCount(totalTokens)}`);
496
468
  }
497
469
  templateData.elementDisposables.add(
@@ -546,7 +518,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
546
518
  templateData.elementDisposables.add(this.createCapabilityButton(
547
519
  templateData.metadataRow,
548
520
  capabilityMatches?.includes("toolCalling") || false,
549
- ( localize(6186, "Tools")),
521
+ ( localize(6417, "Tools")),
550
522
  "tools"
551
523
  ));
552
524
  }
@@ -554,7 +526,7 @@ class CapabilitiesColumnRenderer extends ModelsTableColumnRenderer {
554
526
  templateData.elementDisposables.add(this.createCapabilityButton(
555
527
  templateData.metadataRow,
556
528
  capabilityMatches?.includes("vision") || false,
557
- ( localize(6187, "Vision")),
529
+ ( localize(6418, "Vision")),
558
530
  "vision"
559
531
  ));
560
532
  }
@@ -629,17 +601,17 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
629
601
  if (vendorEntry.vendor.configuration) {
630
602
  secondaryActions.push(toAction({
631
603
  id: "configureAction",
632
- label: ( localize(6188, "Configure...")),
604
+ label: ( localize(6419, "Configure...")),
633
605
  run: () => this.languageModelsService.configureLanguageModelsProviderGroup(vendorEntry.vendor.vendor, vendorEntry.group.name)
634
606
  }));
635
607
  secondaryActions.push(toAction({
636
608
  id: "deleteAction",
637
- label: ( localize(6189, "Delete")),
609
+ label: ( localize(6420, "Delete")),
638
610
  class: ThemeIcon.asClassName(Codicon.trash),
639
611
  run: async () => {
640
612
  const result = await this.dialogService.confirm({
641
613
  type: "info",
642
- message: ( localize(6190, "Would you like to delete {0}?", vendorEntry.group.name))
614
+ message: ( localize(6421, "Would you like to delete {0}?", vendorEntry.group.name))
643
615
  });
644
616
  if (!result.confirmed) {
645
617
  return;
@@ -651,7 +623,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
651
623
  } else if (vendorEntry.vendor.managementCommand) {
652
624
  primaryActions.push(toAction({
653
625
  id: "manageVendor",
654
- label: ( localize(6191, "Manage {0}...", vendorEntry.group.name)),
626
+ label: ( localize(6422, "Manage {0}...", vendorEntry.group.name)),
655
627
  class: ThemeIcon.asClassName(Codicon.gear),
656
628
  run: async () => {
657
629
  await this.commandService.executeCommand(vendorEntry.vendor.managementCommand, vendorEntry.vendor.vendor);
@@ -670,7 +642,7 @@ let ActionsColumnRenderer = class ActionsColumnRenderer extends ModelsTableColum
670
642
  const secondaryActions = [...configActions];
671
643
  secondaryActions.push(toAction({
672
644
  id: "configureModel",
673
- label: ( localize(6192, "Configure...")),
645
+ label: ( localize(6423, "Configure...")),
674
646
  run: () => this.languageModelsService.configureModel(entry.model.identifier)
675
647
  }));
676
648
  templateData.actionBar.setActions([], secondaryActions);
@@ -754,18 +726,14 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
754
726
  }
755
727
  create(container) {
756
728
  const searchAndButtonContainer = append(container, $(".models-search-and-button-container"));
757
- const placeholder = ( localize(6193, "Type to search..."));
729
+ const placeholder = ( localize(6424, "Type to search..."));
758
730
  const searchContainer = append(searchAndButtonContainer, $(".models-search-container"));
759
731
  this.searchWidget = this._register(
760
732
  this.instantiationService.createInstance(SuggestEnabledInput, "chatModelsWidget.searchbox", searchContainer, {
761
733
  triggerCharacters: ["@", ":"],
762
734
  provideResults: query => {
763
735
  const providerSuggestions = ( this.viewModel.getVendors().map(v => `@provider:"${v.displayName}"`));
764
- const allSuggestions = [
765
- ...providerSuggestions,
766
- ...SEARCH_SUGGESTIONS.CAPABILITIES,
767
- ...SEARCH_SUGGESTIONS.VISIBILITY
768
- ];
736
+ const allSuggestions = [...providerSuggestions, ...SEARCH_SUGGESTIONS.CAPABILITIES];
769
737
  if (!query.trim()) {
770
738
  return allSuggestions;
771
739
  }
@@ -775,8 +743,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
775
743
  return providerSuggestions;
776
744
  } else if (lastPart.startsWith("@capability:")) {
777
745
  return SEARCH_SUGGESTIONS.CAPABILITIES;
778
- } else if (lastPart.startsWith("@visible:")) {
779
- return SEARCH_SUGGESTIONS.VISIBILITY;
780
746
  } else if (lastPart.startsWith("@")) {
781
747
  return allSuggestions;
782
748
  }
@@ -791,8 +757,8 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
791
757
  })
792
758
  );
793
759
  const filterAction = this._register(( new ModelsFilterAction()));
794
- const clearSearchAction = this._register(( new Action("workbench.models.clearSearch", ( localize(6194, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => this.clearSearch())));
795
- const collapseAllAction = this._register(( new Action("workbench.models.collapseAll", ( localize(6195, "Collapse All")), ThemeIcon.asClassName(Codicon.collapseAll), false, () => {
760
+ const clearSearchAction = this._register(( new Action("workbench.models.clearSearch", ( localize(6425, "Clear Search")), ThemeIcon.asClassName(preferencesClearInputIcon), false, () => this.clearSearch())));
761
+ const collapseAllAction = this._register(( new Action("workbench.models.collapseAll", ( localize(6426, "Collapse All")), ThemeIcon.asClassName(Codicon.collapseAll), false, () => {
796
762
  this.viewModel.collapseAll();
797
763
  })));
798
764
  collapseAllAction.enabled = ( this.viewModel.viewModelEntries.some(e => isLanguageModelGroupEntry(e) || isLanguageModelProviderEntry(e)));
@@ -825,7 +791,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
825
791
  supportIcons: true
826
792
  };
827
793
  this.addButton = this._register(( new Button(this.addButtonContainer, buttonOptions)));
828
- this.addButton.label = `$(${Codicon.add.id}) ${( localize(6196, "Add Models..."))}`;
794
+ this.addButton.label = `$(${Codicon.add.id}) ${( localize(6427, "Add Models..."))}`;
829
795
  this.addButton.element.classList.add("models-add-model-button");
830
796
  this.updateAddModelsButton();
831
797
  this._register(this.addButton.onDidClick(e => {
@@ -839,9 +805,10 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
839
805
  this.tableContainer = append(container, $(".models-table-container"));
840
806
  this.createTable();
841
807
  this._register(this.viewModel.onDidChangeGrouping(() => this.createTable()));
842
- this._register(
843
- this.chatEntitlementService.onDidChangeEntitlement(() => this.updateAddModelsButton())
844
- );
808
+ this._register(this.chatEntitlementService.onDidChangeEntitlement(() => {
809
+ this.updateAddModelsButton();
810
+ this.createTable();
811
+ }));
845
812
  this._register(
846
813
  this.languageModelsService.onDidChangeLanguageModelVendors(() => this.updateAddModelsButton())
847
814
  );
@@ -856,7 +823,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
856
823
  clearNode(this.tableContainer);
857
824
  const gutterColumnRenderer = this.instantiationService.createInstance(GutterColumnRenderer, this.viewModel);
858
825
  const modelNameColumnRenderer = this.instantiationService.createInstance(ModelNameColumnRenderer);
859
- const costColumnRenderer = this.instantiationService.createInstance(MultiplierColumnRenderer);
826
+ const combinedCostColumnRenderer = this.instantiationService.createInstance(CombinedCostColumnRenderer);
860
827
  const tokenLimitsColumnRenderer = this.instantiationService.createInstance(TokenLimitsColumnRenderer);
861
828
  const capabilitiesColumnRenderer = this.instantiationService.createInstance(CapabilitiesColumnRenderer);
862
829
  const actionsColumnRenderer = this.instantiationService.createInstance(ActionsColumnRenderer, this.viewModel);
@@ -881,7 +848,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
881
848
  return row;
882
849
  }
883
850
  }, {
884
- label: ( localize(6197, "Name")),
851
+ label: ( localize(6428, "Name")),
885
852
  tooltip: "",
886
853
  weight: 0.35,
887
854
  minimumWidth: 200,
@@ -890,20 +857,11 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
890
857
  return row;
891
858
  }
892
859
  }];
893
- if (this.viewModel.groupBy === ChatModelGroup.Visibility) {
894
- columns.push({
895
- label: ( localize(6198, "Provider")),
896
- tooltip: "",
897
- weight: 0.15,
898
- minimumWidth: 100,
899
- templateId: ProviderColumnRenderer.TEMPLATE_ID,
900
- project(row) {
901
- return row;
902
- }
903
- });
904
- }
860
+ const hasAnyCostFields = ( this.viewModel.viewModelEntries.some(
861
+ e => !isLanguageModelProviderEntry(e) && !isLanguageModelGroupEntry(e) && !isStatusEntry(e) && (e.model.metadata.inputCost !== undefined || e.model.metadata.outputCost !== undefined || e.model.metadata.cacheCost !== undefined)
862
+ ));
905
863
  columns.push({
906
- label: ( localize(6199, "Context Size")),
864
+ label: ( localize(6429, "Context Size")),
907
865
  tooltip: "",
908
866
  weight: 0.1,
909
867
  minimumWidth: 140,
@@ -912,20 +870,20 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
912
870
  return row;
913
871
  }
914
872
  }, {
915
- label: ( localize(6200, "Capabilities")),
873
+ label: ( localize(6430, "Capabilities")),
916
874
  tooltip: "",
917
- weight: 0.2,
875
+ weight: 0.15,
918
876
  minimumWidth: 180,
919
877
  templateId: CapabilitiesColumnRenderer.TEMPLATE_ID,
920
878
  project(row) {
921
879
  return row;
922
880
  }
923
881
  }, {
924
- label: ( localize(6201, "Request Multiplier")),
882
+ label: hasAnyCostFields ? ( localize(6431, "Cost (Credits per 1M Tokens)")) : ( localize(6432, "Pricing")),
925
883
  tooltip: "",
926
- weight: 0.1,
927
- minimumWidth: 60,
928
- templateId: MultiplierColumnRenderer.TEMPLATE_ID,
884
+ weight: hasAnyCostFields ? 0.24 : 0.15,
885
+ minimumWidth: hasAnyCostFields ? 240 : 200,
886
+ templateId: CombinedCostColumnRenderer.TEMPLATE_ID,
929
887
  project(row) {
930
888
  return row;
931
889
  }
@@ -944,7 +902,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
944
902
  this.instantiationService.createInstance(WorkbenchTable, "ModelsWidget", this.tableContainer, ( new Delegate()), columns, [
945
903
  gutterColumnRenderer,
946
904
  modelNameColumnRenderer,
947
- costColumnRenderer,
905
+ combinedCostColumnRenderer,
948
906
  tokenLimitsColumnRenderer,
949
907
  capabilitiesColumnRenderer,
950
908
  actionsColumnRenderer,
@@ -957,46 +915,50 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
957
915
  accessibilityProvider: {
958
916
  getAriaLabel: e => {
959
917
  if (isLanguageModelProviderEntry(e)) {
960
- return localize(6202, "{0} Models", e.vendorEntry.group.name);
918
+ return localize(6433, "{0} Models", e.vendorEntry.group.name);
961
919
  } else if (isLanguageModelGroupEntry(e)) {
962
- return e.id === "visible" ? ( localize(6203, "Visible Models")) : ( localize(6204, "Hidden Models"));
920
+ return e.id === "visible" ? ( localize(6434, "Visible Models")) : ( localize(6435, "Hidden Models"));
963
921
  } else if (isStatusEntry(e)) {
964
- return localize(6205, "Status: {0}", e.message);
922
+ return localize(6436, "Status: {0}", e.message);
965
923
  }
966
924
  const ariaLabels = [];
967
925
  ariaLabels.push(( localize(
968
- 6206,
926
+ 6437,
969
927
  "{0} from {1}",
970
928
  e.model.metadata.name,
971
929
  e.model.provider.vendor.displayName
972
930
  )));
973
931
  if (e.model.metadata.maxInputTokens || e.model.metadata.maxOutputTokens) {
974
932
  const totalTokens = (e.model.metadata.maxInputTokens ?? 0) + (e.model.metadata.maxOutputTokens ?? 0);
975
- ariaLabels.push(( localize(6207, "Context size: {0} tokens", formatTokenCount(totalTokens))));
933
+ ariaLabels.push(( localize(6438, "Context size: {0} tokens", formatTokenCount(totalTokens))));
976
934
  }
977
935
  if (e.model.metadata.capabilities) {
978
936
  ariaLabels.push(( localize(
979
- 6208,
937
+ 6439,
980
938
  "Capabilities: {0}",
981
939
  ( Object.keys(e.model.metadata.capabilities)).join(", ")
982
940
  )));
983
941
  }
984
- const multiplierText = e.model.metadata.multiplier ?? "-";
985
- if (multiplierText !== "-") {
986
- ariaLabels.push(( localize(
987
- 6184,
988
- "Every chat message counts {0} towards your premium model request quota",
989
- multiplierText
942
+ const pricingText = e.model.metadata.pricing ?? "-";
943
+ if (pricingText !== "-") {
944
+ ariaLabels.push(( localize(6440, "Pricing: {0}", pricingText)));
945
+ }
946
+ if (e.model.metadata.inputCost !== undefined) {
947
+ ariaLabels.push(e.model.metadata.inputCost === 1 ? ( localize(6441, "Input cost: {0} credit per 1M tokens", e.model.metadata.inputCost)) : ( localize(6442, "Input cost: {0} credits per 1M tokens", e.model.metadata.inputCost)));
948
+ }
949
+ if (e.model.metadata.outputCost !== undefined) {
950
+ ariaLabels.push(e.model.metadata.outputCost === 1 ? ( localize(6443, "Output cost: {0} credit per 1M tokens", e.model.metadata.outputCost)) : ( localize(
951
+ 6444,
952
+ "Output cost: {0} credits per 1M tokens",
953
+ e.model.metadata.outputCost
990
954
  )));
991
955
  }
992
- if (e.model.visible) {
993
- ariaLabels.push(( localize(6209, "This model is visible in the chat model picker")));
994
- } else {
995
- ariaLabels.push(( localize(6210, "This model is hidden in the chat model picker")));
956
+ if (e.model.metadata.cacheCost !== undefined) {
957
+ ariaLabels.push(e.model.metadata.cacheCost === 1 ? ( localize(6445, "Cache cost: {0} credit per 1M tokens", e.model.metadata.cacheCost)) : ( localize(6446, "Cache cost: {0} credits per 1M tokens", e.model.metadata.cacheCost)));
996
958
  }
997
959
  return ariaLabels.join(". ");
998
960
  },
999
- getWidgetAriaLabel: () => ( localize(6211, "Language Models"))
961
+ getWidgetAriaLabel: () => ( localize(6447, "Language Models"))
1000
962
  },
1001
963
  multipleSelectionSupport: true,
1002
964
  setRowLineHeight: false,
@@ -1017,20 +979,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1017
979
  let configureGroup;
1018
980
  let configureVendor;
1019
981
  if (selectedModelEntries.length) {
1020
- const visibleModels = selectedModelEntries.filter(entry => entry.model.visible);
1021
- const hiddenModels = selectedModelEntries.filter(entry => !entry.model.visible);
1022
- actions.push(toAction({
1023
- id: "hideSelectedModels",
1024
- label: ( localize(6212, "Hide in the Chat Model Picker")),
1025
- enabled: visibleModels.length > 0,
1026
- run: () => this.viewModel.setModelsVisibility(selectedModelEntries, false)
1027
- }));
1028
- actions.push(toAction({
1029
- id: "showSelectedModels",
1030
- label: ( localize(6213, "Show in the Chat Model Picker")),
1031
- enabled: hiddenModels.length > 0,
1032
- run: () => this.viewModel.setModelsVisibility(selectedModelEntries, true)
1033
- }));
1034
982
  if (selectedModelEntries.length === 1) {
1035
983
  const configActions = this.languageModelsService.getModelConfigurationActions(selectedModelEntries[0].model.identifier);
1036
984
  if (configActions.length) {
@@ -1049,18 +997,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1049
997
  } else if (selectedEntries.length === 1) {
1050
998
  const entry = e.element;
1051
999
  if (isLanguageModelProviderEntry(entry)) {
1052
- if (!entry.vendorEntry.vendor.isDefault) {
1053
- actions.push(toAction({
1054
- id: "hideAllModels",
1055
- label: ( localize(6214, "Hide in the Chat Model Picker")),
1056
- run: () => this.viewModel.setGroupVisibility(entry, false)
1057
- }));
1058
- actions.push(toAction({
1059
- id: "showAllModels",
1060
- label: ( localize(6215, "Show in the Chat Model Picker")),
1061
- run: () => this.viewModel.setGroupVisibility(entry, true)
1062
- }));
1063
- }
1064
1000
  configureGroup = entry.vendorEntry.group.name;
1065
1001
  configureVendor = entry.vendorEntry.vendor;
1066
1002
  }
@@ -1073,7 +1009,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1073
1009
  if (configureVendor.managementCommand) {
1074
1010
  actions.push(toAction({
1075
1011
  id: "configureVendor",
1076
- label: ( localize(6216, "Configure")),
1012
+ label: ( localize(6448, "Configure")),
1077
1013
  run: async () => {
1078
1014
  await this.commandService.executeCommand(configureVendor.managementCommand, configureVendor.vendor);
1079
1015
  await this.viewModel.refresh();
@@ -1082,7 +1018,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1082
1018
  } else {
1083
1019
  actions.push(toAction({
1084
1020
  id: "configureVendor",
1085
- label: ( localize(6216, "Configure")),
1021
+ label: ( localize(6448, "Configure")),
1086
1022
  run: () => this.languageModelsService.configureLanguageModelsProviderGroup(configureVendor.vendor, configureGroup)
1087
1023
  }));
1088
1024
  }
@@ -1126,8 +1062,6 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1126
1062
  }
1127
1063
  if (isLanguageModelProviderEntry(element) || isLanguageModelGroupEntry(element)) {
1128
1064
  this.viewModel.toggleCollapsed(element);
1129
- } else if (!isMouseEvent(browserEvent) || browserEvent.detail === 2) {
1130
- this.viewModel.toggleVisibility(element);
1131
1065
  }
1132
1066
  }));
1133
1067
  this.tableDisposables.add(
@@ -1146,7 +1080,7 @@ let ChatModelsWidget = class ChatModelsWidget extends Disposable {
1146
1080
  const isManagedEntitlement = entitlement === ChatEntitlement.Business || entitlement === ChatEntitlement.Enterprise;
1147
1081
  const supportsAddingModels = this.chatEntitlementService.isInternal || (isManagedEntitlement && this.chatEntitlementService.clientByokEnabled) || (entitlement !== ChatEntitlement.Unknown && entitlement !== ChatEntitlement.Available && !isManagedEntitlement);
1148
1082
  this.addButton.enabled = supportsAddingModels && configurableVendors.length > 0;
1149
- this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(6217, "Adding models is managed by your organization")) : "");
1083
+ this.addButton.setTitle(!supportsAddingModels && isManagedEntitlement ? ( localize(6449, "Adding models is managed by your organization")) : "");
1150
1084
  this.dropdownActions = ( configurableVendors.map(vendor => toAction({
1151
1085
  id: `enable-${vendor.vendor}`,
1152
1086
  label: vendor.displayName,