@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
@@ -41,7 +41,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
41
41
  this.contextKeyService = contextKeyService;
42
42
  this._altKeyPressed = false;
43
43
  const isSteerDefault = this._isSteerDefault();
44
- this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(7592, "Steer with Message")) : ( localize(7593, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
44
+ this._primaryActionAction = this._register(( new Action("chat.queuePickerPrimary", isSteerDefault ? ( localize(7737, "Steer with Message")) : ( localize(7738, "Add to Queue")), ThemeIcon.asClassName(isSteerDefault ? Codicon.arrowUp : Codicon.add), !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key), () => this._runDefaultAction())));
45
45
  this._primaryAction = this._register(( new ActionViewItem(undefined, this._primaryActionAction, {
46
46
  icon: true,
47
47
  label: false
@@ -49,7 +49,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
49
49
  this._register(this.contextKeyService.onDidChangeContext(e => {
50
50
  this._primaryActionAction.enabled = !!this.contextKeyService.getContextKeyValue(ChatContextKeys.inputHasText.key);
51
51
  }));
52
- const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(7594, "More Actions...")))));
52
+ const dropdownAction = this._register(( new Action("chat.queuePickerDropdown", ( localize(7739, "More Actions...")))));
53
53
  this._dropdown = this._register(( new ChevronActionWidgetDropdown(dropdownAction, {
54
54
  actionProvider: {
55
55
  getActions: () => this._getDropdownActions()
@@ -77,7 +77,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
77
77
  }
78
78
  _updatePrimaryAction() {
79
79
  const isSteer = this._isEffectiveSteer();
80
- this._primaryActionAction.label = isSteer ? ( localize(7592, "Steer with Message")) : ( localize(7593, "Add to Queue"));
80
+ this._primaryActionAction.label = isSteer ? ( localize(7737, "Steer with Message")) : ( localize(7738, "Add to Queue"));
81
81
  this._primaryActionAction.class = ThemeIcon.asClassName(isSteer ? Codicon.arrowUp : Codicon.add);
82
82
  }
83
83
  _runDefaultAction() {
@@ -134,7 +134,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
134
134
  const steerKeybinding = this.keybindingService.lookupKeybinding(ChatSteerWithMessageAction.ID, lookupContext, true);
135
135
  const queueAction = {
136
136
  id: ChatQueueMessageAction.ID,
137
- label: ( localize(7593, "Add to Queue")),
137
+ label: ( localize(7738, "Add to Queue")),
138
138
  tooltip: "",
139
139
  enabled: true,
140
140
  checked: !isSteerDefault,
@@ -143,7 +143,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
143
143
  keybinding: queueKeybinding,
144
144
  hover: {
145
145
  content: ( localize(
146
- 7595,
146
+ 7740,
147
147
  "Queue this message to send after the current request completes. The current response will finish uninterrupted before the queued message is sent."
148
148
  ))
149
149
  },
@@ -153,7 +153,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
153
153
  };
154
154
  const steerAction = {
155
155
  id: ChatSteerWithMessageAction.ID,
156
- label: ( localize(7592, "Steer with Message")),
156
+ label: ( localize(7737, "Steer with Message")),
157
157
  tooltip: "",
158
158
  enabled: true,
159
159
  checked: isSteerDefault,
@@ -162,7 +162,7 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
162
162
  keybinding: steerKeybinding,
163
163
  hover: {
164
164
  content: ( localize(
165
- 7596,
165
+ 7741,
166
166
  "Send this message at the next opportunity, signaling the current request to yield. The current response will stop and the new message will be sent immediately."
167
167
  ))
168
168
  },
@@ -172,13 +172,13 @@ let ChatQueuePickerActionItem = class ChatQueuePickerActionItem extends BaseActi
172
172
  };
173
173
  const sendAction = {
174
174
  id: "_" + ChatSubmitAction.ID,
175
- label: ( localize(7597, "Stop and Send")),
175
+ label: ( localize(7742, "Stop and Send")),
176
176
  tooltip: "",
177
177
  enabled: true,
178
178
  icon: Codicon.arrowRight,
179
179
  class: undefined,
180
180
  hover: {
181
- content: ( localize(7598, "Cancel the current request and send this message immediately."))
181
+ content: ( localize(7743, "Cancel the current request and send this message immediately."))
182
182
  },
183
183
  run: () => {
184
184
  this.commandService.executeCommand(ChatSubmitAction.ID);
@@ -217,6 +217,9 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
217
217
  if (!widget || !widget.viewModel) {
218
218
  return null;
219
219
  }
220
+ if (isAgentHostBackedWidget(widget)) {
221
+ return;
222
+ }
220
223
  const range = computeCompletionRanges(model, position, SlashCommandWord);
221
224
  if (!range) {
222
225
  return null;
@@ -230,7 +233,7 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
230
233
  return;
231
234
  }
232
235
  const currentSessionType = getChatSessionType(widget.viewModel.model.sessionResource);
233
- const promptCommands = await this.harnessService.getSlashCommands(currentSessionType, token);
236
+ const promptCommands = await this.harnessService.getSlashCommands(widget.viewModel.model.sessionResource, token);
234
237
  if (promptCommands.length === 0) {
235
238
  return null;
236
239
  }
@@ -243,16 +246,19 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
243
246
  }
244
247
  return {
245
248
  suggestions: ( userInvocableCommands.map((c, i) => {
246
- const label = `/${c.name}`;
249
+ const colonLabel = `/${c.name}`;
250
+ const hasSubcommand = c.name.includes(":");
251
+ const displayLabel = hasSubcommand ? `/${c.name.replace(/:/g, " ")}` : colonLabel;
247
252
  const description = c.description;
248
253
  return {
249
254
  label: {
250
- label,
255
+ label: displayLabel,
251
256
  description
252
257
  },
253
- insertText: `${label} `,
258
+ insertText: `${displayLabel} `,
254
259
  documentation: c.description,
255
260
  range,
261
+ filterText: hasSubcommand ? `${colonLabel} ${displayLabel}` : undefined,
256
262
  sortText: "a".repeat(i + 1),
257
263
  kind: CompletionItemKind.Text
258
264
  };
@@ -271,6 +277,9 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
271
277
  if (!widget || !widget.viewModel) {
272
278
  return null;
273
279
  }
280
+ if (isAgentHostBackedWidget(widget)) {
281
+ return;
282
+ }
274
283
  const range = computeCompletionRanges(model, position, /\/[\p{L}0-9_.-]*/gu);
275
284
  if (!range) {
276
285
  return null;
@@ -561,7 +570,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
561
570
  if (!isEmptyUpToCompletionWord(model, range)) {
562
571
  return;
563
572
  }
564
- const label = ( localize(7604, "Install Chat Extensions..."));
573
+ const label = ( localize(7749, "Install Chat Extensions..."));
565
574
  const item = {
566
575
  label,
567
576
  insertText: "",
@@ -709,7 +718,7 @@ class StartParameterizedPromptAction extends Action2 {
709
718
  messages = await prompt.resolve(args, cts.token);
710
719
  } catch (e) {
711
720
  if (!cts.token.isCancellationRequested) {
712
- notificationService.error(( localize(7605, "Error resolving prompt: {0}", String(e))));
721
+ notificationService.error(( localize(7750, "Error resolving prompt: {0}", String(e))));
713
722
  }
714
723
  replaceTextWith("");
715
724
  return;
@@ -737,15 +746,15 @@ class StartParameterizedPromptAction extends Action2 {
737
746
  id: generateUuid(),
738
747
  kind: "generic",
739
748
  value: contents,
740
- name: ( localize(7606, "Prompt Resource"))
749
+ name: ( localize(7751, "Prompt Resource"))
741
750
  });
742
751
  }
743
752
  } else if (mimeType && getAttachableImageExtension(mimeType)) {
744
753
  const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
745
754
  chatWidget.attachmentModel.addContext({
746
755
  id: generateUuid(),
747
- name: ( localize(7607, "Prompt Image")),
748
- fullName: ( localize(7607, "Prompt Image")),
756
+ name: ( localize(7752, "Prompt Image")),
757
+ fullName: ( localize(7752, "Prompt Image")),
749
758
  value: resized,
750
759
  kind: "image",
751
760
  references: validURI && [{
@@ -1042,7 +1051,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1042
1051
  result.suggestions.push({
1043
1052
  label: {
1044
1053
  label: sessionPrefix,
1045
- description: ( localize(7608, "Attach a chat session"))
1054
+ description: ( localize(7753, "Attach a chat session"))
1046
1055
  },
1047
1056
  filterText: sessionPrefix,
1048
1057
  insertText: `${sessionPrefix}:`,
@@ -1128,7 +1137,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1128
1137
  const uriLabel = this.labelService.getUriLabel(resource, {
1129
1138
  relative: true
1130
1139
  });
1131
- const labelDescription = description ? ( localize(7609, "{0} ({1})", uriLabel, description)) : uriLabel;
1140
+ const labelDescription = description ? ( localize(7754, "{0} ({1})", uriLabel, description)) : uriLabel;
1132
1141
  const sortText = boostPriority ? " " : "!";
1133
1142
  return {
1134
1143
  label: {
@@ -1180,7 +1189,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
1180
1189
  }
1181
1190
  }
1182
1191
  seen.add(resource);
1183
- const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7610, "Active file")) : undefined, i === 0));
1192
+ const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7755, "Active file")) : undefined, i === 0));
1184
1193
  if (newLen - len >= 5) {
1185
1194
  break;
1186
1195
  }
@@ -1369,7 +1378,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
1369
1378
  name = item.referenceName;
1370
1379
  } else {
1371
1380
  const source = item.source;
1372
- detail = ( localize(7611, "{0}: {1}", source.label, item.displayName));
1381
+ detail = ( localize(7756, "{0}: {1}", source.label, item.displayName));
1373
1382
  name = item.toolReferenceName ?? item.displayName;
1374
1383
  documentation = item.userDescription ?? item.modelDescription;
1375
1384
  }
@@ -316,7 +316,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
316
316
  const agentSubcommandPart = parsedRequest.find(p => p instanceof ChatRequestAgentSubcommandPart);
317
317
  const slashCommandPart = parsedRequest.find(p => p instanceof ChatRequestSlashCommandPart);
318
318
  const slashPromptPart = parsedRequest.find(p => p instanceof ChatRequestSlashPromptPart);
319
- const promptSlashCommand = slashPromptPart ? await this.customizationHarnessService.resolvePromptSlashCommand(slashPromptPart.name, getChatSessionType(viewModel.sessionResource), token) : undefined;
319
+ const promptSlashCommand = slashPromptPart ? await this.customizationHarnessService.resolvePromptSlashCommand(slashPromptPart.name, viewModel.sessionResource, token) : undefined;
320
320
  if (token.isCancellationRequested) {
321
321
  return;
322
322
  }
@@ -366,7 +366,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
366
366
  promptHoverMessage.appendText("\n");
367
367
  }
368
368
  promptHoverMessage.appendText(( localize(
369
- 7612,
369
+ 7757,
370
370
  "Click to open {0}",
371
371
  this.labelService.getUriLabel(promptSlashCommand.uri, {
372
372
  relative: true
@@ -62,7 +62,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
62
62
  return ( new RenderedHoverParts([renderedHoverPart]));
63
63
  }
64
64
  getAccessibleContent(hoverPart) {
65
- return localize(7613, "There is a chat agent hover part here.");
65
+ return localize(7758, "There is a chat agent hover part here.");
66
66
  }
67
67
  };
68
68
  ChatAgentHoverParticipant = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IChatWidgetService)), ( __param(3, ICommandService))], ChatAgentHoverParticipant));
@@ -253,7 +253,7 @@ let QuickChat = class QuickChat extends Disposable {
253
253
  disclaimerElement.classList.toggle("hidden", !showDisclaimer);
254
254
  if (showDisclaimer) {
255
255
  const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
256
- 7654,
256
+ 7802,
257
257
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
258
258
  product.defaultChatAgent?.provider?.default?.name ?? "",
259
259
  product.defaultChatAgent?.provider?.default?.name ?? "",
@@ -182,7 +182,7 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
182
182
  let isContributedChatSession = false;
183
183
  const chatSessionType = input.getSessionType();
184
184
  if (chatSessionType !== localChatSessionType) {
185
- const loadingMessage = ( localize(7655, "Loading..."));
185
+ const loadingMessage = ( localize(7803, "Loading..."));
186
186
  this.showLoadingInChatWidget(loadingMessage);
187
187
  }
188
188
  await super.setInput(input, options, context, token);
@@ -31,7 +31,6 @@ import { IActivityService } from "@codingame/monaco-vscode-api/vscode/vs/workben
31
31
  import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service";
32
32
  import { IAgentSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel";
33
33
  import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
34
- import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
35
34
  import { IHostService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service";
36
35
  export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
37
36
  private readonly storageService;
@@ -47,7 +46,6 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
47
46
  private readonly chatEntitlementService;
48
47
  private readonly commandService;
49
48
  private readonly activityService;
50
- private readonly workbenchEnvironmentService;
51
49
  private readonly hostService;
52
50
  private readonly memento;
53
51
  private readonly viewState;
@@ -60,7 +58,7 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
60
58
  private readonly loadSessionCts;
61
59
  private readonly modelRef;
62
60
  private readonly activityBadge;
63
- constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService, chatService: IChatService, chatAgentService: IChatAgentService, logService: ILogService, notificationService: INotificationService, layoutService: IWorkbenchLayoutService, chatSessionsService: IChatSessionsService, telemetryService: ITelemetryService, lifecycleService: ILifecycleService, progressService: IProgressService, agentSessionsService: IAgentSessionsService, chatEntitlementService: IChatEntitlementService, commandService: ICommandService, activityService: IActivityService, workbenchEnvironmentService: IWorkbenchEnvironmentService, hostService: IHostService);
61
+ constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService, chatService: IChatService, chatAgentService: IChatAgentService, logService: ILogService, notificationService: INotificationService, layoutService: IWorkbenchLayoutService, chatSessionsService: IChatSessionsService, telemetryService: ITelemetryService, lifecycleService: ILifecycleService, progressService: IProgressService, agentSessionsService: IAgentSessionsService, chatEntitlementService: IChatEntitlementService, commandService: ICommandService, activityService: IActivityService, hostService: IHostService);
64
62
  private updateContextKeys;
65
63
  private getViewPositionAndLocation;
66
64
  private getSessionHoverPosition;
@@ -107,6 +105,19 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
107
105
  private setupContextMenu;
108
106
  private applyModel;
109
107
  private _applyModel;
108
+ /**
109
+ * Force-start a new local chat session in the view, bypassing the
110
+ * default-provider override applied by `showModel()`. Used by the
111
+ * picker when the user explicitly selects "Local".
112
+ */
113
+ startNewLocalSession(): Promise<IChatModel | undefined>;
114
+ /**
115
+ * When the experimental `chat.agentHost.defaultChatProvider` setting is
116
+ * enabled and an agent-host contribution is registered, return a new
117
+ * session reference for the agent host instead of the built-in local
118
+ * provider. Returns `undefined` to fall back to `startNewLocalSession`.
119
+ */
120
+ private acquireDefaultNewSession;
110
121
  private showModel;
111
122
  private updateWidgetLockState;
112
123
  private clear;
@@ -7,11 +7,13 @@ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/
7
7
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
8
8
  import { Sash, Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
9
9
  import { CancellationToken, CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
10
+ import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
10
11
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
11
12
  import { MutableDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
12
13
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
13
14
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
14
15
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
16
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
15
17
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
16
18
  import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
17
19
  import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
@@ -57,7 +59,7 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
57
59
  import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
58
60
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
59
61
  import { LocalChatSessionUri, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
60
- import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
62
+ import { ChatConfiguration, ChatAgentLocation, ChatModeKind, getDefaultNewChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
61
63
  import { AgentSessionsControl } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl';
62
64
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
63
65
  import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
@@ -76,7 +78,6 @@ import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/brows
76
78
  import { ChatEntitlementContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
77
79
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
78
80
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
79
- import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
80
81
  import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
81
82
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
82
83
 
@@ -111,7 +112,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
111
112
  chatEntitlementService,
112
113
  commandService,
113
114
  activityService,
114
- workbenchEnvironmentService,
115
115
  hostService
116
116
  ) {
117
117
  super(
@@ -139,7 +139,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
139
139
  this.chatEntitlementService = chatEntitlementService;
140
140
  this.commandService = commandService;
141
141
  this.activityService = activityService;
142
- this.workbenchEnvironmentService = workbenchEnvironmentService;
143
142
  this.hostService = hostService;
144
143
  this.lastDimensionsPerOrientation = ( new Map());
145
144
  this.loadSessionCts = this._register(( new MutableDisposable()));
@@ -339,7 +338,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
339
338
  const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
340
339
  const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
341
340
  const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
342
- sessionsTitle.textContent = ( localize(7674, "Sessions"));
341
+ sessionsTitle.textContent = ( localize(7822, "Sessions"));
343
342
  this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
344
343
  this.sessionsControl?.scrollToTop();
345
344
  this.sessionsControl?.focus();
@@ -367,7 +366,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
367
366
  ...defaultButtonStyles,
368
367
  secondary: true
369
368
  })));
370
- newSessionButton.label = ( localize(7675, "New Session"));
369
+ newSessionButton.label = ( localize(7823, "New Session"));
371
370
  this._register(
372
371
  newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
373
372
  );
@@ -488,9 +487,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
488
487
  const locationBasedColors = this.getLocationBasedColors();
489
488
  const editorOverflowWidgetsDomNode = this.layoutService.getContainer(getWindow(chatControlsContainer)).appendChild($(".chat-editor-overflow.monaco-editor"));
490
489
  this._register(toDisposable(() => editorOverflowWidgetsDomNode.remove()));
491
- if (this.viewDescriptorService.getViewLocationById(this.id) !== ViewContainerLocation.ChatBar) {
492
- this.createChatTitleControl(chatControlsContainer);
493
- }
490
+ this.createChatTitleControl(chatControlsContainer);
494
491
  const scopedInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))));
495
492
  this._widget = this._register(
496
493
  scopedInstantiationService.createInstance(ChatWidget, ChatAgentLocation.Chat, {
@@ -509,11 +506,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
509
506
  },
510
507
  editorOverflowWidgetsDomNode,
511
508
  enableImplicitContext: true,
512
- enableWorkingSet: this.workbenchEnvironmentService.isSessionsWindow ? "implicit" : "explicit",
509
+ enableWorkingSet: "explicit",
513
510
  supportsChangingModes: true,
514
- dndContainer: parent,
515
- inputEditorMinLines: this.workbenchEnvironmentService.isSessionsWindow ? 2 : undefined,
516
- isSessionsWindow: this.workbenchEnvironmentService.isSessionsWindow
511
+ dndContainer: parent
517
512
  }, {
518
513
  listForeground: SIDE_BAR_FOREGROUND,
519
514
  listBackground: locationBasedColors.background,
@@ -614,7 +609,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
614
609
  progressBadgeDisposables.value.add(autorun(reader => {
615
610
  if (model.requestInProgress.read(reader)) {
616
611
  this.activityBadge.value = this.activityService.showViewActivity(this.id, {
617
- badge: ( new ProgressBadge(() => ( localize(7676, "Agent Session in Progress"))))
612
+ badge: ( new ProgressBadge(() => ( localize(7824, "Agent Session in Progress"))))
618
613
  });
619
614
  } else {
620
615
  this.activityBadge.clear();
@@ -655,19 +650,55 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
655
650
  ) : undefined;
656
651
  await this.showModel(CancellationToken.None, modelRef);
657
652
  }
653
+ async startNewLocalSession() {
654
+ const ref = this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
655
+ debugOwner: "ChatViewPane#startNewLocalSession"
656
+ });
657
+ return this.showModel(CancellationToken.None, ref);
658
+ }
659
+ async acquireDefaultNewSession(token) {
660
+ const defaultType = getDefaultNewChatSessionType(this.configurationService, this.chatSessionsService);
661
+ if (defaultType === localChatSessionType) {
662
+ return undefined;
663
+ }
664
+ const resource = ( URI.from({
665
+ scheme: defaultType,
666
+ path: `/untitled-${generateUuid()}`
667
+ }));
668
+ try {
669
+ return await this.chatService.acquireOrLoadSession(
670
+ resource,
671
+ ChatAgentLocation.Chat,
672
+ token,
673
+ "ChatViewPane#acquireDefaultNewSession"
674
+ );
675
+ } catch (error) {
676
+ this.logService.warn(
677
+ `[ChatViewPane] Failed to acquire default agent-host session, falling back to local`,
678
+ error
679
+ );
680
+ return undefined;
681
+ }
682
+ }
658
683
  async showModel(token, modelRef, startNewSession = true) {
659
684
  const oldModelResource = this.modelRef.value?.object.sessionResource;
660
685
  this.modelRef.value = undefined;
661
686
  let ref;
662
687
  if (startNewSession) {
663
- ref = modelRef ?? (this.chatService.transferredSessionResource ? await this.chatService.acquireOrLoadSession(
664
- this.chatService.transferredSessionResource,
665
- ChatAgentLocation.Chat,
666
- token,
667
- "ChatViewPane#showModel"
668
- ) : this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
669
- debugOwner: "ChatViewPane#showModel"
670
- }));
688
+ if (modelRef) {
689
+ ref = modelRef;
690
+ } else if (this.chatService.transferredSessionResource) {
691
+ ref = await this.chatService.acquireOrLoadSession(
692
+ this.chatService.transferredSessionResource,
693
+ ChatAgentLocation.Chat,
694
+ token,
695
+ "ChatViewPane#showModel"
696
+ );
697
+ } else {
698
+ ref = (await this.acquireDefaultNewSession(token)) ?? this.chatService.startNewLocalSession(ChatAgentLocation.Chat, {
699
+ debugOwner: "ChatViewPane#showModel"
700
+ });
701
+ }
671
702
  if (!ref) {
672
703
  throw ( new Error("Could not start chat session"));
673
704
  }
@@ -781,7 +812,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
781
812
  return undefined;
782
813
  }
783
814
  this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
784
- this.notificationService.error(( localize(7677, "Failed to open chat session: {0}", toErrorMessage(err))));
815
+ this.notificationService.error(( localize(7825, "Failed to open chat session: {0}", toErrorMessage(err))));
785
816
  const result = await this.showModel(token, undefined);
786
817
  this.logService.trace(
787
818
  `[ChatViewPane] loadSession done total=${Date.now() - t0}ms uri=${( sessionResource.toString())} error=true`
@@ -1021,6 +1052,6 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
1021
1052
  } : undefined;
1022
1053
  }
1023
1054
  };
1024
- ChatViewPane = ChatViewPane_1 = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, IStorageService)), ( __param(11, IChatService)), ( __param(12, IChatAgentService)), ( __param(13, ILogService)), ( __param(14, INotificationService)), ( __param(15, IWorkbenchLayoutService)), ( __param(16, IChatSessionsService)), ( __param(17, ITelemetryService)), ( __param(18, ILifecycleService)), ( __param(19, IProgressService)), ( __param(20, IAgentSessionsService)), ( __param(21, IChatEntitlementService)), ( __param(22, ICommandService)), ( __param(23, IActivityService)), ( __param(24, IWorkbenchEnvironmentService)), ( __param(25, IHostService))], ChatViewPane));
1055
+ ChatViewPane = ChatViewPane_1 = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService)), ( __param(10, IStorageService)), ( __param(11, IChatService)), ( __param(12, IChatAgentService)), ( __param(13, ILogService)), ( __param(14, INotificationService)), ( __param(15, IWorkbenchLayoutService)), ( __param(16, IChatSessionsService)), ( __param(17, ITelemetryService)), ( __param(18, ILifecycleService)), ( __param(19, IProgressService)), ( __param(20, IAgentSessionsService)), ( __param(21, IChatEntitlementService)), ( __param(22, ICommandService)), ( __param(23, IActivityService)), ( __param(24, IHostService))], ChatViewPane));
1025
1056
 
1026
1057
  export { ChatViewPane };
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
23
23
  ChatViewTitleControl_1 = this;
24
24
  }
25
25
  static {
26
- this.DEFAULT_TITLE = ( localize(7678, "Chat"));
26
+ this.DEFAULT_TITLE = ( localize(7826, "Chat"));
27
27
  }
28
28
  static {
29
29
  this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
48
48
  constructor() {
49
49
  super({
50
50
  id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
51
- title: ( localize(7679, "Pick Agent Session")),
51
+ title: ( localize(7827, "Pick Agent Session")),
52
52
  f1: false,
53
53
  menu: [{
54
54
  id: MenuId.ChatViewSessionTitleNavigationToolbar,
@@ -0,0 +1,38 @@
1
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
2
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
3
+ import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
4
+ /**
5
+ * Storage key prefix for persisted model selections.
6
+ * Full key format: `chat.currentLanguageModel.{location}[.{sessionType}]`
7
+ */
8
+ export declare const SELECTED_MODEL_STORAGE_KEY_PREFIX = "chat.currentLanguageModel.";
9
+ /**
10
+ * Builds the storage key used to persist the selected language model for a
11
+ * given chat location and optional session type.
12
+ *
13
+ * Matches the keys written by `chatInputPart.ts` so that other consumers
14
+ * can read the persisted model selection without depending on widget internals.
15
+ */
16
+ export declare function getSelectedModelStorageKey(location: string, sessionType?: string): string;
17
+ /**
18
+ * Resolves the currently selected chat model identifier using a two-step
19
+ * strategy:
20
+ *
21
+ * 1. Read the `chatModelId` context key (set when a chat widget is active).
22
+ * 2. Fall back to the persisted storage value written by `chatInputPart`.
23
+ *
24
+ * Returns the raw model identifier string (may include a vendor prefix like
25
+ * `"copilot/gpt-4.1"` from storage, or a short id like `"gpt-4.1"` from
26
+ * the context key), or `undefined` if no selection is available.
27
+ */
28
+ export declare function getSelectedModelIdentifier(contextKeyService: IContextKeyService, storageService: IStorageService): string | undefined;
29
+ /**
30
+ * Resolves the vendor of the currently selected chat model.
31
+ *
32
+ * Tries the language model registry first (authoritative when models are
33
+ * registered), then falls back to extracting the vendor prefix from the
34
+ * persisted model identifier (e.g. `"copilot/gpt-4.1"` → `"copilot"`).
35
+ *
36
+ * Returns `undefined` if no model selection is available.
37
+ */
38
+ export declare function getSelectedModelVendor(contextKeyService: IContextKeyService, storageService: IStorageService, languageModelsService: ILanguageModelsService): string | undefined;
@@ -0,0 +1,47 @@
1
+
2
+ import { StorageScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
3
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
4
+
5
+ const SELECTED_MODEL_STORAGE_KEY_PREFIX = 'chat.currentLanguageModel.';
6
+ function getSelectedModelStorageKey(location, sessionType) {
7
+ if (sessionType) {
8
+ return `${SELECTED_MODEL_STORAGE_KEY_PREFIX}${location}.${sessionType}`;
9
+ }
10
+ return `${SELECTED_MODEL_STORAGE_KEY_PREFIX}${location}`;
11
+ }
12
+ function getSelectedModelIdentifier(contextKeyService, storageService) {
13
+ const contextKeyModelId = contextKeyService.getContextKeyValue(ChatContextKeys.chatModelId.key);
14
+ if (contextKeyModelId) {
15
+ return contextKeyModelId;
16
+ }
17
+ const location = contextKeyService.getContextKeyValue(ChatContextKeys.location.key) ?? 'panel';
18
+ const sessionType = contextKeyService.getContextKeyValue(ChatContextKeys.chatSessionType.key) ?? '';
19
+ const candidateKeys = sessionType
20
+ ? [getSelectedModelStorageKey(location, sessionType), getSelectedModelStorageKey(location)]
21
+ : [getSelectedModelStorageKey(location)];
22
+ for (const key of candidateKeys) {
23
+ const persisted = storageService.get(key, StorageScope.APPLICATION);
24
+ if (persisted) {
25
+ return persisted;
26
+ }
27
+ }
28
+ return undefined;
29
+ }
30
+ function getSelectedModelVendor(contextKeyService, storageService, languageModelsService) {
31
+ const modelId = getSelectedModelIdentifier(contextKeyService, storageService);
32
+ if (!modelId) {
33
+ return undefined;
34
+ }
35
+ const shortId = modelId.includes('/') ? modelId.split('/').pop() : modelId;
36
+ const metadata = languageModelsService.lookupLanguageModel(shortId)
37
+ ?? languageModelsService.lookupLanguageModel(modelId);
38
+ if (metadata) {
39
+ return metadata.vendor;
40
+ }
41
+ if (modelId.includes('/')) {
42
+ return modelId.split('/')[0];
43
+ }
44
+ return undefined;
45
+ }
46
+
47
+ export { SELECTED_MODEL_STORAGE_KEY_PREFIX, getSelectedModelIdentifier, getSelectedModelStorageKey, getSelectedModelVendor };