@codingame/monaco-vscode-chat-service-override 32.0.1 → 33.0.4

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 (257) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +15 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
  8. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
  13. package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
  15. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
  22. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
  23. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
  147. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
  153. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
  158. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  159. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
  164. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  167. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  168. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
  171. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  174. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  177. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  178. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
  180. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
  181. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
  183. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
  184. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
  199. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
  200. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
  208. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
  214. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
  215. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
  216. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
  217. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
  218. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
  219. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
  220. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
  221. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  223. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  225. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  230. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -9
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
  252. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
  253. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  254. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
  255. package/vscode/src/vs/base/common/defaultAccount.js +0 -12
  256. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
  257. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
@@ -561,7 +561,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
561
561
  if (!isEmptyUpToCompletionWord(model, range)) {
562
562
  return;
563
563
  }
564
- const label = ( localize(7518, "Install Chat Extensions..."));
564
+ const label = ( localize(7604, "Install Chat Extensions..."));
565
565
  const item = {
566
566
  label,
567
567
  insertText: "",
@@ -709,7 +709,7 @@ class StartParameterizedPromptAction extends Action2 {
709
709
  messages = await prompt.resolve(args, cts.token);
710
710
  } catch (e) {
711
711
  if (!cts.token.isCancellationRequested) {
712
- notificationService.error(( localize(7519, "Error resolving prompt: {0}", String(e))));
712
+ notificationService.error(( localize(7605, "Error resolving prompt: {0}", String(e))));
713
713
  }
714
714
  replaceTextWith("");
715
715
  return;
@@ -737,15 +737,15 @@ class StartParameterizedPromptAction extends Action2 {
737
737
  id: generateUuid(),
738
738
  kind: "generic",
739
739
  value: contents,
740
- name: ( localize(7520, "Prompt Resource"))
740
+ name: ( localize(7606, "Prompt Resource"))
741
741
  });
742
742
  }
743
743
  } else if (mimeType && getAttachableImageExtension(mimeType)) {
744
744
  const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
745
745
  chatWidget.attachmentModel.addContext({
746
746
  id: generateUuid(),
747
- name: ( localize(7521, "Prompt Image")),
748
- fullName: ( localize(7521, "Prompt Image")),
747
+ name: ( localize(7607, "Prompt Image")),
748
+ fullName: ( localize(7607, "Prompt Image")),
749
749
  value: resized,
750
750
  kind: "image",
751
751
  references: validURI && [{
@@ -1042,7 +1042,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1042
1042
  result.suggestions.push({
1043
1043
  label: {
1044
1044
  label: sessionPrefix,
1045
- description: ( localize(7522, "Attach a chat session"))
1045
+ description: ( localize(7608, "Attach a chat session"))
1046
1046
  },
1047
1047
  filterText: sessionPrefix,
1048
1048
  insertText: `${sessionPrefix}:`,
@@ -1128,7 +1128,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1128
1128
  const uriLabel = this.labelService.getUriLabel(resource, {
1129
1129
  relative: true
1130
1130
  });
1131
- const labelDescription = description ? ( localize(7523, "{0} ({1})", uriLabel, description)) : uriLabel;
1131
+ const labelDescription = description ? ( localize(7609, "{0} ({1})", uriLabel, description)) : uriLabel;
1132
1132
  const sortText = boostPriority ? " " : "!";
1133
1133
  return {
1134
1134
  label: {
@@ -1180,7 +1180,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1180
1180
  }
1181
1181
  }
1182
1182
  seen.add(resource);
1183
- const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7524, "Active file")) : undefined, i === 0));
1183
+ const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7610, "Active file")) : undefined, i === 0));
1184
1184
  if (newLen - len >= 5) {
1185
1185
  break;
1186
1186
  }
@@ -1369,7 +1369,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
1369
1369
  name = item.referenceName;
1370
1370
  } else {
1371
1371
  const source = item.source;
1372
- detail = ( localize(7525, "{0}: {1}", source.label, item.displayName));
1372
+ detail = ( localize(7611, "{0}: {1}", source.label, item.displayName));
1373
1373
  name = item.toolReferenceName ?? item.displayName;
1374
1374
  documentation = item.userDescription ?? item.modelDescription;
1375
1375
  }
@@ -366,7 +366,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
366
366
  promptHoverMessage.appendText("\n");
367
367
  }
368
368
  promptHoverMessage.appendText(( localize(
369
- 7526,
369
+ 7612,
370
370
  "Click to open {0}",
371
371
  this.labelService.getUriLabel(promptSlashCommand.uri, {
372
372
  relative: true
@@ -62,7 +62,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
62
62
  return ( new RenderedHoverParts([renderedHoverPart]));
63
63
  }
64
64
  getAccessibleContent(hoverPart) {
65
- return localize(7527, "There is a chat agent hover part here.");
65
+ return localize(7613, "There is a chat agent hover part here.");
66
66
  }
67
67
  };
68
68
  ChatAgentHoverParticipant = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IChatWidgetService)), ( __param(3, ICommandService))], ChatAgentHoverParticipant));
@@ -253,7 +253,7 @@ let QuickChat = class QuickChat extends Disposable {
253
253
  disclaimerElement.classList.toggle("hidden", !showDisclaimer);
254
254
  if (showDisclaimer) {
255
255
  const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
256
- 7568,
256
+ 7654,
257
257
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
258
258
  product.defaultChatAgent?.provider?.default?.name ?? "",
259
259
  product.defaultChatAgent?.provider?.default?.name ?? "",
@@ -182,7 +182,7 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
182
182
  let isContributedChatSession = false;
183
183
  const chatSessionType = input.getSessionType();
184
184
  if (chatSessionType !== localChatSessionType) {
185
- const loadingMessage = ( localize(7569, "Loading..."));
185
+ const loadingMessage = ( localize(7655, "Loading..."));
186
186
  this.showLoadingInChatWidget(loadingMessage);
187
187
  }
188
188
  await super.setInput(input, options, context, token);
@@ -73,6 +73,7 @@ import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/c
73
73
  import { AgentSessionsFilter, AgentSessionsGrouping } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter';
74
74
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
75
75
  import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
76
+ import { ChatEntitlementContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
76
77
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
77
78
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
78
79
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
@@ -338,7 +339,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
338
339
  const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
339
340
  const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
340
341
  const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
341
- sessionsTitle.textContent = ( localize(7588, "Sessions"));
342
+ sessionsTitle.textContent = ( localize(7674, "Sessions"));
342
343
  this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
343
344
  this.sessionsControl?.scrollToTop();
344
345
  this.sessionsControl?.focus();
@@ -366,7 +367,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
366
367
  ...defaultButtonStyles,
367
368
  secondary: true
368
369
  })));
369
- newSessionButton.label = ( localize(7589, "New Session"));
370
+ newSessionButton.label = ( localize(7675, "New Session"));
370
371
  this._register(
371
372
  newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
372
373
  );
@@ -456,7 +457,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
456
457
  } else {
457
458
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
458
459
  newSessionsContainerVisible =
459
- !!this.chatEntitlementService.sentiment.completed && (!this._widget || (this._widget.isEmpty() && !!this._widget.viewModel && !this._widget.viewModel.model.title)) && !this.welcomeController?.isShowingWelcome.get();
460
+ (!!this.chatEntitlementService.sentiment.completed || this.chatEntitlementService.hasByokModels) && (!this._widget || (this._widget.isEmpty() && !!this._widget.viewModel && !this._widget.viewModel.model.title)) && !this.welcomeController?.isShowingWelcome.get();
460
461
  }
461
462
  else {
462
463
  newSessionsContainerVisible =
@@ -538,12 +539,17 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
538
539
  }));
539
540
  }
540
541
  registerControlsListeners(sessionsControl, chatWidget, welcomeController) {
542
+ const hasByokModelsContextKeys = ( new Set([ChatEntitlementContextKeys.hasByokModels.key]));
541
543
  this._register(Event.any(
542
544
  chatWidget.onDidChangeEmptyState,
543
545
  Event.fromObservable(welcomeController.isShowingWelcome),
544
546
  Event.filter(
545
547
  this.configurationService.onDidChangeConfiguration,
546
548
  e => e.affectsConfiguration(ChatConfiguration.ChatViewSessionsEnabled)
549
+ ),
550
+ Event.filter(
551
+ this.contextKeyService.onDidChangeContext,
552
+ e => e.affectsSome(hasByokModelsContextKeys)
547
553
  )
548
554
  )(() => {
549
555
  if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) {
@@ -608,7 +614,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
608
614
  progressBadgeDisposables.value.add(autorun(reader => {
609
615
  if (model.requestInProgress.read(reader)) {
610
616
  this.activityBadge.value = this.activityService.showViewActivity(this.id, {
611
- badge: ( new ProgressBadge(() => ( localize(7590, "Agent Session in Progress"))))
617
+ badge: ( new ProgressBadge(() => ( localize(7676, "Agent Session in Progress"))))
612
618
  });
613
619
  } else {
614
620
  this.activityBadge.clear();
@@ -684,10 +690,13 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
684
690
  this.titleControl?.update(model);
685
691
  this.updateActions();
686
692
  if (oldModelResource) {
687
- const oldSession = this.agentSessionsService.model.getSession(oldModelResource);
688
- if (oldSession && !oldSession.isMarkedUnread()) {
689
- oldSession.setRead(true);
690
- }
693
+ const capturedOldResource = oldModelResource;
694
+ this._register(disposableTimeout(() => {
695
+ const oldSession = this.agentSessionsService.model.getSession(capturedOldResource);
696
+ if (oldSession && !oldSession.isMarkedUnread()) {
697
+ oldSession.setRead(true);
698
+ }
699
+ }, 0));
691
700
  }
692
701
  return model;
693
702
  }
@@ -772,7 +781,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
772
781
  return undefined;
773
782
  }
774
783
  this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
775
- this.notificationService.error(( localize(7591, "Failed to open chat session: {0}", toErrorMessage(err))));
784
+ this.notificationService.error(( localize(7677, "Failed to open chat session: {0}", toErrorMessage(err))));
776
785
  const result = await this.showModel(token, undefined);
777
786
  this.logService.trace(
778
787
  `[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())} error=true`
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
23
23
  ChatViewTitleControl_1 = this;
24
24
  }
25
25
  static {
26
- this.DEFAULT_TITLE = ( localize(7592, "Chat"));
26
+ this.DEFAULT_TITLE = ( localize(7678, "Chat"));
27
27
  }
28
28
  static {
29
29
  this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
48
48
  constructor() {
49
49
  super({
50
50
  id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
51
- title: ( localize(7593, "Pick Agent Session")),
51
+ title: ( localize(7679, "Pick Agent Session")),
52
52
  f1: false,
53
53
  menu: [{
54
54
  id: MenuId.ChatViewSessionTitleNavigationToolbar,
@@ -249,6 +249,9 @@ let ChatService = class ChatService extends Disposable {
249
249
  this._chatSessionStore.storeSessionsMetadataOnly(liveNonLocalChats);
250
250
  }
251
251
  shouldStoreSession(session) {
252
+ if (session.isDeleted) {
253
+ return false;
254
+ }
252
255
  if (!LocalChatSessionUri.parseLocalSessionId(session.sessionResource)) {
253
256
  return false;
254
257
  }
@@ -372,10 +375,14 @@ let ChatService = class ChatService extends Disposable {
372
375
  return undefined;
373
376
  }
374
377
  shouldBeInHistory(entry) {
375
- return !entry.isImported && !!LocalChatSessionUri.parseLocalSessionId(entry.sessionResource) && entry.initialLocation === ChatAgentLocation.Chat;
378
+ return !entry.isImported && !entry.isDeleted && !!LocalChatSessionUri.parseLocalSessionId(entry.sessionResource) && entry.initialLocation === ChatAgentLocation.Chat;
376
379
  }
377
380
  async removeHistoryEntry(sessionResource) {
378
381
  await this._chatSessionStore.deleteSession(this.toLocalSessionId(sessionResource));
382
+ const model = this._sessionModels.get(sessionResource);
383
+ if (model) {
384
+ model.markDeleted();
385
+ }
379
386
  this._onDidDisposeSession.fire({
380
387
  sessionResources: [sessionResource],
381
388
  reason: "cleared"
@@ -842,7 +849,8 @@ let ChatService = class ChatService extends Disposable {
842
849
  const newItem = await this.chatSessionService.createNewChatSessionItem(getChatSessionType(sessionResource), {
843
850
  prompt: requestText,
844
851
  command: commandPart?.text,
845
- initialSessionOptions
852
+ initialSessionOptions,
853
+ untitledResource: sessionResource
846
854
  }, CancellationToken.None);
847
855
  if (newItem) {
848
856
  this.chatSessionService.registerSessionResourceAlias(sessionResource, newItem.resource);
@@ -1041,7 +1049,7 @@ let ChatService = class ChatService extends Disposable {
1041
1049
  model.acceptResponseProgress(request, {
1042
1050
  kind: "markdownContent",
1043
1051
  content: ( new MarkdownString(( localize(
1044
- 7699,
1052
+ 7786,
1045
1053
  "The `{0}` skill requires `{1}` to be enabled. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
1046
1054
  TROUBLESHOOT_COMMAND_NAME,
1047
1055
  AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING,
@@ -1343,7 +1351,7 @@ let ChatService = class ChatService extends Disposable {
1343
1351
  );
1344
1352
  rawResult = {
1345
1353
  errorDetails: {
1346
- message: ( localize(7700, "Provider returned null response"))
1354
+ message: ( localize(7787, "Provider returned null response"))
1347
1355
  }
1348
1356
  };
1349
1357
  }
@@ -1827,7 +1835,7 @@ let ChatService = class ChatService extends Disposable {
1827
1835
  };
1828
1836
  ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, ITelemetryService)), ( __param(3, IExtensionService)), ( __param(4, IInstantiationService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IChatSlashCommandService)), ( __param(7, IChatAgentService)), ( __param(8, IConfigurationService)), ( __param(9, IChatTransferService)), ( __param(10, IChatSessionsService)), ( __param(11, IMcpService)), ( __param(12, IPromptsService)), ( __param(13, IChatEntitlementService)), ( __param(14, ILanguageModelsService)), ( __param(15, IChatDebugService))], ChatService));
1829
1837
  async function chatModelToChatDetail(model) {
1830
- const title = model.title || ( localize(7701, "New Chat"));
1838
+ const title = model.title || ( localize(7788, "New Chat"));
1831
1839
  return {
1832
1840
  sessionResource: model.sessionResource,
1833
1841
  title,
@@ -8,7 +8,7 @@ import { ChatAgentVoteDirection, ChatCopyKind } from '@codingame/monaco-vscode-a
8
8
  import { isImageVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
9
9
  import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
10
10
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
11
- import { getChatSessionType, chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
11
+ import { chatSessionResourceToId, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
12
12
 
13
13
  let ChatServiceTelemetry = class ChatServiceTelemetry {
14
14
  constructor(telemetryService) {
@@ -135,7 +135,7 @@ let ChatRequestTelemetry = class ChatRequestTelemetry {
135
135
  model: this.resolveModelId(this.opts.options?.userSelectedModelId),
136
136
  permissionLevel: this.opts.options?.modeInfo?.kind === ChatModeKind.Ask ? undefined : this.opts.options?.modeInfo?.permissionLevel,
137
137
  chatMode: this.opts.options?.modeInfo?.modeName ?? this.opts.options?.modeInfo?.modeId,
138
- sessionType: getChatSessionType(this.opts.sessionResource)
138
+ sessionType: getChatSessionTypeForTelemetry(this.opts.sessionResource)
139
139
  });
140
140
  }
141
141
  attachmentKindsForTelemetry(variableData) {
@@ -178,5 +178,9 @@ let ChatRequestTelemetry = class ChatRequestTelemetry {
178
178
  }
179
179
  };
180
180
  ChatRequestTelemetry = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, ILanguageModelsService))], ChatRequestTelemetry));
181
+ function getChatSessionTypeForTelemetry(sessionResource) {
182
+ const sessionType = getChatSessionType(sessionResource);
183
+ return sessionType.startsWith("remote-") ? "remote-agent-host" : sessionType;
184
+ }
181
185
 
182
186
  export { ChatRequestTelemetry, ChatServiceTelemetry };
@@ -98,7 +98,7 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
98
98
  }
99
99
  e.join(this.storeTask, {
100
100
  id: "join.chatSessionStore",
101
- label: ( localize(7738, "Saving chat history"))
101
+ label: ( localize(7823, "Saving chat history"))
102
102
  });
103
103
  }));
104
104
  }
@@ -356,14 +356,14 @@ let ChatSessionStore = class ChatSessionStore extends Disposable {
356
356
  this._didReportIssue = true;
357
357
  this.dialogService.prompt({
358
358
  custom: true,
359
- title: ( localize(7739, "Error saving chat session")),
359
+ title: ( localize(7824, "Error saving chat session")),
360
360
  message: ( localize(
361
- 7740,
361
+ 7825,
362
362
  "Error serializing chat session for storage. The session will be lost if the window is closed. Please report this issue to the VS Code team:\n\n{0}",
363
363
  e.stack || toErrorMessage(e)
364
364
  )),
365
365
  buttons: [{
366
- label: ( localize(7741, "Report Issue")),
366
+ label: ( localize(7826, "Report Issue")),
367
367
  run: () => this.openerService.open("https://github.com/microsoft/vscode/issues/new?template=bug_report.md")
368
368
  }]
369
369
  });
@@ -724,7 +724,7 @@ function getSessionMetadataSync(session) {
724
724
  } : undefined;
725
725
  return {
726
726
  sessionId: session.sessionId,
727
- title: title || ( localize(7742, "New Chat")),
727
+ title: title || ( localize(7827, "New Chat")),
728
728
  lastMessageDate: session.lastMessageDate,
729
729
  timing: session.timing,
730
730
  initialLocation: session.initialLocation,
@@ -746,7 +746,7 @@ async function getSessionMetadata(session) {
746
746
  const lastMessageDate = session.requests.at(-1)?.timestamp ?? session.creationDate;
747
747
  return {
748
748
  sessionId: session.sessionId,
749
- title: session.customTitle || ( localize(7742, "New Chat")),
749
+ title: session.customTitle || ( localize(7827, "New Chat")),
750
750
  lastMessageDate,
751
751
  timing: {
752
752
  created: session.creationDate,
@@ -121,7 +121,7 @@ class AbstractAgentPluginDiscovery extends Disposable {
121
121
  if (!( seenPluginUris.has(key))) {
122
122
  seenPluginUris.add(key);
123
123
  const format = await detectPluginFormat(source.uri, this._fileService);
124
- plugins.push(this._toPlugin(
124
+ plugins.push(await this._toPlugin(
125
125
  source.uri,
126
126
  format,
127
127
  source.fromMarketplace,
@@ -142,7 +142,7 @@ class AbstractAgentPluginDiscovery extends Disposable {
142
142
  return false;
143
143
  }
144
144
  }
145
- _toPlugin(uri, format, fromMarketplace, repositoryUri, removeCallback) {
145
+ async _toPlugin(uri, format, fromMarketplace, repositoryUri, removeCallback) {
146
146
  const key = ( uri.toString());
147
147
  const existing = this._pluginEntries.get(key);
148
148
  if (existing) {
@@ -155,7 +155,8 @@ class AbstractAgentPluginDiscovery extends Disposable {
155
155
  }
156
156
  const store = ( new DisposableStore());
157
157
  const enablement = derived(r => this._enablementModel.readEnabled(key, r));
158
- const manifest = observableValue("agentPluginManifest", undefined);
158
+ const initialManifest = await this._readManifest(uri, format);
159
+ const manifest = observableValue("agentPluginManifest", initialManifest);
159
160
  const observeComponent = (prop, doRead, tryReadEmbedded, defaultPath = prop) => {
160
161
  const secondObs = derivedOpts({
161
162
  equalsFn: equals
@@ -233,10 +234,10 @@ class AbstractAgentPluginDiscovery extends Disposable {
233
234
  });
234
235
  store.add(manifestWatcher);
235
236
  store.add(manifestWatcher.onDidChange(() => readManifest()));
236
- readManifest();
237
+ const manifestName = typeof initialManifest?.name === "string" && initialManifest.name.trim() ? initialManifest.name.trim() : undefined;
237
238
  const plugin = {
238
239
  uri,
239
- label: fromMarketplace?.name ?? basename(uri),
240
+ label: fromMarketplace?.name ?? manifestName ?? basename(uri),
240
241
  enablement,
241
242
  remove: removeCallback,
242
243
  hooks,
@@ -256,7 +257,7 @@ class AbstractAgentPluginDiscovery extends Disposable {
256
257
  }
257
258
  async _readManifest(pluginUri, format) {
258
259
  const json = await this._readJsonFile(joinPath(pluginUri, format.manifestPath));
259
- if (json && typeof json === "object") {
260
+ if (json && typeof json === "object" && !Array.isArray(json)) {
260
261
  return json;
261
262
  }
262
263
  return undefined;
@@ -634,13 +635,13 @@ let CopilotCliAgentPluginDiscovery = class CopilotCliAgentPluginDiscovery extend
634
635
  const {
635
636
  confirmed
636
637
  } = await this._dialogService.confirm({
637
- message: ( localize(7743, "This plugin was installed by the Copilot CLI. Remove it from disk?")),
638
+ message: ( localize(7828, "This plugin was installed by the Copilot CLI. Remove it from disk?")),
638
639
  detail: ( localize(
639
- 7744,
640
+ 7829,
640
641
  "The plugin directory '{0}' will be moved to the trash. You can reinstall it later via the Copilot CLI.",
641
642
  resource.fsPath
642
643
  )),
643
- primaryButton: ( localize(7745, "Remove"))
644
+ primaryButton: ( localize(7830, "Remove"))
644
645
  });
645
646
  if (!confirmed) {
646
647
  return;
@@ -660,7 +661,7 @@ CopilotCliAgentPluginDiscovery = ( __decorate([( __param(0, IFileService)), ( __
660
661
  const epPlugins = ExtensionsRegistry.registerExtensionPoint({
661
662
  extensionPoint: "chatPlugins",
662
663
  jsonSchema: {
663
- description: ( localize(7746, "Contributes agent plugins for chat.")),
664
+ description: ( localize(7831, "Contributes agent plugins for chat.")),
664
665
  type: "array",
665
666
  items: {
666
667
  additionalProperties: false,
@@ -674,13 +675,13 @@ const epPlugins = ExtensionsRegistry.registerExtensionPoint({
674
675
  properties: {
675
676
  path: {
676
677
  description: ( localize(
677
- 7747,
678
+ 7832,
678
679
  "Path to the agent plugin root directory relative to the extension root."
679
680
  )),
680
681
  type: "string"
681
682
  },
682
683
  when: {
683
- description: ( localize(7748, "(Optional) A condition which must be true to enable this plugin.")),
684
+ description: ( localize(7833, "(Optional) A condition which must be true to enable this plugin.")),
684
685
  type: "string"
685
686
  }
686
687
  }
@@ -717,7 +718,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
717
718
  for (const raw of ext.value) {
718
719
  if (!raw.path) {
719
720
  ext.collector.error(( localize(
720
- 7749,
721
+ 7834,
721
722
  "Extension '{0}' cannot register a chatPlugins entry without a path.",
722
723
  ext.description.identifier.value
723
724
  )));
@@ -726,7 +727,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
726
727
  const pluginUri = joinPath(ext.description.extensionLocation, raw.path);
727
728
  if (!isEqualOrParent(pluginUri, ext.description.extensionLocation)) {
728
729
  ext.collector.error(( localize(
729
- 7750,
730
+ 7835,
730
731
  "Extension '{0}' chatPlugins entry '{1}' resolves outside the extension.",
731
732
  ext.description.identifier.value,
732
733
  raw.path
@@ -738,7 +739,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
738
739
  whenExpr = ContextKeyExpr.deserialize(raw.when);
739
740
  if (!whenExpr) {
740
741
  ext.collector.error(( localize(
741
- 7751,
742
+ 7836,
742
743
  "Extension '{0}' chatPlugins entry '{1}' has an invalid when clause: '{2}'.",
743
744
  ext.description.identifier.value,
744
745
  raw.path,
@@ -809,7 +810,7 @@ let ExtensionAgentPluginDiscovery = class ExtensionAgentPluginDiscovery extends
809
810
  confirmed
810
811
  } = await this._dialogService.confirm({
811
812
  message: ( localize(
812
- 7752,
813
+ 7837,
813
814
  "This plugin is provided by the extension '{0}'. Do you want to uninstall the extension?",
814
815
  extensionId
815
816
  ))
@@ -842,7 +843,7 @@ class ChatPluginsDataRenderer extends Disposable {
842
843
  dispose: () => {}
843
844
  };
844
845
  }
845
- const headers = [( localize(7753, "Path")), ( localize(7754, "When"))];
846
+ const headers = [( localize(7838, "Path")), ( localize(7839, "When"))];
846
847
  const rows = ( contributions.map(d => [d.path, d.when ?? "-"]));
847
848
  return {
848
849
  data: {
@@ -855,7 +856,7 @@ class ChatPluginsDataRenderer extends Disposable {
855
856
  }
856
857
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
857
858
  id: "chatPlugins",
858
- label: ( localize(7755, "Chat Plugins")),
859
+ label: ( localize(7840, "Chat Plugins")),
859
860
  access: {
860
861
  canToggle: false
861
862
  },
@@ -25,7 +25,7 @@ function registerChatFilesExtensionPoint(point) {
25
25
  return ExtensionsRegistry.registerExtensionPoint({
26
26
  extensionPoint: point,
27
27
  jsonSchema: {
28
- description: ( localize(7756, "Contributes {0} for chat prompts.", point)),
28
+ description: ( localize(7841, "Contributes {0} for chat prompts.", point)),
29
29
  type: "array",
30
30
  items: {
31
31
  additionalProperties: false,
@@ -39,28 +39,28 @@ function registerChatFilesExtensionPoint(point) {
39
39
  properties: {
40
40
  path: {
41
41
  description: point === ChatContributionPoint.chatSkills ? ( localize(
42
- 7757,
42
+ 7842,
43
43
  "Path to the SKILL.md file relative to the extension root. The folder name must match the \"name\" property in SKILL.md."
44
- )) : ( localize(7758, "Path to the file relative to the extension root.")),
44
+ )) : ( localize(7843, "Path to the file relative to the extension root.")),
45
45
  type: "string"
46
46
  },
47
47
  name: {
48
- description: ( localize(7759, "(Optional) Name for this entry.")),
49
- deprecationMessage: ( localize(7760, "Specify \"name\" in the prompt file itself instead.")),
48
+ description: ( localize(7844, "(Optional) Name for this entry.")),
49
+ deprecationMessage: ( localize(7845, "Specify \"name\" in the prompt file itself instead.")),
50
50
  type: "string"
51
51
  },
52
52
  description: {
53
- description: ( localize(7761, "(Optional) Description of the entry.")),
54
- deprecationMessage: ( localize(7762, "Specify \"description\" in the prompt file itself instead.")),
53
+ description: ( localize(7846, "(Optional) Description of the entry.")),
54
+ deprecationMessage: ( localize(7847, "Specify \"description\" in the prompt file itself instead.")),
55
55
  type: "string"
56
56
  },
57
57
  when: {
58
- description: ( localize(7763, "(Optional) A condition which must be true to enable this entry.")),
58
+ description: ( localize(7848, "(Optional) A condition which must be true to enable this entry.")),
59
59
  type: "string"
60
60
  },
61
61
  sessionTypes: {
62
62
  description: ( localize(
63
- 7764,
63
+ 7849,
64
64
  "(Optional) The chat session types where this entry should be offered."
65
65
  )),
66
66
  type: "array",
@@ -116,7 +116,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
116
116
  for (const raw of ext.value) {
117
117
  if (!raw.path) {
118
118
  ext.collector.error(( localize(
119
- 7765,
119
+ 7850,
120
120
  "Extension '{0}' cannot register {1} entry without path.",
121
121
  ext.description.identifier.value,
122
122
  contributionPoint
@@ -126,7 +126,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
126
126
  const fileUri = joinPath(ext.description.extensionLocation, raw.path);
127
127
  if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
128
128
  ext.collector.error(( localize(
129
- 7766,
129
+ 7851,
130
130
  "Extension '{0}' {1} entry '{2}' resolves outside the extension.",
131
131
  ext.description.identifier.value,
132
132
  contributionPoint,
@@ -136,7 +136,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
136
136
  }
137
137
  if (raw.when && !ContextKeyExpr.deserialize(raw.when)) {
138
138
  ext.collector.error(( localize(
139
- 7767,
139
+ 7852,
140
140
  "Extension '{0}' {1} entry '{2}' has an invalid when clause: '{3}'.",
141
141
  ext.description.identifier.value,
142
142
  contributionPoint,
@@ -159,7 +159,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
159
159
  } catch (e) {
160
160
  const msg = e instanceof Error ? e.message : String(e);
161
161
  ext.collector.error(( localize(
162
- 7768,
162
+ 7853,
163
163
  "Extension '{0}' {1}. Failed to register {2}: {3}",
164
164
  ext.description.identifier.value,
165
165
  contributionPoint,
@@ -220,7 +220,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
220
220
  dispose: () => {}
221
221
  };
222
222
  }
223
- const headers = [( localize(7769, "Name")), ( localize(7770, "Description")), ( localize(7771, "Path"))];
223
+ const headers = [( localize(7854, "Name")), ( localize(7855, "Description")), ( localize(7856, "Path"))];
224
224
  const rows = ( contributions.map(d => {
225
225
  return [d.name ?? "-", d.description ?? "-", d.path];
226
226
  }));
@@ -235,7 +235,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
235
235
  }
236
236
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
237
237
  id: ChatContributionPoint.chatPromptFiles,
238
- label: ( localize(7772, "Chat Prompt Files")),
238
+ label: ( localize(7857, "Chat Prompt Files")),
239
239
  access: {
240
240
  canToggle: false
241
241
  },
@@ -243,7 +243,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
243
243
  });
244
244
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
245
245
  id: ChatContributionPoint.chatInstructions,
246
- label: ( localize(7773, "Chat Instructions")),
246
+ label: ( localize(7858, "Chat Instructions")),
247
247
  access: {
248
248
  canToggle: false
249
249
  },
@@ -251,7 +251,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
251
251
  });
252
252
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
253
253
  id: ChatContributionPoint.chatAgents,
254
- label: ( localize(7774, "Chat Agents")),
254
+ label: ( localize(7859, "Chat Agents")),
255
255
  access: {
256
256
  canToggle: false
257
257
  },
@@ -259,7 +259,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
259
259
  });
260
260
  ( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
261
261
  id: ChatContributionPoint.chatSkills,
262
- label: ( localize(7775, "Chat Skills")),
262
+ label: ( localize(7860, "Chat Skills")),
263
263
  access: {
264
264
  canToggle: false
265
265
  },
@@ -2,7 +2,6 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
4
4
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
5
- import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
6
5
  import { PromptHeaderAttributes } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
7
6
  import { getPromptsTypeForLanguageId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
8
7
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
@@ -25,7 +24,7 @@ let PromptHeaderDefinitionProvider = class PromptHeaderDefinitionProvider {
25
24
  }
26
25
  const agentAttr = header.getAttribute(PromptHeaderAttributes.agent) ?? header.getAttribute(PromptHeaderAttributes.mode);
27
26
  if (agentAttr && agentAttr.value.type === "scalar" && agentAttr.range.containsPosition(position)) {
28
- const agent = (await this.chatModeService.awaitModes(localChatSessionType)).findModeByName(agentAttr.value.value);
27
+ const agent = (await this.chatModeService.getLocalModes()).findModeByName(agentAttr.value.value);
29
28
  if (agent && agent.uri) {
30
29
  return {
31
30
  uri: agent.uri.get(),