@codingame/monaco-vscode-chat-service-override 33.0.9 → 34.0.1

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
@@ -12,8 +12,8 @@ const configurationRegistry = ( Registry.as(Extensions.Configuration));
12
12
  function createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription) {
13
13
  return {
14
14
  modelIds: [""],
15
- modelLabels: [defaultEntryLabel ?? ( localize(6791, "Auto (Vendor Default)"))],
16
- modelDescriptions: [defaultEntryDescription ?? ( localize(6792, "Use the vendor's default model"))]
15
+ modelLabels: [defaultEntryLabel ?? ( localize(6910, "Auto (Vendor Default)"))],
16
+ modelDescriptions: [defaultEntryDescription ?? ( localize(6911, "Use the vendor's default model"))]
17
17
  };
18
18
  }
19
19
  let DefaultModelContribution = class DefaultModelContribution extends Disposable {
@@ -48,8 +48,8 @@ let DefaultModelContribution = class DefaultModelContribution extends Disposable
48
48
  modelLabels.length = 0;
49
49
  modelDescriptions.length = 0;
50
50
  modelIds.push("");
51
- modelLabels.push(defaultEntryLabel ?? ( localize(6791, "Auto (Vendor Default)")));
52
- modelDescriptions.push(defaultEntryDescription ?? ( localize(6792, "Use the vendor's default model")));
51
+ modelLabels.push(defaultEntryLabel ?? ( localize(6910, "Auto (Vendor Default)")));
52
+ modelDescriptions.push(defaultEntryDescription ?? ( localize(6911, "Use the vendor's default model")));
53
53
  const models = [];
54
54
  const allModelIds = this._languageModelsService.getLanguageModelIds();
55
55
  for (const modelId of allModelIds) {
@@ -119,7 +119,7 @@ let DefaultModelContribution = class DefaultModelContribution extends Disposable
119
119
  }
120
120
  modelIds.push(storedId);
121
121
  modelLabels.push(( localize(
122
- 6793,
122
+ 6912,
123
123
  "{0} ({1})",
124
124
  model.metadata.name,
125
125
  vendorDisplayName ?? model.metadata.vendor
@@ -5,16 +5,16 @@ import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/
5
5
  import { ContributionEnablementState, isContributionDisabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement';
6
6
 
7
7
  function createEnablementActions(key, enablementModel, idPrefix) {
8
- return [( new Action(`${idPrefix}.enable`, ( localize(6794, "Enable")), undefined, true, () => {
8
+ return [( new Action(`${idPrefix}.enable`, ( localize(6913, "Enable")), undefined, true, () => {
9
9
  enablementModel.setEnabled(key, ContributionEnablementState.EnabledProfile);
10
10
  return Promise.resolve();
11
- })), ( new Action(`${idPrefix}.enableForWorkspace`, ( localize(6795, "Enable (Workspace)")), undefined, true, () => {
11
+ })), ( new Action(`${idPrefix}.enableForWorkspace`, ( localize(6914, "Enable (Workspace)")), undefined, true, () => {
12
12
  enablementModel.setEnabled(key, ContributionEnablementState.EnabledWorkspace);
13
13
  return Promise.resolve();
14
- })), ( new Action(`${idPrefix}.disable`, ( localize(6796, "Disable")), undefined, true, () => {
14
+ })), ( new Action(`${idPrefix}.disable`, ( localize(6915, "Disable")), undefined, true, () => {
15
15
  enablementModel.setEnabled(key, ContributionEnablementState.DisabledProfile);
16
16
  return Promise.resolve();
17
- })), ( new Action(`${idPrefix}.disableForWorkspace`, ( localize(6797, "Disable (Workspace)")), undefined, true, () => {
17
+ })), ( new Action(`${idPrefix}.disableForWorkspace`, ( localize(6916, "Disable (Workspace)")), undefined, true, () => {
18
18
  enablementModel.setEnabled(key, ContributionEnablementState.DisabledWorkspace);
19
19
  return Promise.resolve();
20
20
  }))];
@@ -46,8 +46,8 @@ let EnablementStatusWidget = class EnablementStatusWidget extends Disposable {
46
46
  };
47
47
  EnablementStatusWidget = ( __decorate([( __param(3, IMarkdownRendererService))], EnablementStatusWidget));
48
48
  const pluginEnablementLabels = {
49
- disabledProfile: ( localize(6798, "This plugin is disabled.")),
50
- disabledWorkspace: ( localize(6799, "This plugin is disabled for this workspace."))
49
+ disabledProfile: ( localize(6917, "This plugin is disabled.")),
50
+ disabledWorkspace: ( localize(6918, "This plugin is disabled for this workspace."))
51
51
  };
52
52
 
53
53
  export { EnablementStatusWidget, pluginEnablementLabels };
@@ -4,7 +4,7 @@ import { decodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common
4
4
  import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
5
  import { joinPath, dirname, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
6
6
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
7
- import { isSuccess, isClientError, asJson } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
7
+ import { retryAfterFromHeaders, isSuccess, isClientError, asJson, readHeader } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
8
8
 
9
9
  const GITHUB_HOSTS = ( new Set(["github.com", "www.github.com"]));
10
10
  function parseGitHubCloneUrl(cloneUrl) {
@@ -115,24 +115,6 @@ function isRateLimited(headers) {
115
115
  }
116
116
  return readHeader(headers, "retry-after") !== undefined;
117
117
  }
118
- function retryAfterFromHeaders(headers) {
119
- if (!headers) {
120
- return undefined;
121
- }
122
- const value = readHeader(headers, "retry-after");
123
- if (!value) {
124
- return undefined;
125
- }
126
- const parsed = parseInt(value, 10);
127
- return Number.isFinite(parsed) ? parsed : undefined;
128
- }
129
- function readHeader(headers, name) {
130
- const value = headers[name] ?? headers[name.toLowerCase()];
131
- if (Array.isArray(value)) {
132
- return value[0];
133
- }
134
- return value;
135
- }
136
118
  async function fetchAndExtractGitHubRepo(
137
119
  requestService,
138
120
  fileService,
@@ -8,30 +8,19 @@ import { ILanguageModelsConfigurationService } from "@codingame/monaco-vscode-ap
8
8
  /**
9
9
  * Owns the `github.copilot.hasByokModels` context key. The key is true iff:
10
10
  * - `github.copilot.clientByokEnabled` is true (set by `ChatEntitlementService` + Copilot extension),
11
- * - `chat.offlineByok` is enabled and `chat.aiDisabled` is off, and
12
- * - the `LanguageModelsService` has at least one resolved, user-selectable non-Copilot model
13
- * (signalled by the `chatNonCopilotModelsAreUserSelectable` context key).
11
+ * - `chat.aiDisabled` is off, and
12
+ * - the language-models configuration has at least one non-Copilot vendor group (at any time),
13
+ * or pre extension scan — the `chatNonCopilotModelsAreUserSelectable` signal is on.
14
14
  *
15
- * Verifying the last condition is expensive: it requires activating each BYOK-contributing
16
- * extension and round-tripping into its provider. To avoid paying that cost just to gate UI,
17
- * this contribution never triggers such activations itself. The strategy is:
15
+ * Strategy (avoids activating BYOK extensions just to gate UI):
16
+ * 1. Restore the last persisted answer for correct warm-reload UI.
17
+ * 2. Configured non-Copilot vendor groups are a positive signal at any time.
18
+ * 3. Pre-registration only, also trust the `chatNonCopilotModelsAreUserSelectable` signal
19
+ * (post-registration it can be stale — model cache lags behind group removal).
20
+ * 4. Only persist `false` after both extension scan and first config load complete, so startup
21
+ * latency doesn't clobber a previously-true answer.
18
22
  *
19
- * 1. On startup, optimistically restore the last persisted answer from
20
- * `chat.hasByokModels.lastKnown` so UI surfaces gated by this key are correct on warm
21
- * reload before anything else runs.
22
- * 2. Whenever the `chatNonCopilotModelsAreUserSelectable` signal flips on — which happens
23
- * naturally when something else resolves a BYOK vendor (notably `ChatInputPart`, which
24
- * activates the previously selected model's vendor when restoring its persisted selection) —
25
- * record `true` and persist it.
26
- * 3. Once extensions are fully scanned, if there are no configured non-Copilot vendors in the
27
- * language-models configuration, override a stale optimistic `true` with `false`. Same on
28
- * runtime removal of all groups, and when the feature flag flips off.
29
- *
30
- * The trade-off is the first-time experience: a brand-new user must pick a BYOK model once
31
- * before this contribution observes the signal and persists the answer. From then on, the
32
- * answer survives reloads without any activation cost — users without BYOK pay nothing.
33
- *
34
- * Eager so the key is bound at workbench startup before any sign-in UI surfaces render.
23
+ * Eager so the key is bound before any sign-in UI renders.
35
24
  */
36
25
  export declare class HasByokModelsContribution extends Disposable implements IWorkbenchContribution {
37
26
  private readonly _languageModelsConfigurationService;
@@ -43,6 +32,7 @@ export declare class HasByokModelsContribution extends Disposable implements IWo
43
32
  private static readonly TRACKED_KEYS;
44
33
  private readonly _hasByokModels;
45
34
  private _extensionsRegistered;
35
+ private _configurationLoaded;
46
36
  constructor(_languageModelsConfigurationService: ILanguageModelsConfigurationService, _contextKeyService: IContextKeyService, _configurationService: IConfigurationService, _storageService: IStorageService, extensionService: IExtensionService);
47
37
  private _isFeatureEnabled;
48
38
  private _restore;
@@ -43,6 +43,7 @@ let HasByokModelsContribution = class HasByokModelsContribution extends Disposab
43
43
  this._configurationService = _configurationService;
44
44
  this._storageService = _storageService;
45
45
  this._extensionsRegistered = false;
46
+ this._configurationLoaded = false;
46
47
  this._hasByokModels = ChatEntitlementContextKeys.hasByokModels.bindTo(this._contextKeyService);
47
48
  this._restore();
48
49
  this._update();
@@ -52,16 +53,22 @@ let HasByokModelsContribution = class HasByokModelsContribution extends Disposab
52
53
  this._update();
53
54
  }
54
55
  });
56
+ this._languageModelsConfigurationService.whenReady.then(() => {
57
+ if (!this._store.isDisposed) {
58
+ this._configurationLoaded = true;
59
+ this._update();
60
+ }
61
+ });
55
62
  this._register(Event.any(Event.filter(
56
63
  this._configurationService.onDidChangeConfiguration,
57
- e => e.affectsConfiguration(ChatConfiguration.OfflineByok) || e.affectsConfiguration(ChatConfiguration.AIDisabled)
64
+ e => e.affectsConfiguration(ChatConfiguration.AIDisabled)
58
65
  ), Event.filter(
59
66
  this._contextKeyService.onDidChangeContext,
60
67
  e => e.affectsSome(HasByokModelsContribution_1.TRACKED_KEYS)
61
68
  ), this._languageModelsConfigurationService.onDidChangeLanguageModelGroups)(() => this._update()));
62
69
  }
63
70
  _isFeatureEnabled() {
64
- return !this._configurationService.getValue(ChatConfiguration.AIDisabled) && !!this._configurationService.getValue(ChatConfiguration.OfflineByok) && !!this._contextKeyService.getContextKeyValue(ChatEntitlementContextKeys.clientByokEnabled.key);
71
+ return !this._configurationService.getValue(ChatConfiguration.AIDisabled) && !!this._contextKeyService.getContextKeyValue(ChatEntitlementContextKeys.clientByokEnabled.key);
65
72
  }
66
73
  _restore() {
67
74
  if (!this._isFeatureEnabled()) {
@@ -88,15 +95,16 @@ let HasByokModelsContribution = class HasByokModelsContribution extends Disposab
88
95
  this._setResult(false);
89
96
  return;
90
97
  }
91
- if (this._contextKeyService.getContextKeyValue(ChatContextKeys.nonCopilotLanguageModelsAreUserSelectable.key)) {
98
+ const hasByokVendor = ( this._languageModelsConfigurationService.getLanguageModelsProviderGroups().some(g => g.vendor !== COPILOT_VENDOR_ID));
99
+ if (hasByokVendor) {
92
100
  this._setResult(true);
93
101
  return;
94
102
  }
95
- if (!this._extensionsRegistered) {
103
+ if (!this._extensionsRegistered && this._contextKeyService.getContextKeyValue(ChatContextKeys.nonCopilotLanguageModelsAreUserSelectable.key)) {
104
+ this._setResult(true);
96
105
  return;
97
106
  }
98
- const hasByokVendor = ( this._languageModelsConfigurationService.getLanguageModelsProviderGroups().some(g => g.vendor !== COPILOT_VENDOR_ID));
99
- if (!hasByokVendor) {
107
+ if (this._extensionsRegistered && this._configurationLoaded) {
100
108
  this._setResult(false);
101
109
  }
102
110
  }
@@ -4,8 +4,8 @@ import { Mutable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/type
4
4
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
5
  import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
6
6
  import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
7
+ import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
7
8
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
8
- import { ITextEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textEditorService.service";
9
9
  import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
10
10
  import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
11
11
  import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
@@ -20,14 +20,17 @@ export declare class LanguageModelsConfigurationService extends Disposable imple
20
20
  private readonly textFileService;
21
21
  private readonly textModelService;
22
22
  private readonly editorService;
23
- private readonly textEditorService;
23
+ private readonly editorGroupsService;
24
24
  _serviceBrand: undefined;
25
25
  private readonly modelsConfigurationFile;
26
26
  get configurationFile(): URI;
27
27
  private readonly _onDidChangeLanguageModelGroups;
28
28
  readonly onDidChangeLanguageModelGroups: Event<readonly ILanguageModelsProviderGroup[]>;
29
29
  private languageModelsProviderGroups;
30
- constructor(fileService: IFileService, textFileService: ITextFileService, textModelService: ITextModelService, editorService: IEditorService, textEditorService: ITextEditorService, userDataProfileService: IUserDataProfileService, uriIdentityService: IUriIdentityService);
30
+ /** Resolved once the first config-file load attempt completes; assigned exactly once in the ctor. Rejections are swallowed so consumers can treat readiness as "first load attempted". */
31
+ private readonly _whenReady;
32
+ get whenReady(): Promise<void>;
33
+ constructor(fileService: IFileService, textFileService: ITextFileService, textModelService: ITextModelService, editorService: IEditorService, editorGroupsService: IEditorGroupsService, userDataProfileService: IUserDataProfileService, uriIdentityService: IUriIdentityService);
31
34
  private setLanguageModelsConfiguration;
32
35
  private updateLanguageModelsConfiguration;
33
36
  getLanguageModelsProviderGroups(): readonly ILanguageModelsProviderGroup[];
@@ -6,8 +6,9 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
6
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
8
8
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
9
+ import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
10
+ import { MODAL_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
9
11
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
10
- import { ITextEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textEditorService.service';
11
12
  import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
12
13
  import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
13
14
  import { visit } from '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
@@ -19,17 +20,21 @@ import { ILanguageModelsConfigurationService } from '@codingame/monaco-vscode-ap
19
20
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
20
21
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
21
22
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
23
+ import { DEFAULT_EDITOR_ASSOCIATION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
22
24
 
23
25
  let LanguageModelsConfigurationService = class LanguageModelsConfigurationService extends Disposable {
24
26
  get configurationFile() {
25
27
  return this.modelsConfigurationFile;
26
28
  }
29
+ get whenReady() {
30
+ return this._whenReady;
31
+ }
27
32
  constructor(
28
33
  fileService,
29
34
  textFileService,
30
35
  textModelService,
31
36
  editorService,
32
- textEditorService,
37
+ editorGroupsService,
33
38
  userDataProfileService,
34
39
  uriIdentityService
35
40
  ) {
@@ -38,12 +43,12 @@ let LanguageModelsConfigurationService = class LanguageModelsConfigurationServic
38
43
  this.textFileService = textFileService;
39
44
  this.textModelService = textModelService;
40
45
  this.editorService = editorService;
41
- this.textEditorService = textEditorService;
46
+ this.editorGroupsService = editorGroupsService;
42
47
  this._onDidChangeLanguageModelGroups = this._register(( new Emitter()));
43
48
  this.onDidChangeLanguageModelGroups = this._onDidChangeLanguageModelGroups.event;
44
49
  this.languageModelsProviderGroups = [];
45
- this.modelsConfigurationFile = uriIdentityService.extUri.joinPath(userDataProfileService.currentProfile.location, "chatLanguageModels.json");
46
- this.updateLanguageModelsConfiguration();
50
+ this.modelsConfigurationFile = userDataProfileService.currentProfile.languageModelsResource;
51
+ this._whenReady = this.updateLanguageModelsConfiguration().catch(() => {});
47
52
  this._register(
48
53
  fileService.watch(uriIdentityService.extUri.dirname(this.modelsConfigurationFile))
49
54
  );
@@ -139,9 +144,13 @@ let LanguageModelsConfigurationService = class LanguageModelsConfigurationServic
139
144
  await this.updateLanguageModelsConfiguration();
140
145
  }
141
146
  async configureLanguageModels(options) {
142
- const editor = await this.editorService.openEditor(this.textEditorService.createTextEditor({
143
- resource: this.modelsConfigurationFile
144
- }));
147
+ const preferredGroup = this.editorGroupsService.getPart(this.editorGroupsService.activeGroup) === this.editorGroupsService.activeModalEditorPart ? MODAL_GROUP : undefined;
148
+ const editor = await this.editorService.openEditor({
149
+ resource: this.modelsConfigurationFile,
150
+ options: {
151
+ override: DEFAULT_EDITOR_ASSOCIATION.id
152
+ }
153
+ }, preferredGroup);
145
154
  if (!editor || !options?.group) {
146
155
  return;
147
156
  }
@@ -149,25 +158,35 @@ let LanguageModelsConfigurationService = class LanguageModelsConfigurationServic
149
158
  if (!codeEditor) {
150
159
  return;
151
160
  }
152
- if (!options.group.range) {
153
- return;
154
- }
155
161
  if (options.snippet) {
156
162
  const model = codeEditor.getModel();
157
163
  if (!model) {
158
164
  return;
159
165
  }
160
- const lastPropertyLine = options.group.range.endLineNumber - 1;
161
- const lastPropertyLineLength = model.getLineLength(lastPropertyLine);
162
- const insertPosition = {
166
+ const targetRange = options.snippetTarget === "models" ? options.group.modelsRange : options.group.range;
167
+ if (!targetRange) {
168
+ return;
169
+ }
170
+ const models = options.group.models;
171
+ const isModelsArray = options.snippetTarget === "models" && Array.isArray(models);
172
+ const emptyModelsArray = isModelsArray && models.length === 0;
173
+ const insertBeforeModelsArrayEnd = emptyModelsArray || (isModelsArray && targetRange.startLineNumber === targetRange.endLineNumber);
174
+ const lastPropertyLine = targetRange.endLineNumber - 1;
175
+ const insertPosition = insertBeforeModelsArrayEnd ? {
176
+ lineNumber: targetRange.endLineNumber,
177
+ column: targetRange.endColumn - 1
178
+ } : {
163
179
  lineNumber: lastPropertyLine,
164
- column: lastPropertyLineLength + 1
180
+ column: model.getLineLength(lastPropertyLine) + 1
165
181
  };
166
182
  codeEditor.setPosition(insertPosition);
167
183
  codeEditor.revealPositionNearTop(insertPosition);
168
184
  codeEditor.focus();
169
- SnippetController2.get(codeEditor)?.insert(",\n" + options.snippet);
185
+ SnippetController2.get(codeEditor)?.insert(emptyModelsArray ? options.snippet : ",\n" + options.snippet);
170
186
  } else {
187
+ if (!options.group.range) {
188
+ return;
189
+ }
171
190
  const position = {
172
191
  lineNumber: options.group.range.startLineNumber,
173
192
  column: options.group.range.startColumn
@@ -195,6 +214,7 @@ let LanguageModelsConfigurationService = class LanguageModelsConfigurationServic
195
214
  const updatedLanguageModelsProviderGroups = await update(languageModelsProviderGroups);
196
215
  for (const group of updatedLanguageModelsProviderGroups) {
197
216
  delete group.range;
217
+ delete group.modelsRange;
198
218
  }
199
219
  model.setValue(JSON.stringify(updatedLanguageModelsProviderGroups, undefined, "\t"));
200
220
  await this.textFileService.save(this.modelsConfigurationFile);
@@ -204,7 +224,7 @@ let LanguageModelsConfigurationService = class LanguageModelsConfigurationServic
204
224
  }
205
225
  }
206
226
  };
207
- LanguageModelsConfigurationService = ( __decorate([( __param(0, IFileService)), ( __param(1, ITextFileService)), ( __param(2, ITextModelService)), ( __param(3, IEditorService)), ( __param(4, ITextEditorService)), ( __param(5, IUserDataProfileService)), ( __param(6, IUriIdentityService))], LanguageModelsConfigurationService));
227
+ LanguageModelsConfigurationService = ( __decorate([( __param(0, IFileService)), ( __param(1, ITextFileService)), ( __param(2, ITextModelService)), ( __param(3, IEditorService)), ( __param(4, IEditorGroupsService)), ( __param(5, IUserDataProfileService)), ( __param(6, IUriIdentityService))], LanguageModelsConfigurationService));
208
228
  function parseLanguageModelsProviderGroups(model) {
209
229
  const configuration = [];
210
230
  let currentProperty = null;
@@ -264,6 +284,18 @@ function parseLanguageModelsProviderGroups(model) {
264
284
  return;
265
285
  }
266
286
  const array = [];
287
+ const parent = currentParent;
288
+ if (currentProperty === "models" && parent.range) {
289
+ const start = model.getPositionAt(offset);
290
+ const end = model.getPositionAt(offset + length);
291
+ parent.modelsRange = {
292
+ startLineNumber: start.lineNumber,
293
+ startColumn: start.column,
294
+ endLineNumber: end.lineNumber,
295
+ endColumn: end.column
296
+ };
297
+ array._parentModelsRange = parent.modelsRange;
298
+ }
267
299
  onValue(array);
268
300
  previousParents.push(currentParent);
269
301
  currentParent = array;
@@ -277,6 +309,12 @@ function parseLanguageModelsProviderGroups(model) {
277
309
  parent._parentConfigurationRange.endColumn = end.column;
278
310
  delete parent._parentConfigurationRange;
279
311
  }
312
+ if (parent._parentModelsRange) {
313
+ const end = model.getPositionAt(offset + length);
314
+ parent._parentModelsRange.endLineNumber = end.lineNumber;
315
+ parent._parentModelsRange.endColumn = end.column;
316
+ delete parent._parentModelsRange;
317
+ }
280
318
  currentParent = previousParents.pop();
281
319
  },
282
320
  onLiteralValue: (value, offset, length) => {
@@ -342,7 +380,7 @@ let ChatLanguageModelsDataContribution = class ChatLanguageModelsDataContributio
342
380
  },
343
381
  settings: {
344
382
  type: "object",
345
- description: ( localize(6800, "Per-model settings"))
383
+ description: ( localize(6919, "Per-model settings"))
346
384
  }
347
385
  },
348
386
  allOf: [...( vendors.map(vendor => ({
@@ -34,7 +34,7 @@ class NavigatePlanReviewFeedbackAction extends Action2 {
34
34
  constructor(_next) {
35
35
  super({
36
36
  id: _next ? navigateNextPlanReviewFeedbackActionId : navigatePreviousPlanReviewFeedbackActionId,
37
- title: _next ? ( localize2(6801, "Go to Next Feedback Comment")) : ( localize2(6802, "Go to Previous Feedback Comment")),
37
+ title: _next ? ( localize2(6920, "Go to Next Feedback Comment")) : ( localize2(6921, "Go to Previous Feedback Comment")),
38
38
  icon: _next ? Codicon.arrowDown : Codicon.arrowUp,
39
39
  category: CHAT_CATEGORY,
40
40
  f1: true,
@@ -73,8 +73,8 @@ class ClearAllPlanReviewFeedbackAction extends Action2 {
73
73
  constructor() {
74
74
  super({
75
75
  id: clearAllPlanReviewFeedbackActionId,
76
- title: ( localize2(6803, "Clear")),
77
- tooltip: ( localize2(6804, "Clear All Feedback")),
76
+ title: ( localize2(6922, "Clear")),
77
+ tooltip: ( localize2(6923, "Clear All Feedback")),
78
78
  icon: Codicon.clearAll,
79
79
  category: CHAT_CATEGORY,
80
80
  f1: true,
@@ -111,7 +111,7 @@ function registerPlanReviewFeedbackEditorActions() {
111
111
  MenuRegistry.appendMenuItem(PlanReviewFeedbackMenuId, {
112
112
  command: {
113
113
  id: navigationBearingFakeActionId,
114
- title: ( localize(6805, "Navigation Status")),
114
+ title: ( localize(6924, "Navigation Status")),
115
115
  precondition: ( ContextKeyExpr.false())
116
116
  },
117
117
  group: "navigate",
@@ -52,7 +52,7 @@ class PlanReviewFeedbackInputWidget {
52
52
  this._domNode.style.display = "none";
53
53
  this._inputElement = createElement("textarea");
54
54
  this._inputElement.rows = 1;
55
- this._inputElement.placeholder = ( localize(6806, "Add Feedback"));
55
+ this._inputElement.placeholder = ( localize(6925, "Add Feedback"));
56
56
  this._domNode.appendChild(this._inputElement);
57
57
  this._measureElement = createElement("span");
58
58
  this._measureElement.classList.add("plan-review-feedback-input-measure");
@@ -60,7 +60,7 @@ class PlanReviewFeedbackInputWidget {
60
60
  const actionsContainer = createElement("div");
61
61
  actionsContainer.classList.add("plan-review-feedback-input-actions");
62
62
  this._domNode.appendChild(actionsContainer);
63
- this._addAction = ( new Action("planReviewFeedback.add", ( localize(6807, "Add Feedback (Enter)")), ThemeIcon.asClassName(Codicon.plus), false, () => {
63
+ this._addAction = ( new Action("planReviewFeedback.add", ( localize(6926, "Add Feedback (Enter)")), ThemeIcon.asClassName(Codicon.plus), false, () => {
64
64
  this._onDidTriggerAdd.fire();
65
65
  return Promise.resolve();
66
66
  }));
@@ -68,7 +68,7 @@ class PlanReviewFeedbackInputWidget {
68
68
  this._actionBar.push(this._addAction, {
69
69
  icon: true,
70
70
  label: false,
71
- keybinding: ( localize(6808, "Enter"))
71
+ keybinding: ( localize(6927, "Enter"))
72
72
  });
73
73
  this._inputElement.style.lineHeight = `${this._lineHeight}px`;
74
74
  }
@@ -197,9 +197,9 @@ class PlanReviewFeedbackOverlayWidget {
197
197
  } = that._navigationBearings.read(r);
198
198
  if (totalCount > 0) {
199
199
  const current = activeIdx === -1 ? 1 : activeIdx + 1;
200
- this.label.innerText = ( localize(6809, "{0}/{1}", current, totalCount));
200
+ this.label.innerText = ( localize(6928, "{0}/{1}", current, totalCount));
201
201
  } else {
202
- this.label.innerText = ( localize(6810, "0/0"));
202
+ this.label.innerText = ( localize(6929, "0/0"));
203
203
  }
204
204
  }));
205
205
  }
@@ -1,7 +1,7 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
3
2
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
4
3
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
4
+ import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service";
5
5
  import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service";
6
6
  import { IPluginMarketplaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service";
7
7
  /**
@@ -29,10 +29,10 @@ import { IPluginMarketplaceService } from "@codingame/monaco-vscode-api/vscode/v
29
29
  export declare class PluginAutoUpdate extends Disposable implements IWorkbenchContribution {
30
30
  private readonly _pluginMarketplaceService;
31
31
  private readonly _pluginInstallService;
32
- private readonly _configurationService;
32
+ private readonly _extensionsWorkbenchService;
33
33
  private readonly _logService;
34
34
  static readonly ID = "workbench.contrib.pluginAutoUpdate";
35
35
  private _updateInFlight;
36
- constructor(_pluginMarketplaceService: IPluginMarketplaceService, _pluginInstallService: IPluginInstallService, _configurationService: IConfigurationService, _logService: ILogService);
36
+ constructor(_pluginMarketplaceService: IPluginMarketplaceService, _pluginInstallService: IPluginInstallService, _extensionsWorkbenchService: IExtensionsWorkbenchService, _logService: ILogService);
37
37
  private _triggerAutoUpdate;
38
38
  }
@@ -3,9 +3,8 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
4
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
6
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
7
6
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
8
- import { AutoUpdateConfigurationKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions';
7
+ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
9
8
  import { IPluginInstallService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service';
10
9
  import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service';
11
10
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -17,13 +16,13 @@ let PluginAutoUpdate = class PluginAutoUpdate extends Disposable {
17
16
  constructor(
18
17
  _pluginMarketplaceService,
19
18
  _pluginInstallService,
20
- _configurationService,
19
+ _extensionsWorkbenchService,
21
20
  _logService
22
21
  ) {
23
22
  super();
24
23
  this._pluginMarketplaceService = _pluginMarketplaceService;
25
24
  this._pluginInstallService = _pluginInstallService;
26
- this._configurationService = _configurationService;
25
+ this._extensionsWorkbenchService = _extensionsWorkbenchService;
27
26
  this._logService = _logService;
28
27
  this._updateInFlight = false;
29
28
  this._register(autorun(reader => {
@@ -37,7 +36,7 @@ let PluginAutoUpdate = class PluginAutoUpdate extends Disposable {
37
36
  if (this._updateInFlight) {
38
37
  return;
39
38
  }
40
- const autoUpdate = this._configurationService.getValue(AutoUpdateConfigurationKey);
39
+ const autoUpdate = this._extensionsWorkbenchService.getAutoUpdateValue();
41
40
  if (autoUpdate !== true) {
42
41
  return;
43
42
  }
@@ -54,6 +53,6 @@ let PluginAutoUpdate = class PluginAutoUpdate extends Disposable {
54
53
  }
55
54
  }
56
55
  };
57
- PluginAutoUpdate = ( __decorate([( __param(0, IPluginMarketplaceService)), ( __param(1, IPluginInstallService)), ( __param(2, IConfigurationService)), ( __param(3, ILogService))], PluginAutoUpdate));
56
+ PluginAutoUpdate = ( __decorate([( __param(0, IPluginMarketplaceService)), ( __param(1, IPluginInstallService)), ( __param(2, IExtensionsWorkbenchService)), ( __param(3, ILogService))], PluginAutoUpdate));
58
57
 
59
58
  export { PluginAutoUpdate };
@@ -75,7 +75,7 @@ let BrowserPluginGitCommandService = class BrowserPluginGitCommandService {
75
75
  }
76
76
  if (lastErr instanceof GitHubAuthRequiredError) {
77
77
  throw ( new Error(( localize(
78
- 6811,
78
+ 6930,
79
79
  "GitHub authentication is required to install '{0}'. Sign in with an account that has access to this repository, then try again.",
80
80
  `${repo.owner}/${repo.repo}`
81
81
  ))));
@@ -181,7 +181,7 @@ let BrowserPluginGitCommandService = class BrowserPluginGitCommandService {
181
181
  const parsed = parseGitHubCloneUrl(cloneUrl);
182
182
  if (!parsed) {
183
183
  throw ( new Error(( localize(
184
- 6812,
184
+ 6931,
185
185
  "Agent plugins in the browser can only be installed from GitHub HTTPS URLs. To install '{0}', use the desktop application or connect to a remote agent host.",
186
186
  cloneUrl
187
187
  ))));
@@ -232,7 +232,7 @@ let BrowserPluginGitCommandService = class BrowserPluginGitCommandService {
232
232
  } catch (err) {
233
233
  this._logService.trace("[BrowserPluginGitCommandService] GitHub session request failed:", err);
234
234
  throw ( new Error(( localize(
235
- 6813,
235
+ 6932,
236
236
  "Sign in to GitHub with an account that has access to '{0}' to install this plugin.",
237
237
  `${repo.owner}/${repo.repo}`
238
238
  ))));