@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -1,69 +1,68 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { distinct, coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
3
+ import { distinct } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
4
4
  import { or, matchesBaseContiguousSubString, matchesWords, matchesCamelCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/filters';
5
5
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
6
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
7
- import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
8
7
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
8
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
9
 
11
- var ChatModelsViewModel_1;
12
- const MODEL_ENTRY_TEMPLATE_ID = 'model.entry.template';
13
- const VENDOR_ENTRY_TEMPLATE_ID = 'vendor.entry.template';
14
- const GROUP_ENTRY_TEMPLATE_ID = 'group.entry.template';
10
+ const MODEL_ENTRY_TEMPLATE_ID = "model.entry.template";
11
+ const VENDOR_ENTRY_TEMPLATE_ID = "vendor.entry.template";
12
+ const GROUP_ENTRY_TEMPLATE_ID = "group.entry.template";
15
13
  const wordFilter = or(matchesBaseContiguousSubString, matchesWords);
16
14
  const CAPABILITY_REGEX = /@capability:\s*([^\s]+)/gi;
17
15
  const VISIBLE_REGEX = /@visible:\s*(true|false)/i;
18
16
  const PROVIDER_REGEX = /@provider:\s*((".+?")|([^\s]+))/gi;
19
17
  const SEARCH_SUGGESTIONS = {
20
- CAPABILITIES: [
21
- '@capability:tools',
22
- '@capability:vision',
23
- '@capability:agent'
24
- ],
25
- VISIBILITY: [
26
- '@visible:true',
27
- '@visible:false'
28
- ]
18
+ CAPABILITIES: ["@capability:tools", "@capability:vision", "@capability:agent"],
19
+ VISIBILITY: ["@visible:true", "@visible:false"]
29
20
  };
30
- function isVendorEntry(entry) {
31
- return entry.type === 'vendor';
21
+ function isLanguageModelProviderEntry(entry) {
22
+ return entry.type === "vendor";
32
23
  }
33
- function isGroupEntry(entry) {
34
- return entry.type === 'group';
24
+ function isLanguageModelGroupEntry(entry) {
25
+ return entry.type === "group";
26
+ }
27
+ function isStatusEntry(entry) {
28
+ return entry.type === "status";
35
29
  }
36
30
  var ChatModelGroup;
37
- (function (ChatModelGroup) {
31
+ (function(ChatModelGroup) {
38
32
  ChatModelGroup["Vendor"] = "vendor";
39
33
  ChatModelGroup["Visibility"] = "visibility";
40
34
  })(ChatModelGroup || (ChatModelGroup = {}));
41
- let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel extends Disposable {
42
- get groupBy() { return this._groupBy; }
35
+ let ChatModelsViewModel = class ChatModelsViewModel extends Disposable {
36
+ get groupBy() {
37
+ return this._groupBy;
38
+ }
43
39
  set groupBy(groupBy) {
44
40
  if (this._groupBy !== groupBy) {
45
41
  this._groupBy = groupBy;
46
42
  this.collapsedGroups.clear();
47
- this.modelEntries = this.sortModels(this.modelEntries);
48
- this.filter(this.searchValue);
43
+ this.languageModelGroups = this.groupModels(this.languageModels);
44
+ this.doFilter();
49
45
  this._onDidChangeGrouping.fire(groupBy);
50
46
  }
51
47
  }
52
- constructor(languageModelsService, chatEntitlementService) {
48
+ constructor(languageModelsService) {
53
49
  super();
54
50
  this.languageModelsService = languageModelsService;
55
- this.chatEntitlementService = chatEntitlementService;
56
51
  this._onDidChange = this._register(( new Emitter()));
57
52
  this.onDidChange = this._onDidChange.event;
58
53
  this._onDidChangeGrouping = this._register(( new Emitter()));
59
54
  this.onDidChangeGrouping = this._onDidChangeGrouping.event;
55
+ this.languageModelGroupStatuses = [];
56
+ this.languageModelGroups = [];
60
57
  this.collapsedGroups = ( new Set());
61
- this.searchValue = '';
58
+ this.searchValue = "";
62
59
  this.modelsSorted = false;
63
60
  this._groupBy = ChatModelGroup.Vendor;
64
61
  this._viewModelEntries = [];
65
- this.modelEntries = [];
66
- this._register(this.chatEntitlementService.onDidChangeEntitlement(() => this.refresh()));
62
+ this.languageModels = [];
63
+ this._register(
64
+ this.languageModelsService.onDidChangeLanguageModels(vendor => this.refreshVendor(vendor))
65
+ );
67
66
  }
68
67
  get viewModelEntries() {
69
68
  return this._viewModelEntries;
@@ -73,26 +72,58 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
73
72
  if (this.selectedEntry) {
74
73
  this.selectedEntry = this._viewModelEntries.find(entry => entry.id === this.selectedEntry?.id);
75
74
  }
76
- this._onDidChange.fire({ at, removed, added });
75
+ this._onDidChange.fire({
76
+ at,
77
+ removed,
78
+ added
79
+ });
77
80
  }
78
81
  shouldRefilter() {
79
82
  return !this.modelsSorted;
80
83
  }
81
84
  filter(searchValue) {
82
- this.searchValue = searchValue;
83
- if (!this.modelsSorted) {
84
- this.modelEntries = this.sortModels(this.modelEntries);
85
+ if (searchValue !== this.searchValue) {
86
+ this.searchValue = searchValue;
87
+ this.collapsedGroups.clear();
88
+ if (!this.modelsSorted) {
89
+ this.languageModelGroups = this.groupModels(this.languageModels);
90
+ }
91
+ this.doFilter();
85
92
  }
86
- const filtered = this.filterModels(this.modelEntries, searchValue);
87
- this.splice(0, this._viewModelEntries.length, filtered);
88
93
  return this.viewModelEntries;
89
94
  }
95
+ doFilter() {
96
+ const viewModelEntries = [];
97
+ const shouldShowGroupHeaders = this.languageModelGroups.length > 1;
98
+ for (const group of this.languageModelGroups) {
99
+ if (( this.collapsedGroups.has(group.group.id))) {
100
+ group.group.collapsed = true;
101
+ if (shouldShowGroupHeaders) {
102
+ viewModelEntries.push(group.group);
103
+ }
104
+ continue;
105
+ }
106
+ const groupEntries = [];
107
+ if (group.status) {
108
+ groupEntries.push(group.status);
109
+ }
110
+ groupEntries.push(...this.filterModels(group.models, this.searchValue));
111
+ if (groupEntries.length > 0) {
112
+ group.group.collapsed = false;
113
+ if (shouldShowGroupHeaders) {
114
+ viewModelEntries.push(group.group);
115
+ }
116
+ viewModelEntries.push(...groupEntries);
117
+ }
118
+ }
119
+ this.splice(0, this._viewModelEntries.length, viewModelEntries);
120
+ }
90
121
  filterModels(modelEntries, searchValue) {
91
122
  let visible;
92
123
  const visibleMatches = VISIBLE_REGEX.exec(searchValue);
93
124
  if (visibleMatches && visibleMatches[1]) {
94
- visible = visibleMatches[1].toLowerCase() === 'true';
95
- searchValue = searchValue.replace(VISIBLE_REGEX, '');
125
+ visible = visibleMatches[1].toLowerCase() === "true";
126
+ searchValue = searchValue.replace(VISIBLE_REGEX, "");
96
127
  }
97
128
  const providerNames = [];
98
129
  let providerMatch;
@@ -102,7 +133,7 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
102
133
  providerNames.push(providerName);
103
134
  }
104
135
  if (providerNames.length > 0) {
105
- searchValue = searchValue.replace(PROVIDER_REGEX, '');
136
+ searchValue = searchValue.replace(PROVIDER_REGEX, "");
106
137
  }
107
138
  const capabilities = [];
108
139
  let capabilityMatch;
@@ -111,10 +142,10 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
111
142
  capabilities.push(capabilityMatch[1].toLowerCase());
112
143
  }
113
144
  if (capabilities.length > 0) {
114
- searchValue = searchValue.replace(CAPABILITY_REGEX, '');
145
+ searchValue = searchValue.replace(CAPABILITY_REGEX, "");
115
146
  }
116
- const quoteAtFirstChar = searchValue.charAt(0) === '"';
117
- const quoteAtLastChar = searchValue.charAt(searchValue.length - 1) === '"';
147
+ const quoteAtFirstChar = searchValue.charAt(0) === "\"";
148
+ const quoteAtLastChar = searchValue.charAt(searchValue.length - 1) === "\"";
118
149
  const completeMatch = quoteAtFirstChar && quoteAtLastChar;
119
150
  if (quoteAtFirstChar) {
120
151
  searchValue = searchValue.substring(1);
@@ -123,22 +154,19 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
123
154
  searchValue = searchValue.substring(0, searchValue.length - 1);
124
155
  }
125
156
  searchValue = searchValue.trim();
126
- const isFiltering = searchValue !== '' || capabilities.length > 0 || providerNames.length > 0 || visible !== undefined;
127
157
  const result = [];
128
- const words = searchValue.split(' ');
129
- const allVendors = ( new Set(( this.modelEntries.map(m => m.vendor))));
130
- const showHeaders = allVendors.size > 1;
131
- const addedGroups = ( new Set());
158
+ const words = searchValue.split(" ");
132
159
  const lowerProviders = ( providerNames.map(p => p.toLowerCase().trim()));
133
160
  for (const modelEntry of modelEntries) {
134
161
  if (visible !== undefined) {
135
- if ((modelEntry.metadata.isUserSelectable ?? false) !== visible) {
162
+ if (modelEntry.visible !== visible) {
136
163
  continue;
137
164
  }
138
165
  }
139
166
  if (lowerProviders.length > 0) {
140
- const matchesProvider = ( lowerProviders.some(provider => modelEntry.vendor.toLowerCase() === provider ||
141
- modelEntry.vendorDisplayName.toLowerCase() === provider));
167
+ const matchesProvider = ( lowerProviders.some(
168
+ provider => modelEntry.provider.vendor.vendor.toLowerCase() === provider || modelEntry.provider.vendor.displayName.toLowerCase() === provider
169
+ ));
142
170
  if (!matchesProvider) {
143
171
  continue;
144
172
  }
@@ -169,58 +197,16 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
169
197
  continue;
170
198
  }
171
199
  }
172
- if (this.groupBy === ChatModelGroup.Vendor) {
173
- if (showHeaders) {
174
- if (!( addedGroups.has(modelEntry.vendor))) {
175
- const isCollapsed = !isFiltering && ( this.collapsedGroups.has(modelEntry.vendor));
176
- const vendorInfo = this.languageModelsService.getVendors().find(v => v.vendor === modelEntry.vendor);
177
- result.push({
178
- type: 'vendor',
179
- id: `vendor-${modelEntry.vendor}`,
180
- vendorEntry: {
181
- vendor: modelEntry.vendor,
182
- vendorDisplayName: modelEntry.vendorDisplayName,
183
- managementCommand: vendorInfo?.managementCommand
184
- },
185
- templateId: VENDOR_ENTRY_TEMPLATE_ID,
186
- collapsed: isCollapsed
187
- });
188
- addedGroups.add(modelEntry.vendor);
189
- }
190
- if (!isFiltering && ( this.collapsedGroups.has(modelEntry.vendor))) {
191
- continue;
192
- }
193
- }
194
- }
195
- else if (this.groupBy === ChatModelGroup.Visibility) {
196
- const isVisible = modelEntry.metadata.isUserSelectable ?? false;
197
- const groupKey = isVisible ? 'visible' : 'hidden';
198
- if (!( addedGroups.has(groupKey))) {
199
- const isCollapsed = !isFiltering && ( this.collapsedGroups.has(groupKey));
200
- result.push({
201
- type: 'group',
202
- id: `group-${groupKey}`,
203
- group: groupKey,
204
- label: isVisible ? ( localize(5203, "Visible")) : ( localize(5204, "Hidden")),
205
- templateId: GROUP_ENTRY_TEMPLATE_ID,
206
- collapsed: isCollapsed
207
- });
208
- addedGroups.add(groupKey);
209
- }
210
- if (!isFiltering && ( this.collapsedGroups.has(groupKey))) {
211
- continue;
212
- }
213
- }
214
- const modelId = ChatModelsViewModel_1.getId(modelEntry);
200
+ const modelId = this.getModelId(modelEntry);
215
201
  result.push({
216
- type: 'model',
202
+ type: "model",
217
203
  id: modelId,
218
204
  templateId: MODEL_ENTRY_TEMPLATE_ID,
219
- modelEntry,
205
+ model: modelEntry,
220
206
  modelNameMatches: modelMatches?.modelNameMatches || undefined,
221
207
  modelIdMatches: modelMatches?.modelIdMatches || undefined,
222
208
  providerMatches: modelMatches?.providerMatches || undefined,
223
- capabilityMatches: matchedCapabilities.length ? matchedCapabilities : undefined,
209
+ capabilityMatches: matchedCapabilities.length ? matchedCapabilities : undefined
224
210
  });
225
211
  }
226
212
  return result;
@@ -231,137 +217,261 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
231
217
  return matchedCapabilities;
232
218
  }
233
219
  switch (capability) {
234
- case 'tools':
235
- case 'toolcalling':
236
- if (modelEntry.metadata.capabilities.toolCalling === true) {
237
- matchedCapabilities.push('toolCalling');
238
- }
239
- break;
240
- case 'vision':
241
- if (modelEntry.metadata.capabilities.vision === true) {
242
- matchedCapabilities.push('vision');
243
- }
244
- break;
245
- case 'agent':
246
- case 'agentmode':
247
- if (modelEntry.metadata.capabilities.agentMode === true) {
248
- matchedCapabilities.push('agentMode');
249
- }
250
- break;
251
- default:
252
- if (modelEntry.metadata.capabilities.editTools) {
253
- for (const tool of modelEntry.metadata.capabilities.editTools) {
254
- if (tool.toLowerCase().includes(capability)) {
255
- matchedCapabilities.push(tool);
256
- }
220
+ case "tools":
221
+ case "toolcalling":
222
+ if (modelEntry.metadata.capabilities.toolCalling === true) {
223
+ matchedCapabilities.push("toolCalling");
224
+ }
225
+ break;
226
+ case "vision":
227
+ if (modelEntry.metadata.capabilities.vision === true) {
228
+ matchedCapabilities.push("vision");
229
+ }
230
+ break;
231
+ case "agent":
232
+ case "agentmode":
233
+ if (modelEntry.metadata.capabilities.agentMode === true) {
234
+ matchedCapabilities.push("agentMode");
235
+ }
236
+ break;
237
+ default:
238
+ if (modelEntry.metadata.capabilities.editTools) {
239
+ for (const tool of modelEntry.metadata.capabilities.editTools) {
240
+ if (tool.toLowerCase().includes(capability)) {
241
+ matchedCapabilities.push(tool);
257
242
  }
258
243
  }
259
- break;
244
+ }
245
+ break;
260
246
  }
261
247
  return matchedCapabilities;
262
248
  }
263
- sortModels(modelEntries) {
249
+ groupModels(languageModels) {
250
+ const result = [];
264
251
  if (this.groupBy === ChatModelGroup.Visibility) {
265
- modelEntries.sort((a, b) => {
266
- const aVisible = a.metadata.isUserSelectable ?? false;
267
- const bVisible = b.metadata.isUserSelectable ?? false;
268
- if (aVisible === bVisible) {
269
- if (a.vendor === b.vendor) {
270
- return a.metadata.name.localeCompare(b.metadata.name);
271
- }
272
- if (a.vendor === 'copilot') {
273
- return -1;
274
- }
275
- if (b.vendor === 'copilot') {
276
- return 1;
277
- }
278
- return a.vendorDisplayName.localeCompare(b.vendorDisplayName);
252
+ const visible = [], hidden = [];
253
+ for (const model of languageModels) {
254
+ if (model.visible) {
255
+ visible.push(model);
256
+ } else {
257
+ hidden.push(model);
258
+ }
259
+ }
260
+ result.push({
261
+ group: {
262
+ type: "group",
263
+ id: "visible",
264
+ label: ( localize(5371, "Visible")),
265
+ templateId: GROUP_ENTRY_TEMPLATE_ID,
266
+ collapsed: ( this.collapsedGroups.has("visible"))
267
+ },
268
+ models: visible
269
+ });
270
+ result.push({
271
+ group: {
272
+ type: "group",
273
+ id: "hidden",
274
+ label: ( localize(5372, "Hidden")),
275
+ templateId: GROUP_ENTRY_TEMPLATE_ID,
276
+ collapsed: ( this.collapsedGroups.has("hidden"))
277
+ },
278
+ models: hidden
279
+ });
280
+ } else if (this.groupBy === ChatModelGroup.Vendor) {
281
+ for (const model of languageModels) {
282
+ const groupId = this.getProviderGroupId(model.provider.group);
283
+ let group = result.find(group => group.group.id === groupId);
284
+ if (!group) {
285
+ group = {
286
+ group: this.createLanguageModelProviderEntry(model.provider),
287
+ models: []
288
+ };
289
+ result.push(group);
279
290
  }
280
- return aVisible ? -1 : 1;
291
+ group.models.push(model);
292
+ }
293
+ for (const statusGroup of this.languageModelGroupStatuses) {
294
+ const groupId = this.getProviderGroupId(statusGroup.provider.group);
295
+ let group = result.find(group => group.group.id === groupId);
296
+ if (!group) {
297
+ group = {
298
+ group: this.createLanguageModelProviderEntry(statusGroup.provider),
299
+ models: []
300
+ };
301
+ result.push(group);
302
+ }
303
+ group.status = {
304
+ id: `status.${group.group.id}`,
305
+ type: "status",
306
+ ...statusGroup.status
307
+ };
308
+ }
309
+ result.sort((a, b) => {
310
+ if (a.models[0]?.provider.vendor.isDefault) {
311
+ return -1;
312
+ }
313
+ if (b.models[0]?.provider.vendor.isDefault) {
314
+ return 1;
315
+ }
316
+ return a.group.label.localeCompare(b.group.label);
281
317
  });
282
318
  }
283
- else if (this.groupBy === ChatModelGroup.Vendor) {
284
- modelEntries.sort((a, b) => {
285
- if (a.vendor === b.vendor) {
319
+ for (const group of result) {
320
+ group.models.sort((a, b) => {
321
+ if (a.provider.vendor.isDefault && b.provider.vendor.isDefault) {
286
322
  return a.metadata.name.localeCompare(b.metadata.name);
287
323
  }
288
- if (a.vendor === 'copilot') {
324
+ if (a.provider.vendor.isDefault) {
289
325
  return -1;
290
326
  }
291
- if (b.vendor === 'copilot') {
327
+ if (b.provider.vendor.isDefault) {
292
328
  return 1;
293
329
  }
294
- return a.vendorDisplayName.localeCompare(b.vendorDisplayName);
330
+ if (a.provider.group.name === b.provider.group.name) {
331
+ return a.metadata.name.localeCompare(b.metadata.name);
332
+ }
333
+ return a.provider.group.name.localeCompare(b.provider.group.name);
295
334
  });
296
335
  }
297
336
  this.modelsSorted = true;
298
- return modelEntries;
337
+ return result;
338
+ }
339
+ createLanguageModelProviderEntry(provider) {
340
+ const id = this.getProviderGroupId(provider.group);
341
+ return {
342
+ type: "vendor",
343
+ id,
344
+ label: provider.group.name,
345
+ templateId: VENDOR_ENTRY_TEMPLATE_ID,
346
+ collapsed: ( this.collapsedGroups.has(id)),
347
+ vendorEntry: {
348
+ group: provider.group,
349
+ vendor: provider.vendor
350
+ }
351
+ };
299
352
  }
300
353
  getVendors() {
301
354
  return [...this.languageModelsService.getVendors()].sort((a, b) => {
302
- if (a.vendor === 'copilot') {
355
+ if (a.isDefault) {
303
356
  return -1;
304
357
  }
305
- if (b.vendor === 'copilot') {
358
+ if (b.isDefault) {
306
359
  return 1;
307
360
  }
308
361
  return a.displayName.localeCompare(b.displayName);
309
362
  });
310
363
  }
311
364
  async refresh() {
312
- this.modelEntries = [];
365
+ await this.languageModelsService.selectLanguageModels({});
366
+ await this.refreshAllVendors();
367
+ }
368
+ async refreshAllVendors() {
369
+ this.languageModels = [];
370
+ this.languageModelGroupStatuses = [];
313
371
  for (const vendor of this.getVendors()) {
314
- const modelIdentifiers = await this.languageModelsService.selectLanguageModels({ vendor: vendor.vendor }, vendor.vendor === 'copilot');
315
- const models = coalesce(( modelIdentifiers.map(identifier => {
372
+ this.addVendorModels(vendor);
373
+ }
374
+ this.languageModelGroups = this.groupModels(this.languageModels);
375
+ this.doFilter();
376
+ }
377
+ refreshVendor(vendorId) {
378
+ const vendor = this.getVendors().find(v => v.vendor === vendorId);
379
+ if (!vendor) {
380
+ return;
381
+ }
382
+ this.languageModels = this.languageModels.filter(m => m.provider.vendor.vendor !== vendorId);
383
+ this.languageModelGroupStatuses = this.languageModelGroupStatuses.filter(s => s.provider.vendor.vendor !== vendorId);
384
+ this.addVendorModels(vendor);
385
+ this.languageModelGroups = this.groupModels(this.languageModels);
386
+ this.doFilter();
387
+ }
388
+ addVendorModels(vendor) {
389
+ const models = [];
390
+ const languageModelsGroups = this.languageModelsService.getLanguageModelGroups(vendor.vendor);
391
+ for (const group of languageModelsGroups) {
392
+ const provider = {
393
+ group: group.group ?? {
394
+ vendor: vendor.vendor,
395
+ name: vendor.displayName
396
+ },
397
+ vendor
398
+ };
399
+ if (group.status) {
400
+ this.languageModelGroupStatuses.push({
401
+ provider,
402
+ status: {
403
+ message: group.status.message,
404
+ severity: group.status.severity
405
+ }
406
+ });
407
+ }
408
+ for (const identifier of group.modelIdentifiers) {
316
409
  const metadata = this.languageModelsService.lookupLanguageModel(identifier);
317
410
  if (!metadata) {
318
- return undefined;
411
+ continue;
319
412
  }
320
- if (vendor.vendor === 'copilot' && metadata.id === 'auto') {
321
- return undefined;
413
+ if (vendor.isDefault && metadata.id === "auto") {
414
+ continue;
322
415
  }
323
- return {
324
- vendor: vendor.vendor,
325
- vendorDisplayName: vendor.displayName,
416
+ models.push({
326
417
  identifier,
327
- metadata
328
- };
329
- })));
330
- this.modelEntries.push(...models.sort((a, b) => a.metadata.name.localeCompare(b.metadata.name)));
331
- const modelEntries = distinct(this.modelEntries, modelEntry => ChatModelsViewModel_1.getId(modelEntry));
332
- if (this._groupBy === ChatModelGroup.Visibility) {
333
- this.modelEntries = this.sortModels(modelEntries);
334
- }
335
- else {
336
- this.modelEntries = modelEntries;
337
- if (models.every(m => !m.metadata.isUserSelectable)) {
338
- this.collapsedGroups.add(vendor.vendor);
339
- }
418
+ metadata,
419
+ provider,
420
+ visible: metadata.isUserSelectable ?? false
421
+ });
340
422
  }
341
- this.modelEntries = this._groupBy === ChatModelGroup.Visibility ? this.sortModels(modelEntries) : modelEntries;
342
- this.filter(this.searchValue);
343
423
  }
424
+ this.languageModels.push(...models.sort((a, b) => a.metadata.name.localeCompare(b.metadata.name)));
344
425
  }
345
426
  toggleVisibility(model) {
346
- const isVisible = model.modelEntry.metadata.isUserSelectable ?? false;
347
- const newVisibility = !isVisible;
348
- this.languageModelsService.updateModelPickerPreference(model.modelEntry.identifier, newVisibility);
349
- const metadata = this.languageModelsService.lookupLanguageModel(model.modelEntry.identifier);
427
+ const newVisibility = !model.model.visible;
428
+ this.languageModelsService.updateModelPickerPreference(model.model.identifier, newVisibility);
429
+ const metadata = this.languageModelsService.lookupLanguageModel(model.model.identifier);
350
430
  const index = this.viewModelEntries.indexOf(model);
351
431
  if (metadata && index !== -1) {
352
- model.id = ChatModelsViewModel_1.getId(model.modelEntry);
353
- model.modelEntry.metadata = metadata;
432
+ model.model.visible = newVisibility;
433
+ model.model.metadata = metadata;
434
+ model.id = this.getModelId(model.model);
354
435
  if (this.groupBy === ChatModelGroup.Visibility) {
355
436
  this.modelsSorted = false;
356
437
  }
357
438
  this.splice(index, 1, [model]);
358
439
  }
359
440
  }
360
- static getId(modelEntry) {
361
- return `${modelEntry.identifier}.${modelEntry.metadata.version}-visible:${modelEntry.metadata.isUserSelectable}`;
441
+ setModelsVisibility(models, visible) {
442
+ for (const model of models) {
443
+ this.languageModelsService.updateModelPickerPreference(model.model.identifier, visible);
444
+ model.model.visible = visible;
445
+ }
446
+ this.languageModelGroups = this.groupModels(this.languageModels);
447
+ this.doFilter();
448
+ }
449
+ setGroupVisibility(group, visible) {
450
+ const models = this.getModelsForGroup(group);
451
+ for (const model of models) {
452
+ this.languageModelsService.updateModelPickerPreference(model.identifier, visible);
453
+ model.visible = visible;
454
+ }
455
+ this.languageModelGroups = this.groupModels(this.languageModels);
456
+ this.doFilter();
457
+ }
458
+ getModelsForGroup(group) {
459
+ if (isLanguageModelProviderEntry(group)) {
460
+ return this.languageModels.filter(m => this.getProviderGroupId(m.provider.group) === group.id);
461
+ } else {
462
+ return this.languageModels.filter(
463
+ m => (group.id === "visible" && m.visible) || (group.id === "hidden" && !m.visible)
464
+ );
465
+ }
466
+ }
467
+ getModelId(modelEntry) {
468
+ return `${modelEntry.provider.group.name}.${modelEntry.identifier}.${modelEntry.metadata.version}-visible:${modelEntry.visible}`;
469
+ }
470
+ getProviderGroupId(group) {
471
+ return `${group.vendor}-${group.name}`;
362
472
  }
363
473
  toggleCollapsed(viewModelEntry) {
364
- const id = isGroupEntry(viewModelEntry) ? viewModelEntry.group : isVendorEntry(viewModelEntry) ? viewModelEntry.vendorEntry.vendor : undefined;
474
+ const id = isLanguageModelGroupEntry(viewModelEntry) ? viewModelEntry.id : isLanguageModelProviderEntry(viewModelEntry) ? viewModelEntry.id : undefined;
365
475
  if (!id) {
366
476
  return;
367
477
  }
@@ -369,44 +479,30 @@ let ChatModelsViewModel = ChatModelsViewModel_1 = class ChatModelsViewModel exte
369
479
  if (!this.collapsedGroups.delete(id)) {
370
480
  this.collapsedGroups.add(id);
371
481
  }
372
- this.filter(this.searchValue);
482
+ this.doFilter();
373
483
  }
374
484
  collapseAll() {
375
- const allGroupIds = ( new Set());
485
+ this.collapsedGroups.clear();
376
486
  for (const entry of this.viewModelEntries) {
377
- if (isVendorEntry(entry)) {
378
- allGroupIds.add(entry.vendorEntry.vendor);
487
+ if (isLanguageModelProviderEntry(entry) || isLanguageModelGroupEntry(entry)) {
488
+ this.collapsedGroups.add(entry.id);
379
489
  }
380
- else if (isGroupEntry(entry)) {
381
- allGroupIds.add(entry.group);
382
- }
383
- }
384
- for (const id of allGroupIds) {
385
- this.collapsedGroups.add(id);
386
490
  }
387
- this.filter(this.searchValue);
491
+ this.doFilter();
388
492
  }
389
493
  getConfiguredVendors() {
390
494
  const result = [];
391
495
  const seenVendors = ( new Set());
392
- for (const modelEntry of this.modelEntries) {
393
- if (!( seenVendors.has(modelEntry.vendor))) {
394
- seenVendors.add(modelEntry.vendor);
395
- const vendorInfo = this.languageModelsService.getVendors().find(v => v.vendor === modelEntry.vendor);
396
- result.push({
397
- vendor: modelEntry.vendor,
398
- vendorDisplayName: modelEntry.vendorDisplayName,
399
- managementCommand: vendorInfo?.managementCommand
400
- });
496
+ for (const modelEntry of this.languageModels) {
497
+ if (!( seenVendors.has(modelEntry.provider.group.name))) {
498
+ seenVendors.add(modelEntry.provider.group.name);
499
+ result.push(modelEntry.provider);
401
500
  }
402
501
  }
403
502
  return result;
404
503
  }
405
504
  };
406
- ChatModelsViewModel = ChatModelsViewModel_1 = ( __decorate([
407
- ( __param(0, ILanguageModelsService)),
408
- ( __param(1, IChatEntitlementService))
409
- ], ChatModelsViewModel));
505
+ ChatModelsViewModel = ( __decorate([( __param(0, ILanguageModelsService))], ChatModelsViewModel));
410
506
  class ModelItemMatches {
411
507
  constructor(modelEntry, searchValue, words, completeMatch) {
412
508
  this.modelNameMatches = null;
@@ -414,26 +510,39 @@ class ModelItemMatches {
414
510
  this.providerMatches = null;
415
511
  this.capabilityMatches = null;
416
512
  if (!completeMatch) {
417
- this.modelNameMatches = modelEntry.metadata.name ?
418
- this.matches(searchValue, modelEntry.metadata.name, (word, wordToMatchAgainst) => matchesWords(word, wordToMatchAgainst, true), words) :
419
- null;
420
- this.modelIdMatches = this.matches(searchValue, modelEntry.identifier, or(matchesWords, matchesCamelCase), words);
421
- this.providerMatches = this.matches(searchValue, modelEntry.vendorDisplayName, (word, wordToMatchAgainst) => matchesWords(word, wordToMatchAgainst, true), words);
513
+ this.modelNameMatches = modelEntry.metadata.name ? this.matches(
514
+ searchValue,
515
+ modelEntry.metadata.name,
516
+ (word, wordToMatchAgainst) => matchesWords(word, wordToMatchAgainst, true),
517
+ words
518
+ ) : null;
519
+ this.modelIdMatches = this.matches(
520
+ searchValue,
521
+ modelEntry.metadata.id,
522
+ or(matchesWords, matchesCamelCase),
523
+ words
524
+ );
525
+ this.providerMatches = this.matches(
526
+ searchValue,
527
+ modelEntry.provider.group.name,
528
+ (word, wordToMatchAgainst) => matchesWords(word, wordToMatchAgainst, true),
529
+ words
530
+ );
422
531
  if (modelEntry.metadata.capabilities) {
423
532
  const capabilityStrings = [];
424
533
  if (modelEntry.metadata.capabilities.toolCalling) {
425
- capabilityStrings.push('tools', 'toolCalling');
534
+ capabilityStrings.push("tools", "toolCalling");
426
535
  }
427
536
  if (modelEntry.metadata.capabilities.vision) {
428
- capabilityStrings.push('vision');
537
+ capabilityStrings.push("vision");
429
538
  }
430
539
  if (modelEntry.metadata.capabilities.agentMode) {
431
- capabilityStrings.push('agent', 'agentMode');
540
+ capabilityStrings.push("agent", "agentMode");
432
541
  }
433
542
  if (modelEntry.metadata.capabilities.editTools) {
434
543
  capabilityStrings.push(...modelEntry.metadata.capabilities.editTools);
435
544
  }
436
- const capabilityString = capabilityStrings.join(' ');
545
+ const capabilityString = capabilityStrings.join(" ");
437
546
  if (capabilityString) {
438
547
  this.capabilityMatches = this.matches(searchValue, capabilityString, or(matchesWords, matchesCamelCase), words);
439
548
  }
@@ -456,8 +565,7 @@ class ModelItemMatches {
456
565
  const wordMatches = wordMatchesFilter(word, wordToMatchAgainst);
457
566
  if (wordMatches) {
458
567
  matches = [...(matches || []), ...wordMatches];
459
- }
460
- else {
568
+ } else {
461
569
  matches = null;
462
570
  break;
463
571
  }
@@ -465,12 +573,10 @@ class ModelItemMatches {
465
573
  return matches;
466
574
  }
467
575
  filterAndSort(matches) {
468
- return distinct(matches, (a => a.start + '.' + a.end))
469
- .filter(match => !( matches.some(
576
+ return distinct(matches, (a => a.start + "." + a.end)).filter(match => !( matches.some(
470
577
  m => !(m.start === match.start && m.end === match.end) && (m.start <= match.start && m.end >= match.end)
471
- )))
472
- .sort((a, b) => a.start - b.start);
578
+ ))).sort((a, b) => a.start - b.start);
473
579
  }
474
580
  }
475
581
 
476
- export { ChatModelGroup, ChatModelsViewModel, GROUP_ENTRY_TEMPLATE_ID, MODEL_ENTRY_TEMPLATE_ID, SEARCH_SUGGESTIONS, VENDOR_ENTRY_TEMPLATE_ID, isGroupEntry, isVendorEntry };
582
+ export { ChatModelGroup, ChatModelsViewModel, GROUP_ENTRY_TEMPLATE_ID, MODEL_ENTRY_TEMPLATE_ID, SEARCH_SUGGESTIONS, VENDOR_ENTRY_TEMPLATE_ID, isLanguageModelGroupEntry, isLanguageModelProviderEntry, isStatusEntry };