@codingame/monaco-vscode-chat-service-override 29.1.1 → 30.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
  15. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
  16. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
  17. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  18. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
  80. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
  144. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  145. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  154. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  156. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
  160. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  161. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
  184. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
  201. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
  202. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
  203. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  210. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
  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 -7
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  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/common/terminalSandboxService.d.ts +66 -5
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
  250. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
  251. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
  253. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
  258. /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
@@ -64,43 +64,43 @@ const gaugeForeground = registerColor("gauge.foreground", {
64
64
  light: inputValidationInfoBorder,
65
65
  hcDark: contrastBorder,
66
66
  hcLight: contrastBorder
67
- }, ( localize(6269, "Gauge foreground color.")));
67
+ }, ( localize(6319, "Gauge foreground color.")));
68
68
  registerColor("gauge.background", {
69
69
  dark: ( transparent(gaugeForeground, 0.3)),
70
70
  light: ( transparent(gaugeForeground, 0.3)),
71
71
  hcDark: Color.white,
72
72
  hcLight: Color.white
73
- }, ( localize(6270, "Gauge background color.")));
73
+ }, ( localize(6320, "Gauge background color.")));
74
74
  registerColor("gauge.border", {
75
75
  dark: null,
76
76
  light: null,
77
77
  hcDark: contrastBorder,
78
78
  hcLight: contrastBorder
79
- }, ( localize(6271, "Gauge border color.")));
79
+ }, ( localize(6321, "Gauge border color.")));
80
80
  const gaugeWarningForeground = registerColor("gauge.warningForeground", {
81
81
  dark: inputValidationWarningBorder,
82
82
  light: inputValidationWarningBorder,
83
83
  hcDark: contrastBorder,
84
84
  hcLight: contrastBorder
85
- }, ( localize(6272, "Gauge warning foreground color.")));
85
+ }, ( localize(6322, "Gauge warning foreground color.")));
86
86
  registerColor("gauge.warningBackground", {
87
87
  dark: ( transparent(gaugeWarningForeground, 0.3)),
88
88
  light: ( transparent(gaugeWarningForeground, 0.3)),
89
89
  hcDark: Color.white,
90
90
  hcLight: Color.white
91
- }, ( localize(6273, "Gauge warning background color.")));
91
+ }, ( localize(6323, "Gauge warning background color.")));
92
92
  const gaugeErrorForeground = registerColor("gauge.errorForeground", {
93
93
  dark: inputValidationErrorBorder,
94
94
  light: inputValidationErrorBorder,
95
95
  hcDark: contrastBorder,
96
96
  hcLight: contrastBorder
97
- }, ( localize(6274, "Gauge error foreground color.")));
97
+ }, ( localize(6324, "Gauge error foreground color.")));
98
98
  registerColor("gauge.errorBackground", {
99
99
  dark: ( transparent(gaugeErrorForeground, 0.3)),
100
100
  light: ( transparent(gaugeErrorForeground, 0.3)),
101
101
  hcDark: Color.white,
102
102
  hcLight: Color.white
103
- }, ( localize(6275, "Gauge error background color.")));
103
+ }, ( localize(6325, "Gauge error background color.")));
104
104
  let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
105
105
  constructor(
106
106
  chatEntitlementService,
@@ -183,18 +183,18 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
183
183
  const usageTitle = this.getUsageTitle();
184
184
  addSeparator(usageTitle, toAction({
185
185
  id: "workbench.action.manageCopilot",
186
- label: ( localize(6276, "Manage Chat")),
187
- tooltip: ( localize(6277, "Manage Chat")),
186
+ label: ( localize(6326, "Manage Chat")),
187
+ tooltip: ( localize(6327, "Manage Chat")),
188
188
  class: ThemeIcon.asClassName(Codicon.settings),
189
189
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl))))
190
190
  }));
191
- const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(6278, "Inline Suggestions")), false) : undefined;
192
- const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(6279, "Chat messages")), false) : undefined;
193
- const premiumChatLabel = premiumChatQuota?.overageEnabled && !premiumChatQuota?.unlimited ? ( localize(6280, "Included premium requests")) : ( localize(6281, "Premium requests"));
191
+ const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(6328, "Inline Suggestions")), false) : undefined;
192
+ const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(6329, "Chat messages")), false) : undefined;
193
+ const premiumChatLabel = premiumChatQuota?.overageEnabled && !premiumChatQuota?.unlimited ? ( localize(6330, "Included premium requests")) : ( localize(6331, "Premium requests"));
194
194
  const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, premiumChatLabel, true) : undefined;
195
195
  if (resetDate) {
196
196
  this.element.appendChild($("div.description", undefined, ( localize(
197
- 6282,
197
+ 6332,
198
198
  "Allowance resets {0}.",
199
199
  resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
200
200
  ))));
@@ -205,7 +205,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
205
205
  hoverDelegate: nativeHoverDelegate,
206
206
  secondary: this.canUseChat()
207
207
  })));
208
- upgradeProButton.label = ( localize(6283, "Upgrade to GitHub Copilot Pro"));
208
+ upgradeProButton.label = ( localize(6333, "Upgrade to GitHub Copilot Pro"));
209
209
  this._store.add(
210
210
  upgradeProButton.onDidClick(() => this.runCommandAndClose("workbench.action.chat.upgradePlan"))
211
211
  );
@@ -232,17 +232,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
232
232
  })();
233
233
  }
234
234
  else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.installed) {
235
- addSeparator(( localize(6284, "Copilot Usage")));
236
- this.createQuotaIndicator(this.element, this._store, ( localize(6285, "Limited")), ( localize(6278, "Inline Suggestions")), false);
237
- this.createQuotaIndicator(this.element, this._store, ( localize(6285, "Limited")), ( localize(6279, "Chat messages")), false);
235
+ addSeparator(( localize(6334, "Copilot Usage")));
236
+ this.createQuotaIndicator(this.element, this._store, ( localize(6335, "Limited")), ( localize(6328, "Inline Suggestions")), false);
237
+ this.createQuotaIndicator(this.element, this._store, ( localize(6335, "Limited")), ( localize(6329, "Chat messages")), false);
238
238
  }
239
239
  {
240
240
  const inProgress = this.chatSessionsService.getInProgress();
241
241
  if (( inProgress.some(item => item.count > 0))) {
242
- addSeparator(( localize(6286, "Agent Sessions")), toAction({
242
+ addSeparator(( localize(6336, "Agent Sessions")), toAction({
243
243
  id: "workbench.view.chat.status.sessions",
244
- label: ( localize(6287, "View Agent Sessions")),
245
- tooltip: ( localize(6288, "View Agent Sessions")),
244
+ label: ( localize(6337, "View Agent Sessions")),
245
+ tooltip: ( localize(6338, "View Agent Sessions")),
246
246
  class: ThemeIcon.asClassName(Codicon.eye),
247
247
  run: () => {
248
248
  this.viewService.openView(ChatViewId, true);
@@ -256,7 +256,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
256
256
  if (count > 0) {
257
257
  const displayName = this.getDisplayNameForChatSessionType(chatSessionType);
258
258
  if (displayName) {
259
- const text = "$(loading~spin) " + ( localize(6289, "{0} in progress", displayName));
259
+ const text = "$(loading~spin) " + ( localize(6339, "{0} in progress", displayName));
260
260
  const chatSessionsElement = this.element.appendChild($("div.description"));
261
261
  const parts = renderLabelWithIcons(text);
262
262
  chatSessionsElement.append(...parts);
@@ -284,10 +284,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
284
284
  }
285
285
  {
286
286
  const chatSentiment = this.chatEntitlementService.sentiment;
287
- addSeparator(( localize(6290, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
287
+ addSeparator(( localize(6340, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
288
288
  id: "workbench.action.openChatSettings",
289
- label: ( localize(6291, "Settings")),
290
- tooltip: ( localize(6292, "Open Settings")),
289
+ label: ( localize(6341, "Settings")),
290
+ tooltip: ( localize(6342, "Open Settings")),
291
291
  class: ThemeIcon.asClassName(Codicon.settingsGear),
292
292
  run: () => this.runCommandAndClose(
293
293
  () => this.commandService.executeCommand("workbench.action.openSettings", {
@@ -305,7 +305,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
305
305
  const currentModel = modelInfo.models.find(m => m.id === modelInfo.currentModelId);
306
306
  if (currentModel) {
307
307
  const modelContainer = this.element.appendChild($("div.model-selection"));
308
- modelContainer.appendChild($("span.model-text", undefined, ( localize(6293, "Model"))));
308
+ modelContainer.appendChild($("span.model-text", undefined, ( localize(6343, "Model"))));
309
309
  const actionBar = modelContainer.appendChild($("div.model-action-bar"));
310
310
  const toolbar = this._store.add(( new ActionBar(actionBar, {
311
311
  hoverDelegate: nativeHoverDelegate
@@ -313,7 +313,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
313
313
  toolbar.push([toAction({
314
314
  id: "workbench.action.selectInlineCompletionsModel",
315
315
  label: currentModel.name,
316
- tooltip: ( localize(6294, "Select Model")),
316
+ tooltip: ( localize(6344, "Select Model")),
317
317
  class: ThemeIcon.asClassName(Codicon.gear),
318
318
  run: async () => {
319
319
  await this.showModelPicker(provider);
@@ -341,7 +341,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
341
341
  toolbar.push([toAction({
342
342
  id: `workbench.action.selectProviderOption.${option.id}`,
343
343
  label: currentValue.label,
344
- tooltip: ( localize(6295, "Select {0}", option.label)),
344
+ tooltip: ( localize(6345, "Select {0}", option.label)),
345
345
  run: async () => {
346
346
  await this.showProviderOptionPicker(provider, option);
347
347
  }
@@ -356,7 +356,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
356
356
  }
357
357
  if (this.canUseChat()) {
358
358
  const snooze = append(this.element, $("div.snooze-completions"));
359
- this.createCompletionsSnooze(snooze, ( localize(6296, "Snooze")), this._store);
359
+ this.createCompletionsSnooze(snooze, ( localize(6346, "Snooze")), this._store);
360
360
  }
361
361
  {
362
362
  const newUser = isNewUser(this.chatEntitlementService);
@@ -369,7 +369,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
369
369
  let descriptionClass = ".description";
370
370
  if (newUser && anonymousUser) {
371
371
  descriptionText = ( new MarkdownString(( localize(
372
- 6297,
372
+ 6347,
373
373
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
374
374
  defaultChat.provider.default.name,
375
375
  defaultChat.provider.default.name,
@@ -380,23 +380,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
380
380
  }));
381
381
  descriptionClass = `${descriptionClass}.terms`;
382
382
  } else if (newUser) {
383
- descriptionText = ( localize(6298, "Set up Copilot to use AI features."));
383
+ descriptionText = ( localize(6348, "Set up Copilot to use AI features."));
384
384
  } else if (anonymousUser) {
385
- descriptionText = ( localize(6299, "Sign in to enable more Copilot AI features."));
385
+ descriptionText = ( localize(6349, "Sign in to enable more Copilot AI features."));
386
386
  } else if (disabled) {
387
- descriptionText = ( localize(6300, "Enable Copilot to use AI features."));
387
+ descriptionText = ( localize(6350, "Enable Copilot to use AI features."));
388
388
  } else {
389
- descriptionText = ( localize(6301, "Sign in to use Copilot AI features."));
389
+ descriptionText = ( localize(6351, "Sign in to use Copilot AI features."));
390
390
  }
391
391
  let buttonLabel;
392
392
  if (newUser) {
393
- buttonLabel = ( localize(6302, "Use AI Features"));
393
+ buttonLabel = ( localize(6352, "Use AI Features"));
394
394
  } else if (anonymousUser) {
395
- buttonLabel = ( localize(6303, "Enable more AI Features"));
395
+ buttonLabel = ( localize(6353, "Enable more AI Features"));
396
396
  } else if (disabled) {
397
- buttonLabel = ( localize(6304, "Enable AI Features"));
397
+ buttonLabel = ( localize(6354, "Enable AI Features"));
398
398
  } else {
399
- buttonLabel = ( localize(6305, "Sign in to use AI Features"));
399
+ buttonLabel = ( localize(6355, "Sign in to use AI Features"));
400
400
  }
401
401
  let commandId;
402
402
  if (newUser && anonymousUser) {
@@ -424,11 +424,11 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
424
424
  }
425
425
  getDisplayNameForChatSessionType(chatSessionType) {
426
426
  if (chatSessionType === AgentSessionProviders.Local) {
427
- return localize(6306, "Local Agent");
427
+ return localize(6356, "Local Agent");
428
428
  } else if (chatSessionType === AgentSessionProviders.Background) {
429
- return localize(6307, "Background Agent");
429
+ return localize(6357, "Background Agent");
430
430
  } else if (chatSessionType === AgentSessionProviders.Cloud) {
431
- return localize(6308, "Cloud Agent");
431
+ return localize(6358, "Cloud Agent");
432
432
  } else {
433
433
  return this.chatSessionsService.getChatSessionContribution(chatSessionType)?.displayName;
434
434
  }
@@ -447,7 +447,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
447
447
  }
448
448
  getUsageTitle() {
449
449
  const planName = getChatPlanName(this.chatEntitlementService.entitlement);
450
- return localize(6309, "{0} Usage", planName);
450
+ return localize(6359, "{0} Usage", planName);
451
451
  }
452
452
  renderHeader(container, disposables, label, action) {
453
453
  const header = container.appendChild($("div.header", undefined, label ?? ""));
@@ -468,8 +468,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
468
468
  const headerLink = typeof item.label === "string" ? undefined : item.label.link;
469
469
  this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
470
470
  id: "workbench.action.openChatStatusItemLink",
471
- label: ( localize(6310, "Learn More")),
472
- tooltip: ( localize(6310, "Learn More")),
471
+ label: ( localize(6360, "Learn More")),
472
+ tooltip: ( localize(6360, "Learn More")),
473
473
  class: ThemeIcon.asClassName(Codicon.linkExternal),
474
474
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink))))
475
475
  }) : undefined);
@@ -518,13 +518,13 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
518
518
  $("div.quota-bar", undefined, quotaBit),
519
519
  $("div.description", undefined, overageLabel)
520
520
  ));
521
- if (supportsOverage && (this.chatEntitlementService.entitlement === ChatEntitlement.Pro || this.chatEntitlementService.entitlement === ChatEntitlement.ProPlus)) {
521
+ if (supportsOverage && (this.chatEntitlementService.entitlement === ChatEntitlement.EDU || this.chatEntitlementService.entitlement === ChatEntitlement.Pro || this.chatEntitlementService.entitlement === ChatEntitlement.ProPlus)) {
522
522
  const manageOverageButton = disposables.add(( new Button(quotaIndicator, {
523
523
  ...defaultButtonStyles,
524
524
  secondary: true,
525
525
  hoverDelegate: nativeHoverDelegate
526
526
  })));
527
- manageOverageButton.label = ( localize(6311, "Manage paid premium requests"));
527
+ manageOverageButton.label = ( localize(6361, "Manage paid premium requests"));
528
528
  disposables.add(
529
529
  manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl)))))
530
530
  );
@@ -541,15 +541,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
541
541
  if (typeof quota === "string") {
542
542
  quotaValue.textContent = quota;
543
543
  } else if (quota.unlimited) {
544
- quotaValue.textContent = ( localize(6312, "Included"));
544
+ quotaValue.textContent = ( localize(6362, "Included"));
545
545
  } else if (quota.overageCount) {
546
546
  quotaValue.textContent = ( localize(
547
- 6313,
547
+ 6363,
548
548
  "+{0} requests",
549
549
  this.quotaOverageFormatter.value.format(quota.overageCount)
550
550
  ));
551
551
  } else {
552
- quotaValue.textContent = ( localize(6314, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
552
+ quotaValue.textContent = ( localize(6364, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
553
553
  }
554
554
  quotaBit.style.width = `${usedPercentage}%`;
555
555
  const overageEnabled = supportsOverage && typeof quota !== "string" && quota?.overageEnabled;
@@ -562,12 +562,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
562
562
  if (typeof quota !== "string" && quota.unlimited) {
563
563
  overageLabel.textContent = "";
564
564
  } else if (typeof quota !== "string" && quota?.overageEnabled) {
565
- overageLabel.replaceChildren(( localize(6315, "Additional premium requests approved.")), $("br"), ( localize(
566
- 6316,
565
+ overageLabel.replaceChildren(( localize(6365, "Additional premium requests approved.")), $("br"), ( localize(
566
+ 6366,
567
567
  "You can continue after the included premium requests limit reaches 100%."
568
568
  )));
569
569
  } else {
570
- overageLabel.textContent = ( localize(6317, "Additional paid premium requests disabled."));
570
+ overageLabel.textContent = ( localize(6367, "Additional paid premium requests disabled."));
571
571
  }
572
572
  } else {
573
573
  overageLabel.textContent = "";
@@ -581,15 +581,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
581
581
  const settings = container.appendChild($("div.settings"));
582
582
  {
583
583
  const globalSetting = append(settings, $("div.setting"));
584
- this.createInlineSuggestionsSetting(globalSetting, ( localize(6318, "All files")), "*", disposables);
584
+ this.createInlineSuggestionsSetting(globalSetting, ( localize(6368, "All files")), "*", disposables);
585
585
  if (modeId) {
586
586
  const languageSetting = append(settings, $("div.setting"));
587
- this.createInlineSuggestionsSetting(languageSetting, ( localize(6319, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
587
+ this.createInlineSuggestionsSetting(languageSetting, ( localize(6369, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
588
588
  }
589
589
  }
590
590
  {
591
591
  const setting = append(settings, $("div.setting"));
592
- this.createNextEditSuggestionsSetting(setting, ( localize(6320, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
592
+ this.createNextEditSuggestionsSetting(setting, ( localize(6370, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
593
593
  }
594
594
  return settings;
595
595
  }
@@ -706,7 +706,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
706
706
  })));
707
707
  const cancelAction = toAction({
708
708
  id: "workbench.action.cancelSnoozeStatusBarLink",
709
- label: ( localize(6321, "Cancel Snooze")),
709
+ label: ( localize(6371, "Cancel Snooze")),
710
710
  run: () => this.inlineCompletionsService.cancelSnooze(),
711
711
  class: ThemeIcon.asClassName(Codicon.stopCircle)
712
712
  });
@@ -715,19 +715,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
715
715
  toolbar.clear();
716
716
  const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
717
717
  if (!isEnabled || timeLeftMs <= 0) {
718
- timerDisplay.textContent = ( localize(6322, "Hide suggestions for 5 min"));
718
+ timerDisplay.textContent = ( localize(6372, "Hide suggestions for 5 min"));
719
719
  timerDisplay.title = "";
720
720
  button.label = label;
721
- button.setTitle(( localize(6323, "Hide inline suggestions for 5 min")));
721
+ button.setTitle(( localize(6373, "Hide inline suggestions for 5 min")));
722
722
  return true;
723
723
  }
724
724
  const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
725
725
  const minutes = Math.floor(timeLeftSeconds / 60);
726
726
  const seconds = timeLeftSeconds % 60;
727
- timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(6324, "remaining"))}`;
728
- timerDisplay.title = ( localize(6325, "Inline suggestions are hidden for the remaining duration"));
729
- button.label = ( localize(6326, "+5 min"));
730
- button.setTitle(( localize(6327, "Snooze additional 5 min")));
727
+ timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(6374, "remaining"))}`;
728
+ timerDisplay.title = ( localize(6375, "Inline suggestions are hidden for the remaining duration"));
729
+ button.label = ( localize(6376, "+5 min"));
730
+ button.setTitle(( localize(6377, "Snooze additional 5 min")));
731
731
  toolbar.push([cancelAction], {
732
732
  icon: true,
733
733
  label: false
@@ -768,12 +768,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
768
768
  const items = ( modelInfo.models.map(model => ({
769
769
  id: model.id,
770
770
  label: model.name,
771
- description: model.id === modelInfo.currentModelId ? ( localize(6328, "Currently selected")) : undefined,
771
+ description: model.id === modelInfo.currentModelId ? ( localize(6378, "Currently selected")) : undefined,
772
772
  picked: model.id === modelInfo.currentModelId
773
773
  })));
774
774
  const selected = await this.quickInputService.pick(items, {
775
775
  placeHolder: ( localize(
776
- 6329,
776
+ 6379,
777
777
  "Select a model for {0}",
778
778
  provider.displayName || "inline completions"
779
779
  )),
@@ -791,11 +791,11 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
791
791
  const items = ( option.values.map(value => ({
792
792
  id: value.id,
793
793
  label: value.label,
794
- description: value.id === option.currentValueId ? ( localize(6330, "Currently selected")) : undefined,
794
+ description: value.id === option.currentValueId ? ( localize(6380, "Currently selected")) : undefined,
795
795
  picked: value.id === option.currentValueId
796
796
  })));
797
797
  const selected = await this.quickInputService.pick(items, {
798
- placeHolder: ( localize(6331, "Select {0}", option.label)),
798
+ placeHolder: ( localize(6381, "Select {0}", option.label)),
799
799
  canPickMany: false
800
800
  });
801
801
  if (selected && selected.id && selected.id !== option.currentValueId) {
@@ -20,6 +20,7 @@ import { disposableWindowInterval } from '@codingame/monaco-vscode-api/vscode/vs
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 { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
23
24
 
24
25
  registerCss(chatStatus);
25
26
  let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
@@ -85,7 +86,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
85
86
  this.editorService.onDidActiveEditorChange(() => this.onDidActiveEditorChange())
86
87
  );
87
88
  this._register(this.configurationService.onDidChangeConfiguration(e => {
88
- if (e.affectsConfiguration(product.defaultChatAgent.completionsEnablementSetting)) {
89
+ if (e.affectsConfiguration(product.defaultChatAgent.completionsEnablementSetting) || e.affectsConfiguration(ChatConfiguration.SignInTitleBarEnabled)) {
89
90
  this.update();
90
91
  }
91
92
  }));
@@ -102,13 +103,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
102
103
  }
103
104
  getEntryProps() {
104
105
  let text = "$(copilot)";
105
- let ariaLabel = ( localize(6332, "Copilot status"));
106
+ let ariaLabel = ( localize(6382, "Copilot status"));
106
107
  let kind;
107
108
  if (isNewUser(this.chatEntitlementService)) {
108
109
  const entitlement = this.chatEntitlementService.entitlement;
109
110
  if (
110
111
  this.chatEntitlementService.sentiment.later || entitlement === ChatEntitlement.Available || isProUser(entitlement) || entitlement === ChatEntitlement.Free) {
111
- const finishSetup = ( localize(6333, "Finish Setup"));
112
+ const finishSetup = ( localize(6383, "Finish Setup"));
112
113
  text = `$(copilot) ${finishSetup}`;
113
114
  ariaLabel = finishSetup;
114
115
  kind = "prominent";
@@ -118,30 +119,37 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
118
119
  const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
119
120
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
120
121
  text = "$(copilot-unavailable)";
121
- ariaLabel = ( localize(6334, "Copilot disabled"));
122
+ ariaLabel = ( localize(6384, "Copilot disabled"));
122
123
  }
123
124
  else if (this.runningSessionsCount > 0) {
124
125
  text = "$(copilot-in-progress)";
125
126
  if (this.runningSessionsCount > 1) {
126
- ariaLabel = ( localize(6335, "{0} agent sessions in progress", this.runningSessionsCount));
127
+ ariaLabel = ( localize(6385, "{0} agent sessions in progress", this.runningSessionsCount));
127
128
  } else {
128
- ariaLabel = ( localize(6336, "1 agent session in progress"));
129
+ ariaLabel = ( localize(6386, "1 agent session in progress"));
129
130
  }
130
131
  }
131
132
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
132
- const signedOutWarning = ( localize(6337, "Signed out"));
133
- text = `${this.chatEntitlementService.anonymous ? "$(copilot)" : "$(copilot-not-connected)"} ${signedOutWarning}`;
134
- ariaLabel = signedOutWarning;
135
- kind = "prominent";
133
+ const signInExperiment = this.configurationService.getValue(ChatConfiguration.SignInTitleBarEnabled);
134
+ if (signInExperiment) {
135
+ const signIn = ( localize(6387, "Sign In"));
136
+ text = `$(copilot) ${signIn}`;
137
+ ariaLabel = signIn;
138
+ } else {
139
+ const signedOut = ( localize(6388, "Signed out"));
140
+ text = `${this.chatEntitlementService.anonymous ? "$(copilot)" : "$(copilot-not-connected)"} ${signedOut}`;
141
+ ariaLabel = signedOut;
142
+ kind = "prominent";
143
+ }
136
144
  }
137
145
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
138
146
  let quotaWarning;
139
147
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
140
- quotaWarning = ( localize(6338, "Chat quota reached"));
148
+ quotaWarning = ( localize(6389, "Chat quota reached"));
141
149
  } else if (completionsQuotaExceeded && !chatQuotaExceeded) {
142
- quotaWarning = ( localize(6339, "Inline suggestions quota reached"));
150
+ quotaWarning = ( localize(6390, "Inline suggestions quota reached"));
143
151
  } else {
144
- quotaWarning = ( localize(6340, "Quota reached"));
152
+ quotaWarning = ( localize(6391, "Quota reached"));
145
153
  }
146
154
  text = `$(copilot-warning) ${quotaWarning}`;
147
155
  ariaLabel = quotaWarning;
@@ -149,15 +157,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
149
157
  }
150
158
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
151
159
  text = "$(copilot-unavailable)";
152
- ariaLabel = ( localize(6341, "Inline suggestions disabled"));
160
+ ariaLabel = ( localize(6392, "Inline suggestions disabled"));
153
161
  }
154
162
  else if (this.completionsService.isSnoozing()) {
155
163
  text = "$(copilot-snooze)";
156
- ariaLabel = ( localize(6342, "Inline suggestions snoozed"));
164
+ ariaLabel = ( localize(6393, "Inline suggestions snoozed"));
157
165
  }
158
166
  }
159
167
  const baseResult = {
160
- name: ( localize(6343, "Copilot Status")),
168
+ name: ( localize(6394, "Copilot Status")),
161
169
  text,
162
170
  ariaLabel,
163
171
  command: ShowTooltipCommand,
@@ -33,7 +33,7 @@ const TIP_CATALOG = [{
33
33
  priority: 0,
34
34
  buildMessage(_ctx) {
35
35
  return (new MarkdownString(localize(
36
- 6344,
36
+ 6395,
37
37
  "Using GPT-4.1? Try switching to [Auto](command:workbench.action.chat.openModelPicker \"Open Model Picker\") in the model picker for better coding performance."
38
38
  )));
39
39
  },
@@ -45,7 +45,7 @@ const TIP_CATALOG = [{
45
45
  buildMessage(ctx) {
46
46
  const kb = formatKeybinding(ctx, GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID);
47
47
  return (new MarkdownString(localize(
48
- 6345,
48
+ 6396,
49
49
  "Use [{0}](command:{1} \"Run /init\"){2} to generate or update a workspace instructions file for AI coding agents.",
50
50
  "/init",
51
51
  GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID,
@@ -63,7 +63,7 @@ const TIP_CATALOG = [{
63
63
  buildMessage(ctx) {
64
64
  const kb = formatKeybinding(ctx, GENERATE_PROMPT_COMMAND_ID);
65
65
  return (new MarkdownString(localize(
66
- 6346,
66
+ 6397,
67
67
  "Use [{0}](command:{1} \"Run /create-prompt\"){2} to generate a reusable prompt file with the agent.",
68
68
  "/create-prompt",
69
69
  GENERATE_PROMPT_COMMAND_ID,
@@ -79,7 +79,7 @@ const TIP_CATALOG = [{
79
79
  buildMessage(ctx) {
80
80
  const kb = formatKeybinding(ctx, GENERATE_AGENT_COMMAND_ID);
81
81
  return (new MarkdownString(localize(
82
- 6347,
82
+ 6398,
83
83
  "Use [{0}](command:{1} \"Run /create-agent\"){2} to scaffold a custom agent for your workflow.",
84
84
  "/create-agent",
85
85
  GENERATE_AGENT_COMMAND_ID,
@@ -95,7 +95,7 @@ const TIP_CATALOG = [{
95
95
  buildMessage(ctx) {
96
96
  const kb = formatKeybinding(ctx, GENERATE_SKILL_COMMAND_ID);
97
97
  return (new MarkdownString(localize(
98
- 6348,
98
+ 6399,
99
99
  "Use [{0}](command:{1} \"Run /create-skill\"){2} to create a skill the agent can load when relevant.",
100
100
  "/create-skill",
101
101
  GENERATE_SKILL_COMMAND_ID,
@@ -111,7 +111,7 @@ const TIP_CATALOG = [{
111
111
  buildMessage(ctx) {
112
112
  const kb = formatKeybinding(ctx, "workbench.action.chat.openPlan");
113
113
  return (new MarkdownString(localize(
114
- 6349,
114
+ 6400,
115
115
  "Try the [{0}](command:workbench.action.chat.openPlan \"Start Plan Mode\"){1} to research and plan before implementing changes.",
116
116
  "Plan agent",
117
117
  kb
@@ -125,7 +125,7 @@ const TIP_CATALOG = [{
125
125
  tier: ChatTipTier.Qol,
126
126
  buildMessage() {
127
127
  return (new MarkdownString(localize(
128
- 6350,
128
+ 6401,
129
129
  "Reference files or folders with # to give the agent more context about the task."
130
130
  )));
131
131
  },
@@ -141,7 +141,7 @@ const TIP_CATALOG = [{
141
141
  tier: ChatTipTier.Qol,
142
142
  buildMessage() {
143
143
  return (new MarkdownString(localize(
144
- 6351,
144
+ 6402,
145
145
  "Select a code block in the editor and right-click to access more AI actions."
146
146
  )));
147
147
  },
@@ -151,7 +151,7 @@ const TIP_CATALOG = [{
151
151
  tier: ChatTipTier.Qol,
152
152
  buildMessage() {
153
153
  return (new MarkdownString(localize(
154
- 6352,
154
+ 6403,
155
155
  "Hover a previous request and select \"Restore Checkpoint\" to undo changes after that point in the chat conversation."
156
156
  )));
157
157
  },
@@ -165,7 +165,7 @@ const TIP_CATALOG = [{
165
165
  tier: ChatTipTier.Qol,
166
166
  buildMessage() {
167
167
  return (new MarkdownString(localize(
168
- 6353,
168
+ 6404,
169
169
  "Steer the agent mid-task by sending follow-up messages. They queue and apply in order."
170
170
  )));
171
171
  },
@@ -180,7 +180,7 @@ const TIP_CATALOG = [{
180
180
  buildMessage(ctx) {
181
181
  const kb = formatKeybinding(ctx, INSERT_FORK_CONVERSATION_COMMAND_ID);
182
182
  return (new MarkdownString(localize(
183
- 6354,
183
+ 6405,
184
184
  "Use [{0}](command:{1} \"Run /fork\"){2} to branch the conversation. Explore a different approach without losing the original context.",
185
185
  "/fork",
186
186
  INSERT_FORK_CONVERSATION_COMMAND_ID,
@@ -197,7 +197,7 @@ const TIP_CATALOG = [{
197
197
  tier: ChatTipTier.Qol,
198
198
  buildMessage() {
199
199
  return (new MarkdownString(localize(
200
- 6355,
200
+ 6406,
201
201
  "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.",
202
202
  "agentic browser integration"
203
203
  )));
@@ -210,7 +210,7 @@ const TIP_CATALOG = [{
210
210
  tier: ChatTipTier.Qol,
211
211
  buildMessage() {
212
212
  return (new MarkdownString(localize(
213
- 6356,
213
+ 6407,
214
214
  "Ask the agent to draw an architectural diagram or flow chart. It can render Mermaid diagrams directly in chat."
215
215
  )));
216
216
  },
@@ -221,7 +221,7 @@ const TIP_CATALOG = [{
221
221
  tier: ChatTipTier.Qol,
222
222
  buildMessage() {
223
223
  return (new MarkdownString(localize(
224
- 6357,
224
+ 6408,
225
225
  "Have another task to work on? Start a new session to run multiple agents at once."
226
226
  )));
227
227
  },
@@ -232,7 +232,7 @@ const TIP_CATALOG = [{
232
232
  tier: ChatTipTier.Qol,
233
233
  buildMessage() {
234
234
  return (new MarkdownString(localize(
235
- 6358,
235
+ 6409,
236
236
  "Customize the loading messages shown while the agent works with [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\").",
237
237
  "thinking phrases",
238
238
  ChatConfiguration.ThinkingPhrases
@@ -246,7 +246,7 @@ const TIP_CATALOG = [{
246
246
  tier: ChatTipTier.Qol,
247
247
  buildMessage() {
248
248
  return (new MarkdownString(localize(
249
- 6359,
249
+ 6410,
250
250
  "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.",
251
251
  "auto-accept delay"
252
252
  )));
@@ -260,7 +260,7 @@ const TIP_CATALOG = [{
260
260
  buildMessage(ctx) {
261
261
  const kb = formatKeybinding(ctx, INSERT_TROUBLESHOOT_COMMAND_ID);
262
262
  return (new MarkdownString(localize(
263
- 6360,
263
+ 6411,
264
264
  "Something not working? Type [{0}](command:{1} \"Run /troubleshoot\"){2} <question> to diagnose issues from debug logs.",
265
265
  "/troubleshoot",
266
266
  INSERT_TROUBLESHOOT_COMMAND_ID,
@@ -606,7 +606,7 @@ let ChatTipService = class ChatTipService extends Disposable {
606
606
  keybindingService: this._keybindingService
607
607
  };
608
608
  const rawMessage = tipDef.buildMessage(ctx);
609
- const prefixedMessage = ( localize(6361, "**Tip:** {0}", rawMessage.value));
609
+ const prefixedMessage = ( localize(6412, "**Tip:** {0}", rawMessage.value));
610
610
  const enabledCommands = extractCommandIds(prefixedMessage);
611
611
  const markdown = ( new MarkdownString(prefixedMessage, {
612
612
  isTrusted: enabledCommands.length > 0 ? {
@@ -637,14 +637,10 @@ let ChatTipService = class ChatTipService extends Disposable {
637
637
  return;
638
638
  }
639
639
  const enabledCommandSet = ( new Set(enabledCommands));
640
- const dismissCommandSet = ( new Set(tip.dismissWhenCommandsClicked));
641
640
  this._tipCommandListener.value = this._commandService.onDidExecuteCommand(e => {
642
641
  if (( enabledCommandSet.has(e.commandId)) && this._shownTip?.id === tip.id) {
643
642
  this._logTipTelemetry(tip.id, "commandClicked", e.commandId);
644
- if (( dismissCommandSet.has(e.commandId))) {
645
- this.dismissTip();
646
- }
647
- this.hideTipsForSession();
643
+ this.dismissTip();
648
644
  }
649
645
  });
650
646
  }