@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
@@ -7,24 +7,34 @@ import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/c
7
7
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
8
  import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
9
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
- import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
10
+ import { equalsIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
11
11
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
12
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
13
- import { WebviewContentPurpose } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview';
13
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
14
+ import { ExtensionKeyedWebviewOriginStore, WebviewContentPurpose } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview';
14
15
  import { IWebviewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service';
15
16
  import { isProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
16
17
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
17
18
  import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
19
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
18
20
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
19
21
 
20
22
  let ChatOutputRendererService = class ChatOutputRendererService extends Disposable {
21
- constructor(_contextKeyService, _extensionService, _webviewService) {
23
+ constructor(
24
+ _contextKeyService,
25
+ _extensionService,
26
+ _webviewService,
27
+ _chatWidgetService,
28
+ storageService
29
+ ) {
22
30
  super();
23
31
  this._contextKeyService = _contextKeyService;
24
32
  this._extensionService = _extensionService;
25
33
  this._webviewService = _webviewService;
34
+ this._chatWidgetService = _chatWidgetService;
26
35
  this._contributions = ( new Map());
27
36
  this._renderers = ( new Map());
37
+ this._originStore = ( new ExtensionKeyedWebviewOriginStore("chatOutputRenderer.origins", storageService));
28
38
  this._register(chatOutputRenderContributionPoint.setHandler(extensions => {
29
39
  this.updateContributions(extensions);
30
40
  }));
@@ -41,18 +51,40 @@ let ChatOutputRendererService = class ChatOutputRendererService extends Disposab
41
51
  }
42
52
  };
43
53
  }
54
+ hasCodeBlockRenderer(languageIdentifier) {
55
+ return ( Array.from(( this._contributions.values())).some(value => ( value.codeBlockLanguageIdentifiers.some(identifier => equalsIgnoreCase(identifier, languageIdentifier)))));
56
+ }
44
57
  async renderOutputPart(mime, data, parent, webviewOptions, token) {
45
- const rendererData = await this.getRenderer(mime, token);
58
+ const rendererData = await this.getRendererForMime(mime, token);
46
59
  if (token.isCancellationRequested) {
47
60
  throw ( new CancellationError());
48
61
  }
49
62
  if (!rendererData) {
50
63
  throw ( new Error(`No renderer registered found for mime type: ${mime}`));
51
64
  }
65
+ return this.doRenderOutputPart(rendererData, mime, data, {}, parent, webviewOptions, token);
66
+ }
67
+ async renderCodeBlock(languageIdentifier, data, parent, webviewOptions, token) {
68
+ const rendererData = await this.getRendererForCodeBlock(languageIdentifier, token);
69
+ if (token.isCancellationRequested) {
70
+ throw ( new CancellationError());
71
+ }
72
+ if (!rendererData) {
73
+ throw ( new Error(
74
+ `No renderer registered found for code block language identifier: ${languageIdentifier}`
75
+ ));
76
+ }
77
+ return this.doRenderOutputPart(rendererData, "text/x-vscode-chat-code-block", data, {
78
+ codeBlockContext: {
79
+ languageIdentifier
80
+ }
81
+ }, parent, webviewOptions, token);
82
+ }
83
+ async doRenderOutputPart(rendererData, mime, data, context, parent, webviewOptions, token) {
52
84
  const store = ( new DisposableStore());
53
85
  const webview = store.add(this._webviewService.createWebviewElement({
54
- title: "",
55
- origin: webviewOptions.origin ?? generateUuid(),
86
+ title: webviewOptions.title ?? "",
87
+ origin: this.getOrigin(rendererData),
56
88
  providedViewType: rendererData.viewType,
57
89
  options: {
58
90
  enableFindWidget: false,
@@ -63,6 +95,11 @@ let ChatOutputRendererService = class ChatOutputRendererService extends Disposab
63
95
  extension: rendererData.options.extension ? rendererData.options.extension : undefined
64
96
  }));
65
97
  webview.setContextKeyService(store.add(this._contextKeyService.createScoped(parent)));
98
+ if (webviewOptions.chatSessionResource) {
99
+ store.add(
100
+ this.delegateScrollToChatWidget(webview, webviewOptions.chatSessionResource)
101
+ );
102
+ }
66
103
  const onDidChangeHeight = store.add(( new Emitter()));
67
104
  store.add(autorun(reader => {
68
105
  const height = reader.readObservable(webview.intrinsicContentSize);
@@ -75,7 +112,7 @@ let ChatOutputRendererService = class ChatOutputRendererService extends Disposab
75
112
  webview.state = webviewOptions.webviewState;
76
113
  }
77
114
  webview.mountTo(parent, getWindow(parent));
78
- await rendererData.renderer.renderOutputPart(mime, data, webview, token);
115
+ await rendererData.renderer.renderOutputPart(mime, data, webview, context, token);
79
116
  return {
80
117
  get webview() {
81
118
  return webview;
@@ -89,10 +126,28 @@ let ChatOutputRendererService = class ChatOutputRendererService extends Disposab
89
126
  }
90
127
  };
91
128
  }
92
- async getRenderer(mime, token) {
129
+ delegateScrollToChatWidget(webview, chatSessionResource) {
130
+ return webview.onDidWheel(e => {
131
+ this._chatWidgetService.getWidgetBySessionResource(chatSessionResource)?.delegateScrollFromMouseWheelEvent({
132
+ ...e,
133
+ preventDefault: () => {},
134
+ stopPropagation: () => {}
135
+ });
136
+ });
137
+ }
138
+ getOrigin(rendererData) {
139
+ return rendererData.options.extension ? this._originStore.getOrigin(rendererData.viewType, rendererData.options.extension.id) : undefined;
140
+ }
141
+ async getRendererForMime(mime, token) {
142
+ return this.getRenderer(value => ( value.mimes.some(m => matchesMimeType(m, [mime]))), token);
143
+ }
144
+ async getRendererForCodeBlock(languageIdentifier, token) {
145
+ return this.getRenderer(value => ( value.codeBlockLanguageIdentifiers.some(identifier => equalsIgnoreCase(identifier, languageIdentifier))), token);
146
+ }
147
+ async getRenderer(matches, token) {
93
148
  await raceCancellationError(this._extensionService.whenInstalledExtensionsRegistered(), token);
94
149
  for (const [id, value] of this._contributions) {
95
- if (( value.mimes.some(m => matchesMimeType(m, [mime])))) {
150
+ if (matches(value)) {
96
151
  await raceCancellationError(
97
152
  this._extensionService.activateByEvent(`onChatOutputRenderer:${id}`),
98
153
  token
@@ -118,26 +173,44 @@ let ChatOutputRendererService = class ChatOutputRendererService extends Disposab
118
173
  );
119
174
  continue;
120
175
  }
176
+ const mimeTypes = contribution.mimeTypes ?? [];
177
+ const codeBlockLanguageIdentifiers = contribution.codeBlockLanguageIdentifiers ?? [];
178
+ if (!mimeTypes.length && !codeBlockLanguageIdentifiers.length) {
179
+ extension.collector.error(
180
+ `Chat output renderer with view type '${contribution.viewType}' must specify at least one mime type or code block language identifier`
181
+ );
182
+ continue;
183
+ }
121
184
  this._contributions.set(contribution.viewType, {
122
- mimes: contribution.mimeTypes
185
+ mimes: mimeTypes,
186
+ codeBlockLanguageIdentifiers
123
187
  });
124
188
  }
125
189
  }
126
190
  }
127
191
  };
128
- ChatOutputRendererService = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IExtensionService)), ( __param(2, IWebviewService))], ChatOutputRendererService));
192
+ ChatOutputRendererService = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IExtensionService)), ( __param(2, IWebviewService)), ( __param(3, IChatWidgetService)), ( __param(4, IStorageService))], ChatOutputRendererService));
129
193
  const chatOutputRendererContributionSchema = {
130
194
  type: "object",
131
195
  additionalProperties: false,
132
- required: ["viewType", "mimeTypes"],
196
+ required: ["viewType"],
133
197
  properties: {
134
198
  viewType: {
135
199
  type: "string",
136
- description: ( localize(6461, "Unique identifier for the renderer."))
200
+ description: ( localize(6523, "Unique identifier for the renderer."))
137
201
  },
138
202
  mimeTypes: {
139
203
  type: "array",
140
- description: ( localize(6462, "MIME types that this renderer can handle")),
204
+ description: ( localize(6524, "MIME types that this renderer can handle")),
205
+ uniqueItems: true,
206
+ items: {
207
+ type: "string"
208
+ }
209
+ },
210
+ codeBlockLanguageIdentifiers: {
211
+ type: "array",
212
+ description: ( localize(6525, "Code block language identifiers that this renderer can handle")),
213
+ uniqueItems: true,
141
214
  items: {
142
215
  type: "string"
143
216
  }
@@ -152,7 +225,10 @@ const chatOutputRenderContributionPoint = ExtensionsRegistry.registerExtensionPo
152
225
  }
153
226
  },
154
227
  jsonSchema: {
155
- description: ( localize(6463, "Contributes a renderer for specific MIME types in chat outputs")),
228
+ description: ( localize(
229
+ 6526,
230
+ "Contributes a renderer for specific MIME types and code block language identifiers in chat outputs"
231
+ )),
156
232
  type: "array",
157
233
  items: chatOutputRendererContributionSchema
158
234
  }
@@ -29,10 +29,10 @@ import { ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vs
29
29
  import { ChatViewContainerId, ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
30
30
  import { ChatViewPane } from './widgetHosts/viewPane/chatViewPane.js';
31
31
 
32
- const chatViewIcon = registerIcon("chat-view-icon", Codicon.chatSparkle, ( localize(6464, "View icon of the chat view.")));
32
+ const chatViewIcon = registerIcon("chat-view-icon", Codicon.chatSparkle, ( localize(6527, "View icon of the chat view.")));
33
33
  const chatViewContainer = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
34
34
  id: ChatViewContainerId,
35
- title: ( localize2(6465, "Chat")),
35
+ title: ( localize2(6528, "Chat")),
36
36
  icon: chatViewIcon,
37
37
  ctorDescriptor: ( new SyncDescriptor(ViewPaneContainer, [ChatViewContainerId, {
38
38
  mergeViewWithContainerWhenSingleView: true
@@ -49,13 +49,13 @@ const chatViewDescriptor = {
49
49
  containerIcon: chatViewContainer.icon,
50
50
  containerTitle: chatViewContainer.title.value,
51
51
  singleViewPaneContainerTitle: chatViewContainer.title.value,
52
- name: ( localize2(6465, "Chat")),
52
+ name: ( localize2(6528, "Chat")),
53
53
  canToggleVisibility: false,
54
54
  canMoveView: true,
55
55
  openCommandActionDescriptor: {
56
56
  id: ChatViewContainerId,
57
57
  title: chatViewContainer.title,
58
- mnemonicTitle: ( localize(6466, "&&Chat")),
58
+ mnemonicTitle: ( localize(6529, "&&Chat")),
59
59
  keybindings: {
60
60
  primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyI,
61
61
  mac: {
@@ -71,7 +71,7 @@ const chatViewDescriptor = {
71
71
  const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
72
72
  extensionPoint: "chatParticipants",
73
73
  jsonSchema: {
74
- description: ( localize(6467, "Contributes a chat participant")),
74
+ description: ( localize(6530, "Contributes a chat participant")),
75
75
  type: "array",
76
76
  items: {
77
77
  additionalProperties: false,
@@ -85,12 +85,12 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
85
85
  required: ["name", "id"],
86
86
  properties: {
87
87
  id: {
88
- description: ( localize(6468, "A unique id for this chat participant.")),
88
+ description: ( localize(6531, "A unique id for this chat participant.")),
89
89
  type: "string"
90
90
  },
91
91
  name: {
92
92
  description: ( localize(
93
- 6469,
93
+ 6532,
94
94
  "User-facing name for this chat participant. The user will use '@' with this name to invoke the participant. Name must not contain whitespace."
95
95
  )),
96
96
  type: "string",
@@ -98,37 +98,37 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
98
98
  },
99
99
  fullName: {
100
100
  markdownDescription: ( localize(
101
- 6470,
101
+ 6533,
102
102
  "The full name of this chat participant, which is shown as the label for responses coming from this participant. If not provided, {0} is used.",
103
103
  "`name`"
104
104
  )),
105
105
  type: "string"
106
106
  },
107
107
  description: {
108
- description: ( localize(6471, "A description of this chat participant, shown in the UI.")),
108
+ description: ( localize(6534, "A description of this chat participant, shown in the UI.")),
109
109
  type: "string"
110
110
  },
111
111
  isSticky: {
112
112
  description: ( localize(
113
- 6472,
113
+ 6535,
114
114
  "Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
115
115
  )),
116
116
  type: "boolean"
117
117
  },
118
118
  sampleRequest: {
119
119
  description: ( localize(
120
- 6473,
120
+ 6536,
121
121
  "When the user clicks this participant in `/help`, this text will be submitted to the participant."
122
122
  )),
123
123
  type: "string"
124
124
  },
125
125
  when: {
126
- description: ( localize(6474, "A condition which must be true to enable this participant.")),
126
+ description: ( localize(6537, "A condition which must be true to enable this participant.")),
127
127
  type: "string"
128
128
  },
129
129
  disambiguation: {
130
130
  description: ( localize(
131
- 6475,
131
+ 6538,
132
132
  "Metadata to help with automatically routing user questions to this chat participant."
133
133
  )),
134
134
  type: "array",
@@ -146,21 +146,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
146
146
  properties: {
147
147
  category: {
148
148
  markdownDescription: ( localize(
149
- 6476,
149
+ 6539,
150
150
  "A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
151
151
  )),
152
152
  type: "string"
153
153
  },
154
154
  description: {
155
155
  description: ( localize(
156
- 6477,
156
+ 6540,
157
157
  "A detailed description of the kinds of questions that are suitable for this chat participant."
158
158
  )),
159
159
  type: "string"
160
160
  },
161
161
  examples: {
162
162
  description: ( localize(
163
- 6478,
163
+ 6541,
164
164
  "A list of representative example questions that are suitable for this chat participant."
165
165
  )),
166
166
  type: "array"
@@ -170,7 +170,7 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
170
170
  },
171
171
  commands: {
172
172
  markdownDescription: ( localize(
173
- 6479,
173
+ 6542,
174
174
  "Commands available for this chat participant, which the user can invoke with a `/`."
175
175
  )),
176
176
  type: "array",
@@ -187,36 +187,36 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
187
187
  properties: {
188
188
  name: {
189
189
  description: ( localize(
190
- 6480,
190
+ 6543,
191
191
  "A short name by which this command is referred to in the UI, e.g. `fix` or `explain` for commands that fix an issue or explain code. The name should be unique among the commands provided by this participant."
192
192
  )),
193
193
  type: "string"
194
194
  },
195
195
  description: {
196
- description: ( localize(6481, "A description of this command.")),
196
+ description: ( localize(6544, "A description of this command.")),
197
197
  type: "string"
198
198
  },
199
199
  when: {
200
- description: ( localize(6482, "A condition which must be true to enable this command.")),
200
+ description: ( localize(6545, "A condition which must be true to enable this command.")),
201
201
  type: "string"
202
202
  },
203
203
  sampleRequest: {
204
204
  description: ( localize(
205
- 6483,
205
+ 6546,
206
206
  "When the user clicks this command in `/help`, this text will be submitted to the participant."
207
207
  )),
208
208
  type: "string"
209
209
  },
210
210
  isSticky: {
211
211
  description: ( localize(
212
- 6472,
212
+ 6535,
213
213
  "Whether invoking the command puts the chat into a persistent mode, where the command is automatically added to the chat input for the next message."
214
214
  )),
215
215
  type: "boolean"
216
216
  },
217
217
  disambiguation: {
218
218
  description: ( localize(
219
- 6484,
219
+ 6547,
220
220
  "Metadata to help with automatically routing user questions to this chat command."
221
221
  )),
222
222
  type: "array",
@@ -234,21 +234,21 @@ const chatParticipantExtensionPoint = ExtensionsRegistry.registerExtensionPoint(
234
234
  properties: {
235
235
  category: {
236
236
  markdownDescription: ( localize(
237
- 6485,
237
+ 6548,
238
238
  "A detailed name for this category, e.g. `workspace_questions` or `web_questions`."
239
239
  )),
240
240
  type: "string"
241
241
  },
242
242
  description: {
243
243
  description: ( localize(
244
- 6486,
244
+ 6549,
245
245
  "A detailed description of the kinds of questions that are suitable for this chat command."
246
246
  )),
247
247
  type: "string"
248
248
  },
249
249
  examples: {
250
250
  description: ( localize(
251
- 6487,
251
+ 6550,
252
252
  "A list of representative example questions that are suitable for this chat command."
253
253
  )),
254
254
  type: "array"
@@ -399,9 +399,9 @@ let ChatCompatibilityNotifier = class ChatCompatibilityNotifier extends Disposab
399
399
  return;
400
400
  }
401
401
  this.registeredWelcomeView = true;
402
- const showExtensionLabel = ( localize(6488, "Show Extension"));
402
+ const showExtensionLabel = ( localize(6551, "Show Extension"));
403
403
  const mainMessage = ( localize(
404
- 6489,
404
+ 6552,
405
405
  "Chat failed to load because the installed version of the Copilot Chat extension is not compatible with this version of {0}. Please ensure that the Copilot Chat extension is up to date.",
406
406
  this.productService.nameLong
407
407
  ));
@@ -437,7 +437,7 @@ class ChatParticipantDataRenderer extends Disposable {
437
437
  dispose: () => {}
438
438
  };
439
439
  }
440
- const headers = [( localize(6490, "Name")), ( localize(6491, "Full Name")), ( localize(6492, "Description")), ( localize(6493, "Commands"))];
440
+ const headers = [( localize(6553, "Name")), ( localize(6554, "Full Name")), ( localize(6555, "Description")), ( localize(6556, "Commands"))];
441
441
  const rows = ( nonDefaultContributions.map(d => {
442
442
  return [
443
443
  "@" + d.name,
@@ -457,7 +457,7 @@ class ChatParticipantDataRenderer extends Disposable {
457
457
  }
458
458
  ( Registry.as(Extensions$1.ExtensionFeaturesRegistry)).registerExtensionFeature({
459
459
  id: "chatParticipants",
460
- label: ( localize(6494, "Chat Participants")),
460
+ label: ( localize(6557, "Chat Participants")),
461
461
  access: {
462
462
  canToggle: false
463
463
  },
@@ -127,13 +127,13 @@ let ChatRepoInfoContribution = class ChatRepoInfoContribution extends Disposable
127
127
  const registry = ( Registry.as(Extensions.Configuration));
128
128
  registry.registerConfiguration({
129
129
  id: "chatRepoInfo",
130
- title: ( localize(6495, "Chat Repository Info")),
130
+ title: ( localize(6558, "Chat Repository Info")),
131
131
  type: "object",
132
132
  properties: {
133
133
  [ChatConfiguration.RepoInfoEnabled]: {
134
134
  type: "boolean",
135
135
  description: ( localize(
136
- 6496,
136
+ 6559,
137
137
  "Controls whether lightweight repository metadata (branch, commit, remotes) is captured when a chat request is submitted for internal diagnostics."
138
138
  )),
139
139
  default: false
@@ -28,12 +28,14 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
28
28
  import { IMarkerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markers/common/markers.service';
29
29
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
30
30
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
31
+ import { GitHubPaths } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount';
32
+ import { IDefaultAccountService } from '@codingame/monaco-vscode-api/vscode/vs/platform/defaultAccount/common/defaultAccount.service';
31
33
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
32
34
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
33
35
  import { ToggleTitleBarConfigAction } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/titlebar/titlebarActions';
34
36
  import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
35
37
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
36
- import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
38
+ import { ChatEntitlement, ChatEntitlementContextKeys, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
37
39
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
38
40
  import { EnablementState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
39
41
  import { IWorkbenchExtensionEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
@@ -61,7 +63,6 @@ import { ChatSetup } from './chatSetupRunner.js';
61
63
 
62
64
  const defaultChat = {
63
65
  chatExtensionId: product.defaultChatAgent?.chatExtensionId ?? "",
64
- manageOverageUrl: product.defaultChatAgent?.manageOverageUrl ?? "",
65
66
  upgradePlanUrl: product.defaultChatAgent?.upgradePlanUrl ?? "",
66
67
  chatRefreshTokenCommand: product.defaultChatAgent?.chatRefreshTokenCommand ?? ""
67
68
  };
@@ -225,7 +226,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
225
226
  registerActions(context, requests, controller) {
226
227
  class ChatSetupTriggerAction extends Action2 {
227
228
  static {
228
- this.CHAT_SETUP_ACTION_LABEL = ( localize2(6544, "Use AI Features with Copilot for free..."));
229
+ this.CHAT_SETUP_ACTION_LABEL = ( localize2(6607, "Use AI Features with Copilot for free..."));
229
230
  }
230
231
  constructor() {
231
232
  super({
@@ -276,8 +277,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
276
277
  confirmed
277
278
  } = await dialogService.confirm({
278
279
  type: Severity.Error,
279
- message: ( localize(6545, "Chat setup failed. Would you like to try again?")),
280
- primaryButton: ( localize(6546, "Retry"))
280
+ message: ( localize(6608, "Chat setup failed. Would you like to try again?")),
281
+ primaryButton: ( localize(6609, "Retry"))
281
282
  });
282
283
  if (confirmed) {
283
284
  return Boolean(await commandService.executeCommand(CHAT_SETUP_ACTION_ID, mode, options));
@@ -322,7 +323,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
322
323
  constructor() {
323
324
  super({
324
325
  id: "workbench.action.chat.triggerSetupForceSignIn",
325
- title: ( localize2(6547, "Sign in to use AI features"))
326
+ title: ( localize2(6610, "Sign in to use AI features"))
326
327
  });
327
328
  }
328
329
  async run(accessor) {
@@ -360,11 +361,11 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
360
361
  constructor() {
361
362
  super({
362
363
  id: "workbench.action.chat.triggerSetupFromAccounts",
363
- title: ( localize2(6548, "Sign in to use AI features...")),
364
+ title: ( localize2(6611, "Sign in to use AI features...")),
364
365
  menu: {
365
366
  id: MenuId.AccountsContext,
366
367
  group: "2_copilot",
367
- when: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ChatContextKeys.Setup.completed.negate()), ChatContextKeys.Entitlement.signedOut))
368
+ when: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ChatContextKeys.Setup.completed.negate()), ( ChatEntitlementContextKeys.hasByokModels.negate()), ChatContextKeys.Entitlement.signedOut))
368
369
  }
369
370
  });
370
371
  }
@@ -385,12 +386,12 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
385
386
  constructor() {
386
387
  super({
387
388
  id: ChatSetupSignInTitleBarAction.ID,
388
- title: ( localize(6549, "Sign In")),
389
+ title: ( localize(6612, "Sign In")),
389
390
  f1: false,
390
391
  menu: [{
391
392
  id: MenuId.TitleBarAdjacentCenter,
392
393
  order: 0,
393
- when: ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.equals(`config.${ChatConfiguration.TitleBarSignInEnabled}`, true)), ( ( ContextKeyExpr.has("updateTitleBar")).negate()), ( InEditorZenModeContext.negate())))
394
+ when: ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatEntitlementContextKeys.hasByokModels.negate()), ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.equals(`config.${ChatConfiguration.TitleBarSignInEnabled}`, true)), ( ( ContextKeyExpr.has("updateTitleBar")).negate()), ( InEditorZenModeContext.negate())))
394
395
  }]
395
396
  });
396
397
  }
@@ -406,7 +407,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
406
407
  }
407
408
  class ToggleSignInTitleBarAction extends ToggleTitleBarConfigAction {
408
409
  constructor() {
409
- super(ChatConfiguration.TitleBarSignInEnabled, ( localize(6550, "Copilot Sign In")), ( localize(6551, "Toggle visibility of the Copilot Sign In button in title bar")), 3, ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))));
410
+ super(ChatConfiguration.TitleBarSignInEnabled, ( localize(6613, "Copilot Sign In")), ( localize(6614, "Toggle visibility of the Copilot Sign In button in title bar")), 3, ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))));
410
411
  }
411
412
  }
412
413
  const windowFocusListener = this._register(( new MutableDisposable()));
@@ -414,8 +415,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
414
415
  constructor() {
415
416
  super({
416
417
  id: "workbench.action.chat.upgradePlan",
417
- title: ( localize2(6552, "Upgrade to GitHub Copilot Pro")),
418
- category: ( localize2(6553, "Chat")),
418
+ title: ( localize2(6615, "Upgrade to GitHub Copilot Pro")),
419
+ category: ( localize2(6616, "Chat")),
419
420
  f1: true,
420
421
  precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.or(
421
422
  ChatContextKeys.Entitlement.canSignUp,
@@ -461,8 +462,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
461
462
  constructor() {
462
463
  super({
463
464
  id: "workbench.action.chat.manageAdditionalSpend",
464
- title: ( localize2(6554, "Manage GitHub Copilot Additional Spend")),
465
- category: ( localize2(6553, "Chat")),
465
+ title: ( localize2(6617, "Manage GitHub Copilot Budget")),
466
+ category: ( localize2(6616, "Chat")),
466
467
  f1: true,
467
468
  precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.or(
468
469
  ChatContextKeys.Entitlement.planPro,
@@ -489,11 +490,12 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
489
490
  async run(accessor) {
490
491
  const openerService = accessor.get(IOpenerService);
491
492
  const telemetryService = accessor.get(ITelemetryService);
493
+ const defaultAccountService = accessor.get(IDefaultAccountService);
492
494
  telemetryService.publicLog2("workbenchActionExecuted", {
493
495
  id: "workbench.action.chat.manageAdditionalSpend",
494
496
  from: "command"
495
497
  });
496
- openerService.open(( URI.parse(defaultChat.manageOverageUrl)));
498
+ openerService.open(( URI.parse(defaultAccountService.resolveGitHubUrl(GitHubPaths.billingBudgets))));
497
499
  }
498
500
  }
499
501
  registerAction2(ChatSetupTriggerAction);
@@ -548,7 +550,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
548
550
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
549
551
  command: {
550
552
  id: "chat.internal.explain",
551
- title: ( localize(6555, "Explain"))
553
+ title: ( localize(6618, "Explain"))
552
554
  },
553
555
  group: "1_chat",
554
556
  order: 4,
@@ -557,7 +559,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
557
559
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
558
560
  command: {
559
561
  id: "chat.internal.fix",
560
- title: ( localize(6556, "Fix"))
562
+ title: ( localize(6619, "Fix"))
561
563
  },
562
564
  group: "1_chat",
563
565
  order: 5,
@@ -566,7 +568,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
566
568
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
567
569
  command: {
568
570
  id: "chat.internal.review",
569
- title: ( localize(6557, "Code Review"))
571
+ title: ( localize(6620, "Code Review"))
570
572
  },
571
573
  group: "1_chat",
572
574
  order: 6,
@@ -738,7 +740,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
738
740
  }
739
741
  await this.extensionsWorkbenchService.setEnablement([defaultChatExtension], state);
740
742
  await this.extensionsWorkbenchService.updateRunningExtensions(
741
- state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(6558, "Enabling AI features")) : ( localize(6559, "Disabling AI features"))
743
+ state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(6621, "Enabling AI features")) : ( localize(6622, "Disabling AI features"))
742
744
  );
743
745
  }
744
746
  maybeHideAuxiliaryBar() {
@@ -756,7 +758,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
756
758
  this.ID = "workbench.action.chat.hideSetup";
757
759
  }
758
760
  static {
759
- this.TITLE = ( localize2(6560, "Learn How to Hide AI Features"));
761
+ this.TITLE = ( localize2(6623, "Learn How to Hide AI Features"));
760
762
  }
761
763
  constructor() {
762
764
  super({