@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.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 (403) hide show
  1. package/index.js +19 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
  9. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
  15. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
  18. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
  21. package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
  22. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
  23. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
  24. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
  25. package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
  29. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  35. package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
  36. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  37. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
  38. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
  39. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
  40. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  41. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  42. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
  43. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
  44. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
  45. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
  46. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  47. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  48. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  49. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  50. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  51. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
  52. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
  53. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
  54. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
  55. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
  56. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
  57. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
  58. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
  59. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
  60. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
  61. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  62. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
  63. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
  64. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +21 -13
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
  128. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
  130. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
  133. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
  134. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
  136. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  139. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
  146. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
  152. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  216. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  218. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  219. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  220. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
  222. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
  223. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
  224. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
  226. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  228. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
  230. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
  232. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
  236. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  247. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  248. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
  249. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  250. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  253. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
  254. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  255. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
  257. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
  263. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  269. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
  278. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
  279. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
  285. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  291. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +3 -0
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
  378. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
  379. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
  380. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
  381. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
  396. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
  397. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
  398. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
  399. package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
  400. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
  401. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
  402. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
  403. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
@@ -0,0 +1,346 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { safeIntl } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
5
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
7
+ import { StorageScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
8
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
9
+ import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
10
+ import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
11
+ import { SELECTED_MODEL_STORAGE_KEY_PREFIX, getSelectedModelVendor } from '../common/chatSelectedModel.js';
12
+ import { COPILOT_VENDOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
13
+ import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
14
+ import { ChatInputNotificationSeverity } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
15
+ import { IChatInputNotificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service';
16
+
17
+ const QUOTA_NOTIFICATION_ID = "copilot.quotaStatus";
18
+ const THRESHOLDS = [50, 75, 90, 95];
19
+ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution extends Disposable {
20
+ static {
21
+ this.ID = "workbench.contrib.chatQuotaNotification";
22
+ }
23
+ constructor(
24
+ _chatEntitlementService,
25
+ _chatInputNotificationService,
26
+ _contextKeyService,
27
+ _languageModelsService,
28
+ _storageService
29
+ ) {
30
+ super();
31
+ this._chatEntitlementService = _chatEntitlementService;
32
+ this._chatInputNotificationService = _chatInputNotificationService;
33
+ this._contextKeyService = _contextKeyService;
34
+ this._languageModelsService = _languageModelsService;
35
+ this._storageService = _storageService;
36
+ this._showingExhausted = false;
37
+ this._register(
38
+ this._chatEntitlementService.onDidChangeQuotaRemaining(() => this._update())
39
+ );
40
+ this._register(
41
+ this._chatEntitlementService.onDidChangeQuotaExceeded(() => this._update())
42
+ );
43
+ this._register(this._chatEntitlementService.onDidChangeEntitlement(() => this._update()));
44
+ const storageListener = this._register(( new DisposableStore()));
45
+ this._register(
46
+ this._storageService.onDidChangeValue(StorageScope.APPLICATION, undefined, storageListener)(e => {
47
+ if (e.key.startsWith(SELECTED_MODEL_STORAGE_KEY_PREFIX)) {
48
+ this._update();
49
+ }
50
+ })
51
+ );
52
+ this._update();
53
+ }
54
+ _getRelevantSnapshot() {
55
+ const quotas = this._chatEntitlementService.quotas;
56
+ const entitlement = this._chatEntitlementService.entitlement;
57
+ if (entitlement === ChatEntitlement.Unknown || entitlement === ChatEntitlement.Free) {
58
+ return quotas.chat ?? quotas.premiumChat;
59
+ }
60
+ return quotas.premiumChat;
61
+ }
62
+ _isQuotaUsedUp() {
63
+ const snapshot = this._getRelevantSnapshot();
64
+ if (!snapshot) {
65
+ return false;
66
+ }
67
+ if (snapshot.unlimited) {
68
+ return snapshot.hasQuota === false;
69
+ }
70
+ return snapshot.percentRemaining <= 0;
71
+ }
72
+ _isUBBEligible() {
73
+ return this._chatEntitlementService.quotas.usageBasedBilling === true;
74
+ }
75
+ _update() {
76
+ const entitlement = this._chatEntitlementService.entitlement;
77
+ const isCopilot = this._isCopilotModelSelected();
78
+ if (!isCopilot) {
79
+ return;
80
+ }
81
+ const isQuotaNotificationEligible = entitlement === ChatEntitlement.Unknown || this._isUBBEligible();
82
+ if (this._isManagedPlan(entitlement) && this._isManagedPlanBlocked()) {
83
+ this._showManagedPlanBlockedNotification();
84
+ return;
85
+ }
86
+ if (isQuotaNotificationEligible && this._isQuotaUsedUp()) {
87
+ const quotas = this._chatEntitlementService.quotas;
88
+ const additionalUsageEnabled = quotas.additionalUsageEnabled ?? false;
89
+ const wasAdditionalUsageEnabled = this._prevAdditionalUsageEnabled;
90
+ this._prevAdditionalUsageEnabled = additionalUsageEnabled;
91
+ if (additionalUsageEnabled) {
92
+ if (this._prevQuotaPercentUsed !== undefined || wasAdditionalUsageEnabled === false) {
93
+ this._showOverageActivationNotification();
94
+ }
95
+ } else {
96
+ this._showExhaustedNotification();
97
+ }
98
+ const exhaustedSnapshot = this._getRelevantSnapshot();
99
+ if (exhaustedSnapshot && !exhaustedSnapshot.unlimited) {
100
+ this._prevQuotaPercentUsed = 100 - exhaustedSnapshot.percentRemaining;
101
+ }
102
+ return;
103
+ }
104
+ if (isQuotaNotificationEligible) {
105
+ const quotaWarning = this._computeQuotaWarning();
106
+ if (quotaWarning) {
107
+ this._showQuotaApproachingWarning(quotaWarning);
108
+ return;
109
+ }
110
+ }
111
+ const rateLimitWarning = this._computeRateLimitWarning();
112
+ if (rateLimitWarning) {
113
+ this._showRateLimitWarning(rateLimitWarning);
114
+ return;
115
+ }
116
+ if (this._showingExhausted && !this._isQuotaUsedUp()) {
117
+ this._hideNotification();
118
+ }
119
+ }
120
+ _computeQuotaWarning() {
121
+ const snapshot = this._getRelevantSnapshot();
122
+ if (!snapshot || snapshot.unlimited) {
123
+ this._prevQuotaPercentUsed = undefined;
124
+ return undefined;
125
+ }
126
+ const percentUsed = 100 - snapshot.percentRemaining;
127
+ const crossed = this._findCrossedThreshold(percentUsed, this._prevQuotaPercentUsed);
128
+ this._prevQuotaPercentUsed = percentUsed;
129
+ if (crossed !== undefined) {
130
+ return {
131
+ percentUsed: Math.floor(percentUsed)
132
+ };
133
+ }
134
+ return undefined;
135
+ }
136
+ _findCrossedThreshold(current, previous) {
137
+ if (previous === undefined) {
138
+ return undefined;
139
+ }
140
+ for (let i = THRESHOLDS.length - 1; i >= 0; i--) {
141
+ const threshold = THRESHOLDS[i];
142
+ if (previous < threshold && current >= threshold) {
143
+ return threshold;
144
+ }
145
+ }
146
+ return undefined;
147
+ }
148
+ _showExhaustedNotification() {
149
+ this._showingExhausted = true;
150
+ const entitlement = this._chatEntitlementService.entitlement;
151
+ const quotas = this._chatEntitlementService.quotas;
152
+ const hadOverage = (quotas.additionalUsageCount ?? 0) > 0;
153
+ let description;
154
+ let actions;
155
+ if (entitlement === ChatEntitlement.Unknown) {
156
+ description = ( localize(6648, "Sign in to keep going."));
157
+ actions = [{
158
+ label: ( localize(6649, "Sign In")),
159
+ commandId: "workbench.action.chat.triggerSetup"
160
+ }];
161
+ } else if (entitlement === ChatEntitlement.Free) {
162
+ description = ( localize(6650, "Upgrade to keep going."));
163
+ actions = [{
164
+ label: ( localize(6651, "Upgrade")),
165
+ commandId: "workbench.action.chat.upgradePlan"
166
+ }];
167
+ } else if (this._isManagedPlan(entitlement)) {
168
+ description = ( localize(6652, "Contact your admin to increase your limits."));
169
+ actions = [];
170
+ } else if (hadOverage) {
171
+ description = ( localize(6653, "Increase your budget to keep building."));
172
+ actions = [{
173
+ label: ( localize(6654, "Manage Budget")),
174
+ commandId: "workbench.action.chat.manageAdditionalSpend"
175
+ }];
176
+ } else {
177
+ description = ( localize(6655, "Manage your budget to keep building."));
178
+ actions = [{
179
+ label: ( localize(6656, "Manage Budget")),
180
+ commandId: "workbench.action.chat.manageAdditionalSpend"
181
+ }];
182
+ }
183
+ this._setNotification({
184
+ id: QUOTA_NOTIFICATION_ID,
185
+ severity: ChatInputNotificationSeverity.Info,
186
+ message: ( localize(6657, "Credit Limit Reached")),
187
+ description,
188
+ actions,
189
+ dismissible: true,
190
+ autoDismissOnMessage: true
191
+ });
192
+ }
193
+ _showOverageActivationNotification() {
194
+ this._showingExhausted = true;
195
+ this._setNotification({
196
+ id: QUOTA_NOTIFICATION_ID,
197
+ severity: ChatInputNotificationSeverity.Info,
198
+ message: ( localize(6658, "Credit Limit Reached")),
199
+ description: ( localize(6659, "Additional budget is now covering extra usage.")),
200
+ actions: [],
201
+ dismissible: true,
202
+ autoDismissOnMessage: true
203
+ });
204
+ }
205
+ _showQuotaApproachingWarning(warning) {
206
+ this._showingExhausted = false;
207
+ const entitlement = this._chatEntitlementService.entitlement;
208
+ const quotas = this._chatEntitlementService.quotas;
209
+ let description;
210
+ let actions;
211
+ if (entitlement === ChatEntitlement.Unknown || entitlement === ChatEntitlement.Free) {
212
+ description = ( localize(6660, "Upgrade to continue past the limit."));
213
+ actions = [{
214
+ label: ( localize(6661, "Upgrade")),
215
+ commandId: "workbench.action.chat.upgradePlan"
216
+ }];
217
+ } else if (this._isManagedPlan(entitlement)) {
218
+ description = ( localize(6662, "Contact your admin to increase your limits."));
219
+ actions = [];
220
+ } else if (quotas.additionalUsageEnabled) {
221
+ description = ( localize(6663, "Additional budget is enabled to cover extra usage."));
222
+ actions = [];
223
+ } else {
224
+ description = ( localize(6664, "Set additional budget to cover extra usage."));
225
+ actions = [{
226
+ label: ( localize(6665, "Manage Budget")),
227
+ commandId: "workbench.action.chat.manageAdditionalSpend"
228
+ }];
229
+ }
230
+ this._setNotification({
231
+ id: QUOTA_NOTIFICATION_ID,
232
+ severity: ChatInputNotificationSeverity.Info,
233
+ message: ( localize(6666, "Credits at {0}%", warning.percentUsed)),
234
+ description,
235
+ actions,
236
+ dismissible: true,
237
+ autoDismissOnMessage: true
238
+ });
239
+ }
240
+ _computeRateLimitWarning() {
241
+ const quotas = this._chatEntitlementService.quotas;
242
+ const sessionResult = this._checkRateLimitCrossing(quotas.sessionRateLimit, this._prevSessionPercentUsed);
243
+ this._prevSessionPercentUsed = sessionResult.newPrev;
244
+ const weeklyResult = this._checkRateLimitCrossing(quotas.weeklyRateLimit, this._prevWeeklyPercentUsed);
245
+ this._prevWeeklyPercentUsed = weeklyResult.newPrev;
246
+ if (sessionResult.warning) {
247
+ return {
248
+ ...sessionResult.warning,
249
+ type: "session"
250
+ };
251
+ }
252
+ if (weeklyResult.warning) {
253
+ return {
254
+ ...weeklyResult.warning,
255
+ type: "weekly"
256
+ };
257
+ }
258
+ return undefined;
259
+ }
260
+ _checkRateLimitCrossing(snapshot, prevPercentUsed) {
261
+ if (!snapshot || snapshot.unlimited) {
262
+ return {
263
+ newPrev: undefined
264
+ };
265
+ }
266
+ const percentUsed = 100 - snapshot.percentRemaining;
267
+ const crossed = this._findCrossedThreshold(percentUsed, prevPercentUsed);
268
+ return {
269
+ newPrev: percentUsed,
270
+ warning: crossed !== undefined ? {
271
+ percentUsed: Math.floor(percentUsed),
272
+ resetDate: snapshot.resetDate
273
+ } : undefined
274
+ };
275
+ }
276
+ _showRateLimitWarning(warning) {
277
+ this._showingExhausted = false;
278
+ const message = warning.type === "session" ? ( localize(6667, "You've used {0}% of your session rate limit.", warning.percentUsed)) : ( localize(6668, "You've used {0}% of your weekly rate limit.", warning.percentUsed));
279
+ const description = warning.resetDate ? ( localize(6669, "Resets on {0}.", this._formatResetDate(warning.resetDate))) : undefined;
280
+ this._setNotification({
281
+ id: QUOTA_NOTIFICATION_ID,
282
+ severity: ChatInputNotificationSeverity.Info,
283
+ message,
284
+ description,
285
+ actions: [],
286
+ dismissible: true,
287
+ autoDismissOnMessage: true
288
+ });
289
+ }
290
+ _isCopilotModelSelected() {
291
+ const vendor = getSelectedModelVendor(this._contextKeyService, this._storageService, this._languageModelsService);
292
+ if (!vendor) {
293
+ return true;
294
+ }
295
+ return vendor === COPILOT_VENDOR_ID;
296
+ }
297
+ _isManagedPlan(entitlement) {
298
+ return entitlement === ChatEntitlement.Business || entitlement === ChatEntitlement.Enterprise;
299
+ }
300
+ _isManagedPlanBlocked() {
301
+ const snapshot = this._chatEntitlementService.quotas.premiumChat;
302
+ return !!snapshot && snapshot.hasQuota === false;
303
+ }
304
+ _showManagedPlanBlockedNotification() {
305
+ this._showingExhausted = true;
306
+ this._setNotification({
307
+ id: QUOTA_NOTIFICATION_ID,
308
+ severity: ChatInputNotificationSeverity.Info,
309
+ message: ( localize(6670, "Usage Blocked")),
310
+ description: ( localize(
311
+ 6671,
312
+ "Your organization or enterprise has exceeded its Copilot budget. Contact your admin to resume usage."
313
+ )),
314
+ actions: [],
315
+ dismissible: true,
316
+ autoDismissOnMessage: true
317
+ });
318
+ }
319
+ _formatResetDate(isoDate) {
320
+ const resetDate = ( new Date(isoDate));
321
+ const now = ( new Date());
322
+ const includeYear = resetDate.getFullYear() !== now.getFullYear();
323
+ return safeIntl.DateTimeFormat(undefined, includeYear ? {
324
+ month: "long",
325
+ day: "numeric",
326
+ year: "numeric",
327
+ hour: "numeric",
328
+ minute: "2-digit"
329
+ } : {
330
+ month: "long",
331
+ day: "numeric",
332
+ hour: "numeric",
333
+ minute: "2-digit"
334
+ }).value.format(resetDate);
335
+ }
336
+ _setNotification(notification) {
337
+ this._chatInputNotificationService.setNotification(notification);
338
+ }
339
+ _hideNotification() {
340
+ this._showingExhausted = false;
341
+ this._chatInputNotificationService.deleteNotification(QUOTA_NOTIFICATION_ID);
342
+ }
343
+ };
344
+ ChatQuotaNotificationContribution = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IChatInputNotificationService)), ( __param(2, IContextKeyService)), ( __param(3, ILanguageModelsService)), ( __param(4, IStorageService))], ChatQuotaNotificationContribution));
345
+
346
+ export { ChatQuotaNotificationContribution };
@@ -15,6 +15,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/defaultLinesDi
15
15
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
16
16
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
17
17
  import '@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence';
18
+ import '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/text/positionToOffset';
18
19
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
19
20
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
20
21
  import '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
@@ -127,13 +128,13 @@ let ChatRepoInfoContribution = class ChatRepoInfoContribution extends Disposable
127
128
  const registry = ( Registry.as(Extensions.Configuration));
128
129
  registry.registerConfiguration({
129
130
  id: "chatRepoInfo",
130
- title: ( localize(6558, "Chat Repository Info")),
131
+ title: ( localize(6672, "Chat Repository Info")),
131
132
  type: "object",
132
133
  properties: {
133
134
  [ChatConfiguration.RepoInfoEnabled]: {
134
135
  type: "boolean",
135
136
  description: ( localize(
136
- 6559,
137
+ 6673,
137
138
  "Controls whether lightweight repository metadata (branch, commit, remotes) is captured when a chat request is submitted for internal diagnostics."
138
139
  )),
139
140
  default: false
@@ -1,6 +1,5 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IActionViewItemService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service";
3
- import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
4
3
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
5
4
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
6
5
  import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
@@ -47,4 +46,3 @@ export declare class ChatTeardownContribution extends Disposable implements IWor
47
46
  private maybeHideAuxiliaryBar;
48
47
  private registerActions;
49
48
  }
50
- export declare function refreshTokens(commandService: ICommandService): void;
@@ -2,6 +2,7 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { append, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { BaseActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems';
5
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
6
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
7
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
7
8
  import { Disposable, markAsSingleton, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -54,17 +55,18 @@ import { ChatModeKind, ChatAgentLocation, ChatConfiguration } from '@codingame/m
54
55
  import { CHAT_CATEGORY, CHAT_SETUP_ACTION_ID, CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
55
56
  import { ChatViewContainerId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
56
57
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
58
+ import { ChatInputNotificationSeverity } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
59
+ import { IChatInputNotificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service';
57
60
  import { chatViewsWelcomeRegistry } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome';
58
- import { ChatSetupAnonymous } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSetup/chatSetup';
61
+ import { ChatSetupAnonymous, buildUpgradeUrlWithRedirect, refreshTokens } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSetup/chatSetup';
59
62
  import { ChatSetupController } from './chatSetupController.js';
60
63
  import { GrowthSessionController, registerGrowthSession } from './chatSetupGrowthSession.js';
61
64
  import { SetupAgent, AINewSymbolNamesProvider, ChatCodeActionsProvider, AICodeActionsHelper } from './chatSetupProviders.js';
62
65
  import { ChatSetup } from './chatSetupRunner.js';
63
66
 
67
+ var ChatSetupExtensionUrlHandler_1;
64
68
  const defaultChat = {
65
- chatExtensionId: product.defaultChatAgent?.chatExtensionId ?? "",
66
- upgradePlanUrl: product.defaultChatAgent?.upgradePlanUrl ?? "",
67
- chatRefreshTokenCommand: product.defaultChatAgent?.chatRefreshTokenCommand ?? ""
69
+ chatExtensionId: product.defaultChatAgent?.chatExtensionId ?? ""
68
70
  };
69
71
  const SIGN_IN_TITLE_BAR_ACTION_ID = "workbench.action.chat.signInIndicator";
70
72
  let ChatSetupContribution = class ChatSetupContribution extends Disposable {
@@ -226,7 +228,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
226
228
  registerActions(context, requests, controller) {
227
229
  class ChatSetupTriggerAction extends Action2 {
228
230
  static {
229
- this.CHAT_SETUP_ACTION_LABEL = ( localize2(6607, "Use AI Features with Copilot for free..."));
231
+ this.CHAT_SETUP_ACTION_LABEL = ( localize2(6721, "Use AI Features with Copilot for free..."));
230
232
  }
231
233
  constructor() {
232
234
  super({
@@ -277,8 +279,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
277
279
  confirmed
278
280
  } = await dialogService.confirm({
279
281
  type: Severity.Error,
280
- message: ( localize(6608, "Chat setup failed. Would you like to try again?")),
281
- primaryButton: ( localize(6609, "Retry"))
282
+ message: ( localize(6722, "Chat setup failed. Would you like to try again?")),
283
+ primaryButton: ( localize(6723, "Retry"))
282
284
  });
283
285
  if (confirmed) {
284
286
  return Boolean(await commandService.executeCommand(CHAT_SETUP_ACTION_ID, mode, options));
@@ -323,7 +325,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
323
325
  constructor() {
324
326
  super({
325
327
  id: "workbench.action.chat.triggerSetupForceSignIn",
326
- title: ( localize2(6610, "Sign in to use AI features"))
328
+ title: ( localize2(6724, "Sign in to use GitHub Copilot"))
327
329
  });
328
330
  }
329
331
  async run(accessor) {
@@ -361,11 +363,11 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
361
363
  constructor() {
362
364
  super({
363
365
  id: "workbench.action.chat.triggerSetupFromAccounts",
364
- title: ( localize2(6611, "Sign in to use AI features...")),
366
+ title: ( localize2(6725, "Sign in to use GitHub Copilot...")),
365
367
  menu: {
366
368
  id: MenuId.AccountsContext,
367
369
  group: "2_copilot",
368
- when: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ChatContextKeys.Setup.completed.negate()), ( ChatEntitlementContextKeys.hasByokModels.negate()), ChatContextKeys.Entitlement.signedOut))
370
+ when: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ChatContextKeys.Setup.completed.negate()), ChatContextKeys.Entitlement.signedOut))
369
371
  }
370
372
  });
371
373
  }
@@ -386,7 +388,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
386
388
  constructor() {
387
389
  super({
388
390
  id: ChatSetupSignInTitleBarAction.ID,
389
- title: ( localize(6612, "Sign In")),
391
+ title: ( localize(6726, "Sign In")),
390
392
  f1: false,
391
393
  menu: [{
392
394
  id: MenuId.TitleBarAdjacentCenter,
@@ -407,7 +409,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
407
409
  }
408
410
  class ToggleSignInTitleBarAction extends ToggleTitleBarConfigAction {
409
411
  constructor() {
410
- super(ChatConfiguration.TitleBarSignInEnabled, ( localize(6613, "Copilot Sign In")), ( localize(6614, "Toggle visibility of the Copilot Sign In button in title bar")), 3, ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))));
412
+ super(ChatConfiguration.TitleBarSignInEnabled, ( localize(6727, "Copilot Sign In")), ( localize(6728, "Toggle visibility of the Copilot Sign In button in title bar")), 3, ( ContextKeyExpr.and(( IsWebContext.negate()), ChatContextKeys.Entitlement.signedOut, ( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))));
411
413
  }
412
414
  }
413
415
  const windowFocusListener = this._register(( new MutableDisposable()));
@@ -415,8 +417,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
415
417
  constructor() {
416
418
  super({
417
419
  id: "workbench.action.chat.upgradePlan",
418
- title: ( localize2(6615, "Upgrade to GitHub Copilot Pro")),
419
- category: ( localize2(6616, "Chat")),
420
+ title: ( localize2(6729, "Upgrade to GitHub Copilot Pro")),
421
+ category: ( localize2(6730, "Chat")),
420
422
  f1: true,
421
423
  precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.or(
422
424
  ChatContextKeys.Entitlement.canSignUp,
@@ -438,11 +440,15 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
438
440
  const hostService = accessor.get(IHostService);
439
441
  const commandService = accessor.get(ICommandService);
440
442
  const telemetryService = accessor.get(ITelemetryService);
443
+ const defaultAccountService = accessor.get(IDefaultAccountService);
444
+ const productService = accessor.get(IProductService);
441
445
  telemetryService.publicLog2("workbenchActionExecuted", {
442
446
  id: "workbench.action.chat.upgradePlan",
443
447
  from: "command"
444
448
  });
445
- openerService.open(( URI.parse(defaultChat.upgradePlanUrl)));
449
+ const baseUrl = defaultAccountService.resolveGitHubUrl(GitHubPaths.copilotUpgrade);
450
+ const upgradeUrl = buildUpgradeUrlWithRedirect(baseUrl, productService.urlProtocol, productService.quality);
451
+ openerService.open(upgradeUrl);
446
452
  const entitlement = context.state.entitlement;
447
453
  if (!isProUser(entitlement)) {
448
454
  windowFocusListener.value = hostService.onDidChangeFocus(focus => this.onWindowFocus(focus, commandService));
@@ -462,8 +468,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
462
468
  constructor() {
463
469
  super({
464
470
  id: "workbench.action.chat.manageAdditionalSpend",
465
- title: ( localize2(6617, "Manage GitHub Copilot Budget")),
466
- category: ( localize2(6616, "Chat")),
471
+ title: ( localize2(6731, "Manage GitHub Copilot Budget")),
472
+ category: ( localize2(6730, "Chat")),
467
473
  f1: true,
468
474
  precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()), ( ContextKeyExpr.or(
469
475
  ChatContextKeys.Entitlement.planPro,
@@ -550,7 +556,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
550
556
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
551
557
  command: {
552
558
  id: "chat.internal.explain",
553
- title: ( localize(6618, "Explain"))
559
+ title: ( localize(6732, "Explain"))
554
560
  },
555
561
  group: "1_chat",
556
562
  order: 4,
@@ -559,7 +565,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
559
565
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
560
566
  command: {
561
567
  id: "chat.internal.fix",
562
- title: ( localize(6619, "Fix"))
568
+ title: ( localize(6733, "Fix"))
563
569
  },
564
570
  group: "1_chat",
565
571
  order: 5,
@@ -568,7 +574,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
568
574
  MenuRegistry.appendMenuItem(MenuId.EditorContext, {
569
575
  command: {
570
576
  id: "chat.internal.review",
571
- title: ( localize(6620, "Code Review"))
577
+ title: ( localize(6734, "Code Review"))
572
578
  },
573
579
  group: "1_chat",
574
580
  order: 6,
@@ -639,15 +645,32 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
639
645
  };
640
646
  ChatSetupContribution = ( __decorate([( __param(0, IActionViewItemService)), ( __param(1, IInstantiationService)), ( __param(2, IChatEntitlementService)), ( __param(3, ILogService)), ( __param(4, IContextKeyService)), ( __param(5, IWorkbenchExtensionEnablementService)), ( __param(6, IExtensionsWorkbenchService)), ( __param(7, IExtensionService)), ( __param(8, IEnvironmentService)), ( __param(9, IChatSessionsService)), ( __param(10, IConfigurationService))], ChatSetupContribution));
641
647
  let ChatSetupExtensionUrlHandler = class ChatSetupExtensionUrlHandler {
642
- constructor(productService, commandService, telemetryService) {
648
+ static {
649
+ ChatSetupExtensionUrlHandler_1 = this;
650
+ }
651
+ static {
652
+ this.UPGRADE_SUCCESS_NOTIFICATION_ID = "copilot.upgradeSuccess";
653
+ }
654
+ constructor(
655
+ productService,
656
+ commandService,
657
+ telemetryService,
658
+ chatEntitlementService,
659
+ chatInputNotificationService
660
+ ) {
643
661
  this.productService = productService;
644
662
  this.commandService = commandService;
645
663
  this.telemetryService = telemetryService;
664
+ this.chatEntitlementService = chatEntitlementService;
665
+ this.chatInputNotificationService = chatInputNotificationService;
646
666
  }
647
667
  canHandleURL(url) {
648
668
  return url.scheme === this.productService.urlProtocol && equalsIgnoreCase(url.authority, defaultChat.chatExtensionId);
649
669
  }
650
670
  async handleURL(url) {
671
+ if (url.path === "/upgrade-success") {
672
+ return this._handleUpgradeSuccess();
673
+ }
651
674
  const params = ( new URLSearchParams(url.query));
652
675
  this.telemetryService.publicLog2("workbenchActionExecuted", {
653
676
  id: CHAT_SETUP_ACTION_ID,
@@ -664,8 +687,26 @@ let ChatSetupExtensionUrlHandler = class ChatSetupExtensionUrlHandler {
664
687
  } : undefined);
665
688
  return true;
666
689
  }
690
+ async _handleUpgradeSuccess() {
691
+ this.telemetryService.publicLog2("workbenchActionExecuted", {
692
+ id: "workbench.action.chat.upgradePlan",
693
+ from: "redirect"
694
+ });
695
+ await this.chatEntitlementService.update(CancellationToken.None);
696
+ refreshTokens(this.commandService);
697
+ this.chatInputNotificationService.setNotification({
698
+ id: ChatSetupExtensionUrlHandler_1.UPGRADE_SUCCESS_NOTIFICATION_ID,
699
+ severity: ChatInputNotificationSeverity.Info,
700
+ message: ( localize(6735, "Upgrade Successful")),
701
+ description: ( localize(6736, "Please wait up to 10 minutes for your new plan to apply.")),
702
+ actions: [],
703
+ dismissible: true,
704
+ autoDismissOnMessage: true
705
+ });
706
+ return true;
707
+ }
667
708
  };
668
- ChatSetupExtensionUrlHandler = ( __decorate([( __param(0, IProductService)), ( __param(1, ICommandService)), ( __param(2, ITelemetryService))], ChatSetupExtensionUrlHandler));
709
+ ChatSetupExtensionUrlHandler = ChatSetupExtensionUrlHandler_1 = ( __decorate([( __param(0, IProductService)), ( __param(1, ICommandService)), ( __param(2, ITelemetryService)), ( __param(3, IChatEntitlementService)), ( __param(4, IChatInputNotificationService))], ChatSetupExtensionUrlHandler));
669
710
  let ChatTeardownContribution = class ChatTeardownContribution extends Disposable {
670
711
  static {
671
712
  this.ID = "workbench.contrib.chatTeardown";
@@ -735,12 +776,17 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
735
776
  const defaultChatExtension = this.extensionsWorkbenchService.local.find(
736
777
  value => ExtensionIdentifier.equals(value.identifier.id, defaultChat.chatExtensionId)
737
778
  );
738
- if (!defaultChatExtension) {
779
+ if (!defaultChatExtension?.local) {
780
+ return;
781
+ }
782
+ const workspace = state === EnablementState.EnabledWorkspace || state === EnablementState.DisabledWorkspace;
783
+ const canChange = workspace ? this.extensionEnablementService.canChangeWorkspaceEnablement(defaultChatExtension.local) : this.extensionEnablementService.canChangeEnablement(defaultChatExtension.local);
784
+ if (!canChange) {
739
785
  return;
740
786
  }
741
787
  await this.extensionsWorkbenchService.setEnablement([defaultChatExtension], state);
742
788
  await this.extensionsWorkbenchService.updateRunningExtensions(
743
- state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(6621, "Enabling AI features")) : ( localize(6622, "Disabling AI features"))
789
+ state === EnablementState.EnabledGlobally || state === EnablementState.EnabledWorkspace ? ( localize(6737, "Enabling AI features")) : ( localize(6738, "Disabling AI features"))
744
790
  );
745
791
  }
746
792
  maybeHideAuxiliaryBar() {
@@ -758,7 +804,7 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
758
804
  this.ID = "workbench.action.chat.hideSetup";
759
805
  }
760
806
  static {
761
- this.TITLE = ( localize2(6623, "Learn How to Hide AI Features"));
807
+ this.TITLE = ( localize2(6739, "Learn How to Hide AI Features"));
762
808
  }
763
809
  constructor() {
764
810
  super({
@@ -787,9 +833,6 @@ let ChatTeardownContribution = class ChatTeardownContribution extends Disposable
787
833
  }
788
834
  };
789
835
  ChatTeardownContribution = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IConfigurationService)), ( __param(2, IExtensionsWorkbenchService)), ( __param(3, IWorkbenchExtensionEnablementService)), ( __param(4, IViewDescriptorService)), ( __param(5, IWorkbenchLayoutService))], ChatTeardownContribution));
790
- function refreshTokens(commandService) {
791
- commandService.executeCommand(defaultChat.chatRefreshTokenCommand);
792
- }
793
836
  class SignInTitleBarEntry extends BaseActionViewItem {
794
837
  constructor(action, options) {
795
838
  super(undefined, action, options);
@@ -817,4 +860,4 @@ class SignInTitleBarEntry extends BaseActionViewItem {
817
860
  }
818
861
  }
819
862
 
820
- export { ChatSetupContribution, ChatTeardownContribution, refreshTokens };
863
+ export { ChatSetupContribution, ChatTeardownContribution };