@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,7 +7,6 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
7
7
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
8
8
  import { IInlineCompletionsService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/inlineCompletionsService.service";
9
9
  import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
10
- import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
11
10
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
12
11
  export declare class ChatStatusBarEntry extends Disposable implements IWorkbenchContribution {
13
12
  private readonly chatEntitlementService;
@@ -17,7 +16,6 @@ export declare class ChatStatusBarEntry extends Disposable implements IWorkbench
17
16
  private readonly configurationService;
18
17
  private readonly completionsService;
19
18
  private readonly chatSessionsService;
20
- private readonly hoverService;
21
19
  private readonly contextKeyService;
22
20
  static readonly ID = "workbench.contrib.chatStatusBarEntry";
23
21
  private static readonly TITLE_BAR_CONTEXT_KEYS;
@@ -25,7 +23,7 @@ export declare class ChatStatusBarEntry extends Disposable implements IWorkbench
25
23
  private readonly activeCodeEditorListener;
26
24
  private readonly entryAnchor;
27
25
  private runningSessionsCount;
28
- constructor(chatEntitlementService: ChatEntitlementService, instantiationService: IInstantiationService, statusbarService: IStatusbarService, editorService: IEditorService, configurationService: IConfigurationService, completionsService: IInlineCompletionsService, chatSessionsService: IChatSessionsService, hoverService: IHoverService, contextKeyService: IContextKeyService);
26
+ constructor(chatEntitlementService: ChatEntitlementService, instantiationService: IInstantiationService, statusbarService: IStatusbarService, editorService: IEditorService, configurationService: IConfigurationService, completionsService: IInlineCompletionsService, chatSessionsService: IChatSessionsService, contextKeyService: IContextKeyService);
29
27
  private update;
30
28
  private registerListeners;
31
29
  private onDidActiveEditorChange;
@@ -6,7 +6,7 @@ import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monac
6
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { StatusbarAlignment, ShowTooltipCommand } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar';
8
8
  import { IStatusbarService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
9
- import { ChatEntitlement, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
9
+ import { ChatEntitlementContextKeys, ChatEntitlement, isProUser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
10
10
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
11
11
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
12
12
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
@@ -20,8 +20,6 @@ import { $, disposableWindowInterval } from '@codingame/monaco-vscode-api/vscode
20
20
  import { isNewUser } from './chatStatus.js';
21
21
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
22
22
  import { isCompletionsEnabled } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/completionsEnablement';
23
- import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
24
- import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
25
23
  import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
26
24
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
27
25
  import { isWeb } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
@@ -38,7 +36,11 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
38
36
  this.ID = "workbench.contrib.chatStatusBarEntry";
39
37
  }
40
38
  static {
41
- this.TITLE_BAR_CONTEXT_KEYS = ( new Set(["updateTitleBar", InEditorZenModeContext.key]));
39
+ this.TITLE_BAR_CONTEXT_KEYS = ( new Set([
40
+ "updateTitleBar",
41
+ InEditorZenModeContext.key,
42
+ ChatEntitlementContextKeys.hasByokModels.key
43
+ ]));
42
44
  }
43
45
  constructor(
44
46
  chatEntitlementService,
@@ -48,7 +50,6 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
48
50
  configurationService,
49
51
  completionsService,
50
52
  chatSessionsService,
51
- hoverService,
52
53
  contextKeyService
53
54
  ) {
54
55
  super();
@@ -59,43 +60,11 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
59
60
  this.configurationService = configurationService;
60
61
  this.completionsService = completionsService;
61
62
  this.chatSessionsService = chatSessionsService;
62
- this.hoverService = hoverService;
63
63
  this.contextKeyService = contextKeyService;
64
64
  this.entry = undefined;
65
65
  this.activeCodeEditorListener = this._register(( new MutableDisposable()));
66
66
  this.entryAnchor = $("span");
67
67
  this.runningSessionsCount = this.chatSessionsService.getInProgress().reduce((total, item) => total + item.count, 0);
68
- this._register(
69
- CommandsRegistry.registerCommand("workbench.action.chat.openCopilotStatus", () => {
70
- const target = this.entryAnchor.parentElement;
71
- if (!target) {
72
- return;
73
- }
74
- const store = ( new DisposableStore());
75
- const content = ChatStatusDashboard.instantiateInContents(this.instantiationService, store, undefined);
76
- const hover = this.hoverService.showInstantHover({
77
- content,
78
- target,
79
- persistence: {
80
- hideOnKeyDown: true,
81
- sticky: true
82
- },
83
- appearance: {
84
- maxHeightRatio: 0.9
85
- }
86
- }, true);
87
- if (hover) {
88
- store.add(hover);
89
- store.add(disposableWindowInterval(mainWindow, () => {
90
- if (!content.isConnected) {
91
- store.dispose();
92
- }
93
- }, 2000));
94
- } else {
95
- store.dispose();
96
- }
97
- })
98
- );
99
68
  this.update();
100
69
  this.registerListeners();
101
70
  }
@@ -157,7 +126,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
157
126
  }
158
127
  getEntryProps() {
159
128
  let text = "$(copilot)";
160
- let ariaLabel = ( localize(6682, "Copilot status"));
129
+ let ariaLabel = ( localize(6746, "Copilot status"));
161
130
  let kind;
162
131
  if (isNewUser(this.chatEntitlementService)) {
163
132
  const entitlement = this.chatEntitlementService.entitlement;
@@ -166,47 +135,55 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
166
135
  return this.getSetupEntryProps();
167
136
  }
168
137
  } else {
169
- const chatQuotaExceeded = this.chatEntitlementService.quotas.chat?.percentRemaining === 0;
170
- const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
138
+ const quotas = this.chatEntitlementService.quotas;
139
+ const chatQuotaExceeded = quotas.chat?.percentRemaining === 0;
140
+ const completionsQuotaExceeded = quotas.completions?.percentRemaining === 0;
141
+ const isPooledQuotaDepleted = quotas.premiumChat?.unlimited && quotas.premiumChat.hasQuota === false && !(quotas.additionalUsageEnabled ?? false);
171
142
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
172
143
  text = "$(copilot-unavailable)";
173
- ariaLabel = ( localize(6683, "Copilot disabled"));
144
+ ariaLabel = ( localize(6747, "Copilot disabled"));
174
145
  }
175
146
  else if (this.runningSessionsCount > 0) {
176
147
  text = "$(copilot-in-progress)";
177
148
  if (this.runningSessionsCount > 1) {
178
- ariaLabel = ( localize(6684, "{0} agent sessions in progress", this.runningSessionsCount));
149
+ ariaLabel = ( localize(6748, "{0} agent sessions in progress", this.runningSessionsCount));
179
150
  } else {
180
- ariaLabel = ( localize(6685, "1 agent session in progress"));
151
+ ariaLabel = ( localize(6749, "1 agent session in progress"));
181
152
  }
182
153
  }
183
- else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
154
+ else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown && !this.chatEntitlementService.hasByokModels) {
184
155
  return this.getSetupEntryProps();
185
156
  }
186
157
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
187
158
  let quotaWarning;
188
159
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
189
- quotaWarning = ( localize(6686, "Chat quota reached"));
160
+ quotaWarning = ( localize(6750, "Chat quota reached"));
190
161
  } else if (completionsQuotaExceeded && !chatQuotaExceeded) {
191
- quotaWarning = ( localize(6687, "Inline suggestions quota reached"));
162
+ quotaWarning = ( localize(6751, "Inline suggestions quota reached"));
192
163
  } else {
193
- quotaWarning = ( localize(6688, "Quota reached"));
164
+ quotaWarning = ( localize(6752, "Quota reached"));
194
165
  }
195
166
  text = `$(copilot-warning) ${quotaWarning}`;
196
167
  ariaLabel = quotaWarning;
197
168
  kind = "prominent";
198
169
  }
170
+ else if ((this.chatEntitlementService.entitlement === ChatEntitlement.Business || this.chatEntitlementService.entitlement === ChatEntitlement.Enterprise) && isPooledQuotaDepleted) {
171
+ const quotaWarning = ( localize(6752, "Quota reached"));
172
+ text = `$(copilot-warning) ${quotaWarning}`;
173
+ ariaLabel = quotaWarning;
174
+ kind = "prominent";
175
+ }
199
176
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
200
177
  text = "$(copilot-unavailable)";
201
- ariaLabel = ( localize(6689, "Inline suggestions disabled"));
178
+ ariaLabel = ( localize(6753, "Inline suggestions disabled"));
202
179
  }
203
180
  else if (this.completionsService.isSnoozing()) {
204
181
  text = "$(copilot-snooze)";
205
- ariaLabel = ( localize(6690, "Inline suggestions snoozed"));
182
+ ariaLabel = ( localize(6754, "Inline suggestions snoozed"));
206
183
  }
207
184
  }
208
185
  const baseResult = {
209
- name: ( localize(6691, "Copilot Status")),
186
+ name: ( localize(6755, "Copilot Status")),
210
187
  text,
211
188
  ariaLabel,
212
189
  command: ShowTooltipCommand,
@@ -233,11 +210,11 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
233
210
  }
234
211
  getSetupEntryProps() {
235
212
  const showSignInLabel = !this.isSignInTitleBarAffordanceVisible();
236
- const signInLabel = ( localize(6692, "Sign In"));
213
+ const signInLabel = ( localize(6756, "Sign In"));
237
214
  return {
238
- name: ( localize(6691, "Copilot Status")),
215
+ name: ( localize(6755, "Copilot Status")),
239
216
  text: showSignInLabel ? `$(copilot) ${signInLabel}` : "$(copilot)",
240
- ariaLabel: showSignInLabel ? signInLabel : ( localize(6682, "Copilot status")),
217
+ ariaLabel: showSignInLabel ? signInLabel : ( localize(6746, "Copilot status")),
241
218
  command: CHAT_SETUP_ACTION_ID,
242
219
  showInAllWindows: true,
243
220
  kind: undefined,
@@ -271,6 +248,6 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
271
248
  this.entry = undefined;
272
249
  }
273
250
  };
274
- ChatStatusBarEntry = ChatStatusBarEntry_1 = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IInstantiationService)), ( __param(2, IStatusbarService)), ( __param(3, IEditorService)), ( __param(4, IConfigurationService)), ( __param(5, IInlineCompletionsService)), ( __param(6, IChatSessionsService)), ( __param(7, IHoverService)), ( __param(8, IContextKeyService))], ChatStatusBarEntry));
251
+ ChatStatusBarEntry = ChatStatusBarEntry_1 = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IInstantiationService)), ( __param(2, IStatusbarService)), ( __param(3, IEditorService)), ( __param(4, IConfigurationService)), ( __param(5, IInlineCompletionsService)), ( __param(6, IChatSessionsService)), ( __param(7, IContextKeyService))], ChatStatusBarEntry));
275
252
 
276
253
  export { ChatStatusBarEntry };
@@ -11,6 +11,7 @@ export type ChatStatusEntry = {
11
11
  };
12
12
  description: string;
13
13
  detail: string | undefined;
14
+ tooltip: string | undefined;
14
15
  };
15
16
  export declare class ChatStatusItemService implements IChatStatusItemService {
16
17
  readonly _serviceBrand: undefined;
@@ -39,6 +39,15 @@
39
39
  margin-top: 0;
40
40
  }
41
41
 
42
+ .chat-status-bar-entry-tooltip .collapsible-header.non-collapsible {
43
+ cursor: default;
44
+ }
45
+
46
+ .chat-status-bar-entry-tooltip .contributed-section {
47
+ display: flex;
48
+ flex-direction: column;
49
+ }
50
+
42
51
  .chat-status-bar-entry-tooltip .collapsible-header:focus {
43
52
  outline: none;
44
53
  }
@@ -57,6 +66,15 @@
57
66
  margin-top: 2px;
58
67
  }
59
68
 
69
+ .chat-status-bar-entry-tooltip .contributed-info-icon {
70
+ font-size: 12px;
71
+ display: flex;
72
+ align-items: center;
73
+ flex-shrink: 0;
74
+ opacity: 0.7;
75
+ color: var(--vscode-descriptionForeground);
76
+ }
77
+
60
78
  .chat-status-bar-entry-tooltip .collapsible-label {
61
79
  white-space: nowrap;
62
80
  flex-shrink: 0;
@@ -89,6 +107,16 @@
89
107
  color: var(--vscode-descriptionForeground);
90
108
  }
91
109
 
110
+ .chat-status-bar-entry-tooltip .contributed-detail {
111
+ font-size: 12px;
112
+ line-height: 16px;
113
+ font-weight: 400;
114
+ color: var(--vscode-descriptionForeground);
115
+ min-width: 0;
116
+ padding-bottom: 6px;
117
+ white-space: normal;
118
+ }
119
+
92
120
  .chat-status-bar-entry-tooltip .collapsible-content {
93
121
  display: grid;
94
122
  grid-template-rows: 1fr;
@@ -182,6 +210,11 @@
182
210
  margin-bottom: 4px;
183
211
  }
184
212
 
213
+ .chat-status-bar-entry-tooltip .quota-indicator.included.compact {
214
+ display: flex;
215
+ flex-direction: column;
216
+ }
217
+
185
218
  .chat-status-bar-entry-tooltip .quota-indicator .quota-title {
186
219
  font-size: 13px;
187
220
  line-height: 18px;
@@ -237,6 +270,52 @@
237
270
  border-radius: 4px;
238
271
  }
239
272
 
273
+ /* Compact Quota Indicator (2x2 grid: plan name + percentage, reset + label) */
274
+
275
+ .chat-status-bar-entry-tooltip .quota-indicator.compact {
276
+ display: grid;
277
+ grid-template-columns: 1fr auto;
278
+ grid-template-rows: auto auto;
279
+ grid-template-areas:
280
+ "title value"
281
+ "reset suffix";
282
+ column-gap: 12px;
283
+ row-gap: 2px;
284
+ }
285
+
286
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-title {
287
+ grid-area: title;
288
+ margin-bottom: 0;
289
+ font-size: 14px;
290
+ }
291
+
292
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-details {
293
+ display: contents;
294
+ }
295
+
296
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-percentage {
297
+ display: contents;
298
+ }
299
+
300
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-percentage .quota-value {
301
+ grid-area: value;
302
+ text-align: right;
303
+ font-size: 14px;
304
+ line-height: inherit;
305
+ }
306
+
307
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-percentage .quota-value-suffix {
308
+ grid-area: suffix;
309
+ text-align: right;
310
+ font-size: 12px;
311
+ line-height: 16px;
312
+ color: var(--vscode-descriptionForeground);
313
+ }
314
+
315
+ .chat-status-bar-entry-tooltip .quota-indicator.compact .quota-reset {
316
+ grid-area: reset;
317
+ }
318
+
240
319
  /* Quota Callout */
241
320
 
242
321
  .chat-status-bar-entry-tooltip .quota-callout {
@@ -268,6 +347,15 @@
268
347
  color: var(--vscode-focusBorder);
269
348
  }
270
349
 
350
+ /* Compact mode: quota callout matches compact notification style */
351
+ .chat-status-bar-entry-tooltip.compact .quota-callout {
352
+ border: none;
353
+ border-radius: 0;
354
+ margin-left: -8px;
355
+ margin-right: -8px;
356
+ margin-top: -10px;
357
+ }
358
+
271
359
 
272
360
  /* Settings */
273
361
 
@@ -34,7 +34,7 @@ const TIP_CATALOG = [{
34
34
  priority: 0,
35
35
  buildMessage(_ctx) {
36
36
  return (new MarkdownString(localize(
37
- 6693,
37
+ 6757,
38
38
  "Using GPT-4.1? Try switching to [Auto](command:workbench.action.chat.openModelPicker \"Open Model Picker\") in the model picker for better coding performance."
39
39
  )));
40
40
  },
@@ -46,7 +46,7 @@ const TIP_CATALOG = [{
46
46
  buildMessage(ctx) {
47
47
  const kb = formatKeybinding(ctx, GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID);
48
48
  return (new MarkdownString(localize(
49
- 6694,
49
+ 6758,
50
50
  "Use [{0}](command:{1} \"Run /init\"){2} to generate or update a workspace instructions file for AI coding agents.",
51
51
  "/init",
52
52
  GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID,
@@ -64,7 +64,7 @@ const TIP_CATALOG = [{
64
64
  buildMessage(ctx) {
65
65
  const kb = formatKeybinding(ctx, GENERATE_PROMPT_COMMAND_ID);
66
66
  return (new MarkdownString(localize(
67
- 6695,
67
+ 6759,
68
68
  "Use [{0}](command:{1} \"Run /create-prompt\"){2} to generate a reusable prompt file with the agent.",
69
69
  "/create-prompt",
70
70
  GENERATE_PROMPT_COMMAND_ID,
@@ -80,7 +80,7 @@ const TIP_CATALOG = [{
80
80
  buildMessage(ctx) {
81
81
  const kb = formatKeybinding(ctx, GENERATE_AGENT_COMMAND_ID);
82
82
  return (new MarkdownString(localize(
83
- 6696,
83
+ 6760,
84
84
  "Use [{0}](command:{1} \"Run /create-agent\"){2} to scaffold a custom agent for your workflow.",
85
85
  "/create-agent",
86
86
  GENERATE_AGENT_COMMAND_ID,
@@ -96,7 +96,7 @@ const TIP_CATALOG = [{
96
96
  buildMessage(ctx) {
97
97
  const kb = formatKeybinding(ctx, GENERATE_SKILL_COMMAND_ID);
98
98
  return (new MarkdownString(localize(
99
- 6697,
99
+ 6761,
100
100
  "Use [{0}](command:{1} \"Run /create-skill\"){2} to create a skill the agent can load when relevant.",
101
101
  "/create-skill",
102
102
  GENERATE_SKILL_COMMAND_ID,
@@ -112,7 +112,7 @@ const TIP_CATALOG = [{
112
112
  buildMessage(ctx) {
113
113
  const kb = formatKeybinding(ctx, "workbench.action.chat.openPlan");
114
114
  return (new MarkdownString(localize(
115
- 6698,
115
+ 6762,
116
116
  "Try the [{0}](command:workbench.action.chat.openPlan \"Start Plan Mode\"){1} to research and plan before implementing changes.",
117
117
  "Plan agent",
118
118
  kb
@@ -126,7 +126,7 @@ const TIP_CATALOG = [{
126
126
  tier: ChatTipTier.Qol,
127
127
  buildMessage() {
128
128
  return (new MarkdownString(localize(
129
- 6699,
129
+ 6763,
130
130
  "Reference files or folders with # to give the agent more context about the task."
131
131
  )));
132
132
  },
@@ -142,7 +142,7 @@ const TIP_CATALOG = [{
142
142
  tier: ChatTipTier.Qol,
143
143
  buildMessage() {
144
144
  return (new MarkdownString(localize(
145
- 6700,
145
+ 6764,
146
146
  "Select a code block in the editor and right-click to access more AI actions."
147
147
  )));
148
148
  },
@@ -152,7 +152,7 @@ const TIP_CATALOG = [{
152
152
  tier: ChatTipTier.Qol,
153
153
  buildMessage() {
154
154
  return (new MarkdownString(localize(
155
- 6701,
155
+ 6765,
156
156
  "Hover a previous request and select \"Restore Checkpoint\" to undo changes after that point in the chat conversation."
157
157
  )));
158
158
  },
@@ -166,7 +166,7 @@ const TIP_CATALOG = [{
166
166
  tier: ChatTipTier.Qol,
167
167
  buildMessage() {
168
168
  return (new MarkdownString(localize(
169
- 6702,
169
+ 6766,
170
170
  "Steer the agent mid-task by sending follow-up messages. They queue and apply in order."
171
171
  )));
172
172
  },
@@ -181,7 +181,7 @@ const TIP_CATALOG = [{
181
181
  buildMessage(ctx) {
182
182
  const kb = formatKeybinding(ctx, INSERT_FORK_CONVERSATION_COMMAND_ID);
183
183
  return (new MarkdownString(localize(
184
- 6703,
184
+ 6767,
185
185
  "Use [{0}](command:{1} \"Run /fork\"){2} to branch the conversation. Explore a different approach without losing the original context.",
186
186
  "/fork",
187
187
  INSERT_FORK_CONVERSATION_COMMAND_ID,
@@ -198,7 +198,7 @@ const TIP_CATALOG = [{
198
198
  tier: ChatTipTier.Qol,
199
199
  buildMessage() {
200
200
  return (new MarkdownString(localize(
201
- 6704,
201
+ 6768,
202
202
  "Enable [{0}](command:workbench.action.openSettings?%5B%22workbench.browser.enableChatTools%22%5D \"Open Settings\") to let the agent open and interact with pages in the Integrated Browser.",
203
203
  "agentic browser integration"
204
204
  )));
@@ -211,7 +211,7 @@ const TIP_CATALOG = [{
211
211
  tier: ChatTipTier.Qol,
212
212
  buildMessage() {
213
213
  return (new MarkdownString(localize(
214
- 6705,
214
+ 6769,
215
215
  "Ask the agent to draw an architectural diagram or flow chart. It can render Mermaid diagrams directly in chat."
216
216
  )));
217
217
  },
@@ -222,7 +222,7 @@ const TIP_CATALOG = [{
222
222
  tier: ChatTipTier.Qol,
223
223
  buildMessage() {
224
224
  return (new MarkdownString(localize(
225
- 6706,
225
+ 6770,
226
226
  "Have another task to work on? Start a new session to run multiple agents at once."
227
227
  )));
228
228
  },
@@ -233,7 +233,7 @@ const TIP_CATALOG = [{
233
233
  tier: ChatTipTier.Qol,
234
234
  buildMessage() {
235
235
  return (new MarkdownString(localize(
236
- 6707,
236
+ 6771,
237
237
  "Customize the loading messages shown while the agent works with [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\").",
238
238
  "thinking phrases",
239
239
  ChatConfiguration.ThinkingPhrases
@@ -247,7 +247,7 @@ const TIP_CATALOG = [{
247
247
  tier: ChatTipTier.Qol,
248
248
  buildMessage() {
249
249
  return (new MarkdownString(localize(
250
- 6708,
250
+ 6772,
251
251
  "Configure [{0}](command:workbench.action.openSettings?%5B%22chat.editing.autoAcceptDelay%22%5D \"Open Settings\") to automatically accept changes from the agent after a short countdown.",
252
252
  "auto-accept delay"
253
253
  )));
@@ -261,7 +261,7 @@ const TIP_CATALOG = [{
261
261
  buildMessage(ctx) {
262
262
  const kb = formatKeybinding(ctx, INSERT_TROUBLESHOOT_COMMAND_ID);
263
263
  return (new MarkdownString(localize(
264
- 6709,
264
+ 6773,
265
265
  "Something not working? Type [{0}](command:{1} \"Run /troubleshoot\"){2} <question> to diagnose issues from debug logs.",
266
266
  "/troubleshoot",
267
267
  INSERT_TROUBLESHOOT_COMMAND_ID,
@@ -275,7 +275,7 @@ const TIP_CATALOG = [{
275
275
  tier: ChatTipTier.Qol,
276
276
  buildMessage() {
277
277
  return (new MarkdownString(localize(
278
- 6710,
278
+ 6774,
279
279
  "Run agents in parallel with [Copilot CLI](command:workbench.action.chat.openNewChatSessionInPlace.copilotcli?%5B%22sidebar%22%5D \"Switch to Copilot CLI\")."
280
280
  )));
281
281
  },
@@ -286,7 +286,7 @@ const TIP_CATALOG = [{
286
286
  tier: ChatTipTier.Qol,
287
287
  buildMessage() {
288
288
  return (new MarkdownString(localize(
289
- 6711,
289
+ 6775,
290
290
  "Configure [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\") to start new sessions in Bypass Approvals or Autopilot mode.",
291
291
  "default permissions",
292
292
  ChatConfiguration.DefaultPermissionLevel
@@ -258,7 +258,7 @@ let ChatTipService = class ChatTipService extends Disposable {
258
258
  if (!this._isCopilotEnabled()) {
259
259
  return undefined;
260
260
  }
261
- if (this._chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
261
+ if (this._chatEntitlementService.entitlement === ChatEntitlement.Unknown && !this._chatEntitlementService.hasByokModels) {
262
262
  return undefined;
263
263
  }
264
264
  if (!this._isChatLocation(contextKeyService)) {
@@ -613,7 +613,7 @@ let ChatTipService = class ChatTipService extends Disposable {
613
613
  keybindingService: this._keybindingService
614
614
  };
615
615
  const rawMessage = tipDef.buildMessage(ctx);
616
- const prefixedMessage = ( localize(6712, "**Tip:** {0}", rawMessage.value));
616
+ const prefixedMessage = ( localize(6776, "**Tip:** {0}", rawMessage.value));
617
617
  const enabledCommands = extractCommandIds(prefixedMessage);
618
618
  const markdown = ( new MarkdownString(prefixedMessage, {
619
619
  isTrusted: enabledCommands.length > 0 ? {
@@ -77,12 +77,12 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
77
77
  mode: FocusMode.Notify
78
78
  });
79
79
  }
80
- const notificationTitle = info.title ? ( localize(6713, "Session: {0}", info.title)) : ( localize(6714, "Untitled Session"));
80
+ const notificationTitle = info.title ? ( localize(6777, "Session: {0}", info.title)) : ( localize(6778, "Untitled Session"));
81
81
  const cts = ( new CancellationTokenSource());
82
82
  this._activeNotifications.set(sessionResource, toDisposable(() => cts.dispose(true)));
83
83
  const isQuestionCarousel = this._isQuestionCarouselPending(sessionResource);
84
84
  try {
85
- const actionLabel = isQuestionCarousel ? ( localize(6715, "Open Session")) : ( localize(6716, "Allow"));
85
+ const actionLabel = isQuestionCarousel ? ( localize(6779, "Open Session")) : ( localize(6780, "Allow"));
86
86
  const result = await this._hostService.showToast({
87
87
  title: this._sanitizeOSToastText(notificationTitle),
88
88
  body: this._getNotificationBody(sessionResource, info, isQuestionCarousel),
@@ -121,7 +121,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
121
121
  }
122
122
  _getNotificationBody(sessionResource, info, isQuestionCarousel) {
123
123
  if (isQuestionCarousel) {
124
- return localize(6717, "Questions need your input.");
124
+ return localize(6781, "Questions need your input.");
125
125
  }
126
126
  const terminalCommand = this._getPendingTerminalCommand(sessionResource);
127
127
  if (terminalCommand) {
@@ -130,7 +130,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
130
130
  if (info.detail) {
131
131
  return this._sanitizeOSToastText(info.detail);
132
132
  }
133
- return localize(6718, "Approval needed to continue.");
133
+ return localize(6782, "Approval needed to continue.");
134
134
  }
135
135
  _getPendingTerminalCommand(sessionResource) {
136
136
  const model = this._chatService.getSession(sessionResource);
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
4
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
5
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
6
  import { NeverShowAgainScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
@@ -32,7 +33,7 @@ let AgentPluginRecommendations = class AgentPluginRecommendations extends Dispos
32
33
  }
33
34
  }));
34
35
  }
35
- _checkForRecommendedPlugins() {
36
+ async _checkForRecommendedPlugins() {
36
37
  const recommended = this._pluginMarketplaceService.recommendedPlugins.get();
37
38
  if (recommended.size === 0) {
38
39
  return;
@@ -42,17 +43,29 @@ let AgentPluginRecommendations = class AgentPluginRecommendations extends Dispos
42
43
  const key = `${entry.plugin.name}@${entry.plugin.marketplace}`;
43
44
  installedKeys.add(key);
44
45
  }
46
+ let fetched = this._pluginMarketplaceService.lastFetchedPlugins.get();
47
+ if (fetched.length === 0) {
48
+ try {
49
+ fetched = await this._pluginMarketplaceService.fetchMarketplacePlugins(CancellationToken.None);
50
+ } catch {
51
+ return;
52
+ }
53
+ }
54
+ const knownKeys = ( new Set());
55
+ for (const plugin of fetched) {
56
+ knownKeys.add(`${plugin.name}@${plugin.marketplace}`);
57
+ }
45
58
  let uninstalledCount = 0;
46
59
  for (const key of recommended) {
47
- if (!( installedKeys.has(key))) {
60
+ if (!( installedKeys.has(key)) && ( knownKeys.has(key))) {
48
61
  uninstalledCount++;
49
62
  }
50
63
  }
51
64
  if (uninstalledCount === 0) {
52
65
  return;
53
66
  }
54
- this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(6719, "This workspace recommends 1 agent plugin.")) : ( localize(6720, "This workspace recommends {0} agent plugins.", uninstalledCount)), [{
55
- label: ( localize(6721, "Show Plugins")),
67
+ this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(6783, "This workspace recommends 1 agent plugin.")) : ( localize(6784, "This workspace recommends {0} agent plugins.", uninstalledCount)), [{
68
+ label: ( localize(6785, "Show Plugins")),
56
69
  run: () => {
57
70
  this._extensionsWorkbenchService.openSearch("@agentPlugins @recommended");
58
71
  }
@@ -0,0 +1,8 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
3
+ import { IChatContextService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service";
4
+ export declare class ChatContextContribution extends Disposable implements IWorkbenchContribution {
5
+ private readonly _chatContextService;
6
+ static readonly ID = "workbench.contrib.chatContextContribution";
7
+ constructor(_chatContextService: IChatContextService);
8
+ }