@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
@@ -65,6 +65,21 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
65
65
  this.activeCodeEditorListener = this._register(( new MutableDisposable()));
66
66
  this.entryAnchor = $("span");
67
67
  this.runningSessionsCount = this.chatSessionsService.getInProgress().reduce((total, item) => total + item.count, 0);
68
+ this.dashboardTooltip = {
69
+ element: token => {
70
+ const store = ( new DisposableStore());
71
+ store.add(token.onCancellationRequested(() => {
72
+ store.dispose();
73
+ }));
74
+ const elem = ChatStatusDashboard.instantiateInContents(this.instantiationService, store, undefined);
75
+ store.add(disposableWindowInterval(mainWindow, () => {
76
+ if (!elem.isConnected) {
77
+ store.dispose();
78
+ }
79
+ }, 2000));
80
+ return elem;
81
+ }
82
+ };
68
83
  this.update();
69
84
  this.registerListeners();
70
85
  }
@@ -126,7 +141,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
126
141
  }
127
142
  getEntryProps() {
128
143
  let text = "$(copilot)";
129
- let ariaLabel = ( localize(6746, "Copilot status"));
144
+ let ariaLabel = ( localize(6865, "Copilot status"));
130
145
  let kind;
131
146
  if (isNewUser(this.chatEntitlementService)) {
132
147
  const entitlement = this.chatEntitlementService.entitlement;
@@ -138,83 +153,69 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
138
153
  const quotas = this.chatEntitlementService.quotas;
139
154
  const chatQuotaExceeded = quotas.chat?.percentRemaining === 0;
140
155
  const completionsQuotaExceeded = quotas.completions?.percentRemaining === 0;
141
- const isPooledQuotaDepleted = quotas.premiumChat?.unlimited && quotas.premiumChat.hasQuota === false && !(quotas.additionalUsageEnabled ?? false);
156
+ const isPooledQuotaDepleted = quotas.premiumChat?.unlimited && quotas.premiumChat.hasQuota === false;
142
157
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
143
158
  text = "$(copilot-unavailable)";
144
- ariaLabel = ( localize(6747, "Copilot disabled"));
159
+ ariaLabel = ( localize(6866, "Copilot disabled"));
145
160
  }
146
161
  else if (this.runningSessionsCount > 0) {
147
162
  text = "$(copilot-in-progress)";
148
163
  if (this.runningSessionsCount > 1) {
149
- ariaLabel = ( localize(6748, "{0} agent sessions in progress", this.runningSessionsCount));
164
+ ariaLabel = ( localize(6867, "{0} agent sessions in progress", this.runningSessionsCount));
150
165
  } else {
151
- ariaLabel = ( localize(6749, "1 agent session in progress"));
166
+ ariaLabel = ( localize(6868, "1 agent session in progress"));
152
167
  }
153
168
  }
154
- else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown && !this.chatEntitlementService.hasByokModels) {
169
+ else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
155
170
  return this.getSetupEntryProps();
156
171
  }
157
172
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
158
173
  let quotaWarning;
159
174
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
160
- quotaWarning = ( localize(6750, "Chat quota reached"));
175
+ quotaWarning = ( localize(6869, "Chat quota reached"));
161
176
  } else if (completionsQuotaExceeded && !chatQuotaExceeded) {
162
- quotaWarning = ( localize(6751, "Inline suggestions quota reached"));
177
+ quotaWarning = ( localize(6870, "Inline suggestions limit reached"));
163
178
  } else {
164
- quotaWarning = ( localize(6752, "Quota reached"));
179
+ quotaWarning = ( localize(6871, "Quota reached"));
165
180
  }
166
181
  text = `$(copilot-warning) ${quotaWarning}`;
167
182
  ariaLabel = quotaWarning;
168
183
  kind = "prominent";
169
184
  }
170
185
  else if ((this.chatEntitlementService.entitlement === ChatEntitlement.Business || this.chatEntitlementService.entitlement === ChatEntitlement.Enterprise) && isPooledQuotaDepleted) {
171
- const quotaWarning = ( localize(6752, "Quota reached"));
186
+ const quotaWarning = ( localize(6871, "Quota reached"));
172
187
  text = `$(copilot-warning) ${quotaWarning}`;
173
188
  ariaLabel = quotaWarning;
174
189
  kind = "prominent";
175
190
  }
176
191
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
177
192
  text = "$(copilot-unavailable)";
178
- ariaLabel = ( localize(6753, "Inline suggestions disabled"));
193
+ ariaLabel = ( localize(6872, "Inline suggestions disabled"));
179
194
  }
180
195
  else if (this.completionsService.isSnoozing()) {
181
196
  text = "$(copilot-snooze)";
182
- ariaLabel = ( localize(6754, "Inline suggestions snoozed"));
197
+ ariaLabel = ( localize(6873, "Inline suggestions snoozed"));
183
198
  }
184
199
  }
185
200
  const baseResult = {
186
- name: ( localize(6755, "Copilot Status")),
201
+ name: ( localize(6874, "Copilot Status")),
187
202
  text,
188
203
  ariaLabel,
189
204
  command: ShowTooltipCommand,
190
205
  showInAllWindows: true,
191
206
  kind,
192
207
  content: this.entryAnchor,
193
- tooltip: {
194
- element: token => {
195
- const store = ( new DisposableStore());
196
- store.add(token.onCancellationRequested(() => {
197
- store.dispose();
198
- }));
199
- const elem = ChatStatusDashboard.instantiateInContents(this.instantiationService, store, undefined);
200
- store.add(disposableWindowInterval(mainWindow, () => {
201
- if (!elem.isConnected) {
202
- store.dispose();
203
- }
204
- }, 2000));
205
- return elem;
206
- }
207
- }
208
+ tooltip: this.dashboardTooltip
208
209
  };
209
210
  return baseResult;
210
211
  }
211
212
  getSetupEntryProps() {
212
213
  const showSignInLabel = !this.isSignInTitleBarAffordanceVisible();
213
- const signInLabel = ( localize(6756, "Sign In"));
214
+ const signInLabel = ( localize(6875, "Sign In"));
214
215
  return {
215
- name: ( localize(6755, "Copilot Status")),
216
+ name: ( localize(6874, "Copilot Status")),
216
217
  text: showSignInLabel ? `$(copilot) ${signInLabel}` : "$(copilot)",
217
- ariaLabel: showSignInLabel ? signInLabel : ( localize(6746, "Copilot status")),
218
+ ariaLabel: showSignInLabel ? signInLabel : ( localize(6865, "Copilot status")),
218
219
  command: CHAT_SETUP_ACTION_ID,
219
220
  showInAllWindows: true,
220
221
  kind: undefined,
@@ -216,6 +216,9 @@
216
216
  }
217
217
 
218
218
  .chat-status-bar-entry-tooltip .quota-indicator .quota-title {
219
+ display: flex;
220
+ justify-content: space-between;
221
+ align-items: baseline;
219
222
  font-size: 13px;
220
223
  line-height: 18px;
221
224
  font-weight: 600;
@@ -252,6 +255,7 @@
252
255
 
253
256
  .chat-status-bar-entry-tooltip .quota-indicator .quota-reset {
254
257
  font-size: 12px;
258
+ font-weight: normal;
255
259
  line-height: 16px;
256
260
  color: var(--vscode-descriptionForeground);
257
261
  white-space: nowrap;
@@ -6,6 +6,12 @@ export declare enum ChatTipTier {
6
6
  Foundational = "foundational",
7
7
  Qol = "qol"
8
8
  }
9
+ /**
10
+ * Treatment names for tip messages overridable via the workbench assignment service.
11
+ */
12
+ export declare enum ChatTipExperiment {
13
+ OpenAgentsWindowTip = "openagentswindowtip"
14
+ }
9
15
  /**
10
16
  * Context provided to tip builders for dynamic message construction.
11
17
  */
@@ -14,6 +20,11 @@ export interface ITipBuildContext {
14
20
  * Keybinding service for looking up keyboard shortcuts.
15
21
  */
16
22
  readonly keybindingService: IKeybindingService;
23
+ /**
24
+ * Experimental tip message overrides keyed by treatment name (see {@link ChatTipExperiment}).
25
+ * Builders should fall back to their default localized strings when a treatment is not set.
26
+ */
27
+ readonly experimentalTipMessages: ReadonlyMap<string, string>;
17
28
  }
18
29
  /**
19
30
  * Gets the display label for a command, looking it up from MenuRegistry.
@@ -2,8 +2,9 @@
2
2
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
3
3
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
4
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
5
+ import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
5
6
  import '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
6
- import { ChatConfiguration, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
7
+ import { ChatConfiguration, OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_WORKSPACE_IN_AGENTS_WINDOW_COMMAND_ID, ChatModeKind, OPEN_AGENTS_WINDOW_PRECONDITION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
7
8
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
8
9
  import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
9
10
  import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
@@ -15,6 +16,10 @@ var ChatTipTier;
15
16
  ChatTipTier["Foundational"] = "foundational";
16
17
  ChatTipTier["Qol"] = "qol";
17
18
  })(ChatTipTier || (ChatTipTier = {}));
19
+ var ChatTipExperiment;
20
+ (function(ChatTipExperiment) {
21
+ ChatTipExperiment["OpenAgentsWindowTip"] = "openagentswindowtip";
22
+ })(ChatTipExperiment || (ChatTipExperiment = {}));
18
23
  function formatKeybinding(ctx, commandId) {
19
24
  const kb = ctx.keybindingService.lookupKeybinding(commandId);
20
25
  return kb ? ` (${kb.getLabel()})` : "";
@@ -34,7 +39,7 @@ const TIP_CATALOG = [{
34
39
  priority: 0,
35
40
  buildMessage(_ctx) {
36
41
  return (new MarkdownString(localize(
37
- 6757,
42
+ 6876,
38
43
  "Using GPT-4.1? Try switching to [Auto](command:workbench.action.chat.openModelPicker \"Open Model Picker\") in the model picker for better coding performance."
39
44
  )));
40
45
  },
@@ -46,7 +51,7 @@ const TIP_CATALOG = [{
46
51
  buildMessage(ctx) {
47
52
  const kb = formatKeybinding(ctx, GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID);
48
53
  return (new MarkdownString(localize(
49
- 6758,
54
+ 6877,
50
55
  "Use [{0}](command:{1} \"Run /init\"){2} to generate or update a workspace instructions file for AI coding agents.",
51
56
  "/init",
52
57
  GENERATE_AGENT_INSTRUCTIONS_COMMAND_ID,
@@ -64,7 +69,7 @@ const TIP_CATALOG = [{
64
69
  buildMessage(ctx) {
65
70
  const kb = formatKeybinding(ctx, GENERATE_PROMPT_COMMAND_ID);
66
71
  return (new MarkdownString(localize(
67
- 6759,
72
+ 6878,
68
73
  "Use [{0}](command:{1} \"Run /create-prompt\"){2} to generate a reusable prompt file with the agent.",
69
74
  "/create-prompt",
70
75
  GENERATE_PROMPT_COMMAND_ID,
@@ -80,7 +85,7 @@ const TIP_CATALOG = [{
80
85
  buildMessage(ctx) {
81
86
  const kb = formatKeybinding(ctx, GENERATE_AGENT_COMMAND_ID);
82
87
  return (new MarkdownString(localize(
83
- 6760,
88
+ 6879,
84
89
  "Use [{0}](command:{1} \"Run /create-agent\"){2} to scaffold a custom agent for your workflow.",
85
90
  "/create-agent",
86
91
  GENERATE_AGENT_COMMAND_ID,
@@ -96,7 +101,7 @@ const TIP_CATALOG = [{
96
101
  buildMessage(ctx) {
97
102
  const kb = formatKeybinding(ctx, GENERATE_SKILL_COMMAND_ID);
98
103
  return (new MarkdownString(localize(
99
- 6761,
104
+ 6880,
100
105
  "Use [{0}](command:{1} \"Run /create-skill\"){2} to create a skill the agent can load when relevant.",
101
106
  "/create-skill",
102
107
  GENERATE_SKILL_COMMAND_ID,
@@ -112,7 +117,7 @@ const TIP_CATALOG = [{
112
117
  buildMessage(ctx) {
113
118
  const kb = formatKeybinding(ctx, "workbench.action.chat.openPlan");
114
119
  return (new MarkdownString(localize(
115
- 6762,
120
+ 6881,
116
121
  "Try the [{0}](command:workbench.action.chat.openPlan \"Start Plan Mode\"){1} to research and plan before implementing changes.",
117
122
  "Plan agent",
118
123
  kb
@@ -126,7 +131,7 @@ const TIP_CATALOG = [{
126
131
  tier: ChatTipTier.Qol,
127
132
  buildMessage() {
128
133
  return (new MarkdownString(localize(
129
- 6763,
134
+ 6882,
130
135
  "Reference files or folders with # to give the agent more context about the task."
131
136
  )));
132
137
  },
@@ -142,7 +147,7 @@ const TIP_CATALOG = [{
142
147
  tier: ChatTipTier.Qol,
143
148
  buildMessage() {
144
149
  return (new MarkdownString(localize(
145
- 6764,
150
+ 6883,
146
151
  "Select a code block in the editor and right-click to access more AI actions."
147
152
  )));
148
153
  },
@@ -152,7 +157,7 @@ const TIP_CATALOG = [{
152
157
  tier: ChatTipTier.Qol,
153
158
  buildMessage() {
154
159
  return (new MarkdownString(localize(
155
- 6765,
160
+ 6884,
156
161
  "Hover a previous request and select \"Restore Checkpoint\" to undo changes after that point in the chat conversation."
157
162
  )));
158
163
  },
@@ -166,7 +171,7 @@ const TIP_CATALOG = [{
166
171
  tier: ChatTipTier.Qol,
167
172
  buildMessage() {
168
173
  return (new MarkdownString(localize(
169
- 6766,
174
+ 6885,
170
175
  "Steer the agent mid-task by sending follow-up messages. They queue and apply in order."
171
176
  )));
172
177
  },
@@ -181,7 +186,7 @@ const TIP_CATALOG = [{
181
186
  buildMessage(ctx) {
182
187
  const kb = formatKeybinding(ctx, INSERT_FORK_CONVERSATION_COMMAND_ID);
183
188
  return (new MarkdownString(localize(
184
- 6767,
189
+ 6886,
185
190
  "Use [{0}](command:{1} \"Run /fork\"){2} to branch the conversation. Explore a different approach without losing the original context.",
186
191
  "/fork",
187
192
  INSERT_FORK_CONVERSATION_COMMAND_ID,
@@ -193,25 +198,12 @@ const TIP_CATALOG = [{
193
198
  "workbench.action.chat.forkConversation",
194
199
  TipTrackingCommands.ForkConversationUsed
195
200
  ]
196
- }, {
197
- id: "tip.agenticBrowser",
198
- tier: ChatTipTier.Qol,
199
- buildMessage() {
200
- return (new MarkdownString(localize(
201
- 6768,
202
- "Enable [{0}](command:workbench.action.openSettings?%5B%22workbench.browser.enableChatTools%22%5D \"Open Settings\") to let the agent open and interact with pages in the Integrated Browser.",
203
- "agentic browser integration"
204
- )));
205
- },
206
- when: ( ContextKeyExpr.and(( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ContextKeyExpr.notEquals("config.workbench.browser.enableChatTools", true)))),
207
- excludeWhenSettingsChanged: ["workbench.browser.enableChatTools"],
208
- dismissWhenCommandsClicked: ["workbench.action.openSettings"]
209
201
  }, {
210
202
  id: "tip.mermaid",
211
203
  tier: ChatTipTier.Qol,
212
204
  buildMessage() {
213
205
  return (new MarkdownString(localize(
214
- 6769,
206
+ 6887,
215
207
  "Ask the agent to draw an architectural diagram or flow chart. It can render Mermaid diagrams directly in chat."
216
208
  )));
217
209
  },
@@ -222,7 +214,7 @@ const TIP_CATALOG = [{
222
214
  tier: ChatTipTier.Qol,
223
215
  buildMessage() {
224
216
  return (new MarkdownString(localize(
225
- 6770,
217
+ 6888,
226
218
  "Have another task to work on? Start a new session to run multiple agents at once."
227
219
  )));
228
220
  },
@@ -233,7 +225,7 @@ const TIP_CATALOG = [{
233
225
  tier: ChatTipTier.Qol,
234
226
  buildMessage() {
235
227
  return (new MarkdownString(localize(
236
- 6771,
228
+ 6889,
237
229
  "Customize the loading messages shown while the agent works with [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\").",
238
230
  "thinking phrases",
239
231
  ChatConfiguration.ThinkingPhrases
@@ -247,7 +239,7 @@ const TIP_CATALOG = [{
247
239
  tier: ChatTipTier.Qol,
248
240
  buildMessage() {
249
241
  return (new MarkdownString(localize(
250
- 6772,
242
+ 6890,
251
243
  "Configure [{0}](command:workbench.action.openSettings?%5B%22chat.editing.autoAcceptDelay%22%5D \"Open Settings\") to automatically accept changes from the agent after a short countdown.",
252
244
  "auto-accept delay"
253
245
  )));
@@ -261,7 +253,7 @@ const TIP_CATALOG = [{
261
253
  buildMessage(ctx) {
262
254
  const kb = formatKeybinding(ctx, INSERT_TROUBLESHOOT_COMMAND_ID);
263
255
  return (new MarkdownString(localize(
264
- 6773,
256
+ 6891,
265
257
  "Something not working? Type [{0}](command:{1} \"Run /troubleshoot\"){2} <question> to diagnose issues from debug logs.",
266
258
  "/troubleshoot",
267
259
  INSERT_TROUBLESHOOT_COMMAND_ID,
@@ -270,12 +262,27 @@ const TIP_CATALOG = [{
270
262
  },
271
263
  when: ( ChatContextKeys.chatSessionType.isEqualTo(localChatSessionType)),
272
264
  excludeWhenToolsInvoked: ["listDebugEvents"]
265
+ }, {
266
+ id: "tip.agentsWindow",
267
+ tier: ChatTipTier.Qol,
268
+ buildMessage(ctx) {
269
+ const defaultMessage = ( localize(
270
+ 6892,
271
+ "Work across multiple projects at once in the [Agents window](command:{0} \"Open Agents Window\").",
272
+ OPEN_AGENTS_WINDOW_COMMAND_ID
273
+ ));
274
+ const experimentalTemplate = ctx.experimentalTipMessages.get(ChatTipExperiment.OpenAgentsWindowTip);
275
+ const message = experimentalTemplate ? experimentalTemplate.replace(/\{0\}/g, OPEN_AGENTS_WINDOW_COMMAND_ID) : defaultMessage;
276
+ return ( new MarkdownString(message));
277
+ },
278
+ when: ( ContextKeyExpr.and(( IsWebContext.negate()), OPEN_AGENTS_WINDOW_PRECONDITION)),
279
+ excludeWhenCommandsExecuted: [OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_WORKSPACE_IN_AGENTS_WINDOW_COMMAND_ID]
273
280
  }, {
274
281
  id: "tip.copilotCli",
275
282
  tier: ChatTipTier.Qol,
276
283
  buildMessage() {
277
284
  return (new MarkdownString(localize(
278
- 6774,
285
+ 6893,
279
286
  "Run agents in parallel with [Copilot CLI](command:workbench.action.chat.openNewChatSessionInPlace.copilotcli?%5B%22sidebar%22%5D \"Switch to Copilot CLI\")."
280
287
  )));
281
288
  },
@@ -286,7 +293,7 @@ const TIP_CATALOG = [{
286
293
  tier: ChatTipTier.Qol,
287
294
  buildMessage() {
288
295
  return (new MarkdownString(localize(
289
- 6775,
296
+ 6894,
290
297
  "Configure [{0}](command:workbench.action.openSettings?%5B%22{1}%22%5D \"Open Settings\") to start new sessions in Bypass Approvals or Autopilot mode.",
291
298
  "default permissions",
292
299
  ChatConfiguration.DefaultPermissionLevel
@@ -297,4 +304,4 @@ const TIP_CATALOG = [{
297
304
  dismissWhenCommandsClicked: ["workbench.action.openSettings"]
298
305
  }];
299
306
 
300
- export { ChatTipTier, TIP_CATALOG, extractCommandIds };
307
+ export { ChatTipExperiment, ChatTipTier, TIP_CATALOG, extractCommandIds };
@@ -12,6 +12,7 @@ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/
12
12
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
13
13
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
14
14
  import { TipTrackingCommands } from "./chatTipStorageKeys.js";
15
+ import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
15
16
  import { IChatTipService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatTipService.service";
16
17
  export { TipTrackingCommands };
17
18
  /** @deprecated Use TipTrackingCommands.AttachFilesReferenceUsed */
@@ -43,6 +44,7 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
43
44
  private readonly _commandService;
44
45
  private readonly _telemetryService;
45
46
  private readonly _keybindingService;
47
+ private readonly _assignmentService;
46
48
  readonly _serviceBrand: undefined;
47
49
  private readonly _onDidDismissTip;
48
50
  readonly onDidDismissTip: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
@@ -71,7 +73,8 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
71
73
  private _thinkingPhrasesEverModified;
72
74
  private _tipsHiddenForSession;
73
75
  private readonly _tipCommandListener;
74
- constructor(_productService: IProductService, _configurationService: IConfigurationService, _storageService: IStorageService, _chatService: IChatService, instantiationService: IInstantiationService, _logService: ILogService, _chatEntitlementService: IChatEntitlementService, _commandService: ICommandService, _telemetryService: ITelemetryService, _keybindingService: IKeybindingService);
76
+ private readonly _experimentalTipMessages;
77
+ constructor(_productService: IProductService, _configurationService: IConfigurationService, _storageService: IStorageService, _chatService: IChatService, instantiationService: IInstantiationService, _logService: ILogService, _chatEntitlementService: IChatEntitlementService, _commandService: ICommandService, _telemetryService: ITelemetryService, _keybindingService: IKeybindingService, _assignmentService: IWorkbenchAssignmentService);
75
78
  private _hasFileOrFolderReference;
76
79
  private _getSlashCommandTrackingId;
77
80
  private _toSlashCommandTrackingId;
@@ -104,6 +107,7 @@ export declare class ChatTipService extends Disposable implements IChatTipServic
104
107
  private _isChatLocation;
105
108
  private _isChatQuotaExceeded;
106
109
  private _isCopilotEnabled;
110
+ private _fetchExperimentalTipMessages;
107
111
  private _createTip;
108
112
  private _logTipTelemetry;
109
113
  private _trackTipCommandClicks;
@@ -5,6 +5,7 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
5
5
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
6
6
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
7
7
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
8
+ import { getSelectedModelIdentifier } from '../common/chatSelectedModel.js';
8
9
  import { ChatConfiguration, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
9
10
  import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
10
11
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
@@ -22,8 +23,9 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
22
23
  import { ChatRequestDynamicVariablePart, ChatRequestSlashCommandPart, ChatRequestAgentSubcommandPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
23
24
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
24
25
  import { TipEligibilityTracker } from './chatTipEligibilityTracker.js';
25
- import { TIP_CATALOG, ChatTipTier, extractCommandIds } from './chatTipCatalog.js';
26
+ import { TIP_CATALOG, ChatTipTier, ChatTipExperiment, extractCommandIds } from './chatTipCatalog.js';
26
27
  import { TipTrackingCommands, ChatTipStorageKeys } from './chatTipStorageKeys.js';
28
+ import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
27
29
 
28
30
  const CREATE_AGENT_INSTRUCTIONS_TRACKING_COMMAND = TipTrackingCommands.CreateAgentInstructionsUsed;
29
31
  const CREATE_PROMPT_TRACKING_COMMAND = TipTrackingCommands.CreatePromptUsed;
@@ -41,7 +43,8 @@ let ChatTipService = class ChatTipService extends Disposable {
41
43
  _chatEntitlementService,
42
44
  _commandService,
43
45
  _telemetryService,
44
- _keybindingService
46
+ _keybindingService,
47
+ _assignmentService
45
48
  ) {
46
49
  super();
47
50
  this._productService = _productService;
@@ -53,6 +56,7 @@ let ChatTipService = class ChatTipService extends Disposable {
53
56
  this._commandService = _commandService;
54
57
  this._telemetryService = _telemetryService;
55
58
  this._keybindingService = _keybindingService;
59
+ this._assignmentService = _assignmentService;
56
60
  this._onDidDismissTip = this._register(( new Emitter()));
57
61
  this.onDidDismissTip = this._onDidDismissTip.event;
58
62
  this._onDidNavigateTip = this._register(( new Emitter()));
@@ -63,8 +67,13 @@ let ChatTipService = class ChatTipService extends Disposable {
63
67
  this.onDidDisableTips = this._onDidDisableTips.event;
64
68
  this._tipsHiddenForSession = false;
65
69
  this._tipCommandListener = this._register(( new MutableDisposable()));
70
+ this._experimentalTipMessages = ( new Map());
66
71
  this._tracker = this._register(instantiationService.createInstance(TipEligibilityTracker, TIP_CATALOG));
67
72
  this._createSlashCommandsUsageTracker = this._register(( new CreateSlashCommandsUsageTracker(this._chatService, this._storageService, () => this._contextKeyService)));
73
+ this._fetchExperimentalTipMessages();
74
+ this._register(
75
+ this._assignmentService.onDidRefetchAssignments(() => this._fetchExperimentalTipMessages())
76
+ );
68
77
  this._register(this._chatEntitlementService.onDidChangeQuotaExceeded(() => {
69
78
  if (this._chatEntitlementService.quotas.chat?.percentRemaining === 0 && this._shownTip) {
70
79
  this.hideTip();
@@ -578,24 +587,7 @@ let ChatTipService = class ChatTipService extends Disposable {
578
587
  }
579
588
  return normalizedModelId;
580
589
  };
581
- const contextKeyModelId = normalize(contextKeyService.getContextKeyValue(ChatContextKeys.chatModelId.key));
582
- if (contextKeyModelId) {
583
- return contextKeyModelId;
584
- }
585
- const location = contextKeyService.getContextKeyValue(ChatContextKeys.location.key) ?? ChatAgentLocation.Chat;
586
- const sessionType = contextKeyService.getContextKeyValue(ChatContextKeys.chatSessionType.key) ?? "";
587
- const candidateStorageKeys = sessionType ? [
588
- `chat.currentLanguageModel.${location}.${sessionType}`,
589
- `chat.currentLanguageModel.${location}`
590
- ] : [`chat.currentLanguageModel.${location}`];
591
- for (const storageKey of candidateStorageKeys) {
592
- const persistedModelIdentifier = this._storageService.get(storageKey, StorageScope.APPLICATION);
593
- const persistedModelId = normalize(persistedModelIdentifier);
594
- if (persistedModelId) {
595
- return persistedModelId;
596
- }
597
- }
598
- return "";
590
+ return normalize(getSelectedModelIdentifier(contextKeyService, this._storageService));
599
591
  }
600
592
  _isChatLocation(contextKeyService) {
601
593
  const location = contextKeyService.getContextKeyValue(ChatContextKeys.location.key);
@@ -608,12 +600,20 @@ let ChatTipService = class ChatTipService extends Disposable {
608
600
  const defaultChatAgent = this._productService.defaultChatAgent;
609
601
  return !!defaultChatAgent?.chatExtensionId;
610
602
  }
603
+ _fetchExperimentalTipMessages() {
604
+ this._assignmentService.getTreatment(ChatTipExperiment.OpenAgentsWindowTip).then(value => {
605
+ if (typeof value === "string" && value.length > 0) {
606
+ this._experimentalTipMessages.set(ChatTipExperiment.OpenAgentsWindowTip, value);
607
+ }
608
+ });
609
+ }
611
610
  _createTip(tipDef) {
612
611
  const ctx = {
613
- keybindingService: this._keybindingService
612
+ keybindingService: this._keybindingService,
613
+ experimentalTipMessages: this._experimentalTipMessages
614
614
  };
615
615
  const rawMessage = tipDef.buildMessage(ctx);
616
- const prefixedMessage = ( localize(6776, "**Tip:** {0}", rawMessage.value));
616
+ const prefixedMessage = ( localize(6895, "**Tip:** {0}", rawMessage.value));
617
617
  const enabledCommands = extractCommandIds(prefixedMessage);
618
618
  const markdown = ( new MarkdownString(prefixedMessage, {
619
619
  isTrusted: enabledCommands.length > 0 ? {
@@ -636,7 +636,8 @@ let ChatTipService = class ChatTipService extends Disposable {
636
636
  _trackTipCommandClicks(tip) {
637
637
  this._tipCommandListener.clear();
638
638
  const ctx = {
639
- keybindingService: this._keybindingService
639
+ keybindingService: this._keybindingService,
640
+ experimentalTipMessages: this._experimentalTipMessages
640
641
  };
641
642
  const rawMessage = tip.buildMessage(ctx);
642
643
  const enabledCommands = extractCommandIds(rawMessage.value);
@@ -663,6 +664,6 @@ let ChatTipService = class ChatTipService extends Disposable {
663
664
  return profileValue;
664
665
  }
665
666
  };
666
- ChatTipService = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService)), ( __param(2, IStorageService)), ( __param(3, IChatService)), ( __param(4, IInstantiationService)), ( __param(5, ILogService)), ( __param(6, IChatEntitlementService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IKeybindingService))], ChatTipService));
667
+ ChatTipService = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService)), ( __param(2, IStorageService)), ( __param(3, IChatService)), ( __param(4, IInstantiationService)), ( __param(5, ILogService)), ( __param(6, IChatEntitlementService)), ( __param(7, ICommandService)), ( __param(8, ITelemetryService)), ( __param(9, IKeybindingService)), ( __param(10, IWorkbenchAssignmentService))], ChatTipService));
667
668
 
668
669
  export { CREATE_AGENT_INSTRUCTIONS_TRACKING_COMMAND, CREATE_AGENT_TRACKING_COMMAND, CREATE_PROMPT_TRACKING_COMMAND, CREATE_SKILL_TRACKING_COMMAND, ChatTipService, FORK_CONVERSATION_TRACKING_COMMAND, TipEligibilityTracker, TipTrackingCommands };
@@ -77,12 +77,12 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
77
77
  mode: FocusMode.Notify
78
78
  });
79
79
  }
80
- const notificationTitle = info.title ? ( localize(6777, "Session: {0}", info.title)) : ( localize(6778, "Untitled Session"));
80
+ const notificationTitle = info.title ? ( localize(6896, "Session: {0}", info.title)) : ( localize(6897, "Untitled Session"));
81
81
  const cts = ( new CancellationTokenSource());
82
82
  this._activeNotifications.set(sessionResource, toDisposable(() => cts.dispose(true)));
83
83
  const isQuestionCarousel = this._isQuestionCarouselPending(sessionResource);
84
84
  try {
85
- const actionLabel = isQuestionCarousel ? ( localize(6779, "Open Session")) : ( localize(6780, "Allow"));
85
+ const actionLabel = isQuestionCarousel ? ( localize(6898, "Open Session")) : ( localize(6899, "Allow"));
86
86
  const result = await this._hostService.showToast({
87
87
  title: this._sanitizeOSToastText(notificationTitle),
88
88
  body: this._getNotificationBody(sessionResource, info, isQuestionCarousel),
@@ -121,7 +121,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
121
121
  }
122
122
  _getNotificationBody(sessionResource, info, isQuestionCarousel) {
123
123
  if (isQuestionCarousel) {
124
- return localize(6781, "Questions need your input.");
124
+ return localize(6900, "Questions need your input.");
125
125
  }
126
126
  const terminalCommand = this._getPendingTerminalCommand(sessionResource);
127
127
  if (terminalCommand) {
@@ -130,7 +130,7 @@ let ChatWindowNotifier = class ChatWindowNotifier extends Disposable {
130
130
  if (info.detail) {
131
131
  return this._sanitizeOSToastText(info.detail);
132
132
  }
133
- return localize(6782, "Approval needed to continue.");
133
+ return localize(6901, "Approval needed to continue.");
134
134
  }
135
135
  _getPendingTerminalCommand(sessionResource) {
136
136
  const model = this._chatService.getSession(sessionResource);
@@ -64,8 +64,8 @@ let AgentPluginRecommendations = class AgentPluginRecommendations extends Dispos
64
64
  if (uninstalledCount === 0) {
65
65
  return;
66
66
  }
67
- this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(6783, "This workspace recommends 1 agent plugin.")) : ( localize(6784, "This workspace recommends {0} agent plugins.", uninstalledCount)), [{
68
- label: ( localize(6785, "Show Plugins")),
67
+ this._notificationService.prompt(Severity.Info, uninstalledCount === 1 ? ( localize(6902, "This workspace recommends 1 agent plugin.")) : ( localize(6903, "This workspace recommends {0} agent plugins.", uninstalledCount)), [{
68
+ label: ( localize(6904, "Show Plugins")),
69
69
  run: () => {
70
70
  this._extensionsWorkbenchService.openSearch("@agentPlugins @recommended");
71
71
  }
@@ -11,22 +11,22 @@ import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workb
11
11
  const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
12
12
  extensionPoint: "chatContext",
13
13
  jsonSchema: {
14
- description: ( localize(6786, "Contributes chat context integrations to the chat widget.")),
14
+ description: ( localize(6905, "Contributes chat context integrations to the chat widget.")),
15
15
  type: "array",
16
16
  items: {
17
17
  type: "object",
18
18
  properties: {
19
19
  id: {
20
- description: ( localize(6787, "A unique identifier for this item.")),
20
+ description: ( localize(6906, "A unique identifier for this item.")),
21
21
  type: "string"
22
22
  },
23
23
  icon: {
24
- description: ( localize(6788, "The icon associated with this chat context item.")),
24
+ description: ( localize(6907, "The icon associated with this chat context item.")),
25
25
  type: "string"
26
26
  },
27
27
  displayName: {
28
28
  description: ( localize(
29
- 6789,
29
+ 6908,
30
30
  "A user-friendly name for this item which is used for display in menus."
31
31
  )),
32
32
  type: "string"
@@ -60,7 +60,7 @@ let ChatContextContribution = class ChatContextContribution extends Disposable {
60
60
  const icon = contribution.icon ? ThemeIcon.fromString(contribution.icon) : undefined;
61
61
  if (!icon && contribution.icon) {
62
62
  ext.collector.error(( localize(
63
- 6790,
63
+ 6909,
64
64
  "Invalid icon format for chat context contribution '{0}'. Icon must be in the format '{1}' or '{2}', e.g. '{3}'.",
65
65
  contribution.id,
66
66
  "$(iconId)",