@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/index.js +19 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
  9. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
  15. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
  18. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
  21. package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
  22. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
  23. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
  24. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
  25. package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
  29. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  35. package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
  36. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  37. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
  38. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
  39. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
  40. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  41. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  42. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
  43. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
  44. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
  45. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
  46. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  47. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  48. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  49. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  50. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  51. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
  52. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
  53. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
  54. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
  55. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
  56. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
  57. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
  58. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
  59. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
  60. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
  61. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  62. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
  63. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
  64. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +21 -13
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
  128. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
  130. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
  133. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
  134. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
  136. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  139. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
  146. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
  152. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  216. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  218. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  219. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  220. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
  222. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
  223. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
  224. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
  226. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  228. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
  230. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
  232. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
  236. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  247. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  248. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
  249. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  250. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  253. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
  254. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  255. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
  257. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
  263. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  269. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
  278. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
  279. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
  285. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  291. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +3 -0
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
  378. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
  379. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
  380. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
  381. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
  396. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
  397. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
  398. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
  399. package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
  400. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
  401. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
  402. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
  403. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
@@ -4,7 +4,7 @@ import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId
4
4
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
5
5
  import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
6
6
  import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
7
- import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
7
+ import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
8
8
  import { TerminalChatController } from './terminalChatController.js';
9
9
 
10
10
  class TerminalChatAccessibilityHelp {
@@ -37,68 +37,68 @@ function getAccessibilityHelpText(accessor) {
37
37
  const focusResponseKeybinding = keybindingService.lookupKeybinding("chat.action.focus")?.getAriaLabel();
38
38
  const focusInputKeybinding = keybindingService.lookupKeybinding("workbench.action.chat.focusInput")?.getAriaLabel();
39
39
  content.push(( localize(
40
- 14404,
40
+ 14593,
41
41
  "Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
42
42
  )));
43
43
  content.push(( localize(
44
- 14405,
44
+ 14594,
45
45
  "It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
46
46
  startChatKeybinding
47
47
  )));
48
48
  content.push(makeRequestKeybinding ? ( localize(
49
- 14406,
49
+ 14595,
50
50
  "The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
51
51
  makeRequestKeybinding
52
52
  )) : ( localize(
53
- 14407,
53
+ 14596,
54
54
  "The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
55
55
  )));
56
56
  content.push(openAccessibleViewKeybinding ? ( localize(
57
- 14408,
57
+ 14597,
58
58
  "The response can be inspected in the accessible view ({0}).",
59
59
  openAccessibleViewKeybinding
60
60
  )) : ( localize(
61
- 14409,
61
+ 14598,
62
62
  "With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding."
63
63
  )));
64
64
  content.push(focusResponseKeybinding ? ( localize(
65
- 14410,
65
+ 14599,
66
66
  "Reach the response from the input box ({0}).",
67
67
  focusResponseKeybinding
68
68
  )) : ( localize(
69
- 14411,
69
+ 14600,
70
70
  "Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response."
71
71
  )));
72
72
  content.push(focusInputKeybinding ? ( localize(
73
- 14412,
73
+ 14601,
74
74
  "Reach the input box from the response ({0}).",
75
75
  focusInputKeybinding
76
76
  )) : ( localize(
77
- 14413,
77
+ 14602,
78
78
  "Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input."
79
79
  )));
80
80
  content.push(runCommandKeybinding ? ( localize(
81
- 14414,
81
+ 14603,
82
82
  "With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.",
83
83
  runCommandKeybinding
84
84
  )) : ( localize(
85
- 14415,
85
+ 14604,
86
86
  "Run a command by tabbing to the button as the action is currently not triggerable by a keybinding."
87
87
  )));
88
88
  content.push(insertCommandKeybinding ? ( localize(
89
- 14416,
89
+ 14605,
90
90
  "With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.",
91
91
  insertCommandKeybinding
92
92
  )) : ( localize(
93
- 14417,
93
+ 14606,
94
94
  "Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding."
95
95
  )));
96
96
  content.push(( localize(
97
- 14418,
97
+ 14607,
98
98
  "Use tab to reach conditional parts like commands, status, message responses and more."
99
99
  )));
100
100
  content.push(( localize(
101
- 14419,
101
+ 14608,
102
102
  "Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
103
103
  )));
104
104
  return content.join("\n");
@@ -5,7 +5,7 @@ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workben
5
5
  import { TerminalChatController } from './terminalChatController.js';
6
6
  import { MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
7
  import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
8
- import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
8
+ import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
9
9
  import { activeChatController } from './terminalChatControllerHolder.js';
10
10
 
11
11
  class TerminalInlineChatAccessibleView {
@@ -16,7 +16,7 @@ import { ITerminalService, ITerminalGroupService, ITerminalEditorService, ITermi
16
16
  import { registerActiveXtermAction } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminal/browser/terminalActions';
17
17
  import { TerminalContextMenuGroup } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminalMenus';
18
18
  import { TerminalContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminalContextKey';
19
- import { TerminalChatContextKeys, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
19
+ import { TerminalChatContextKeys, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
20
20
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
21
21
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
22
22
  import { getIconId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminalIcon';
@@ -32,8 +32,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
32
32
 
33
33
  registerActiveXtermAction({
34
34
  id: TerminalChatCommandId.Start,
35
- title: ( localize2(14420, "Open Inline Chat")),
36
- category: ( localize2(14421, "Terminal")),
35
+ title: ( localize2(14609, "Open Inline Chat")),
36
+ category: ( localize2(14610, "Terminal")),
37
37
  keybinding: {
38
38
  primary: KeyMod.CtrlCmd | KeyCode.KeyI,
39
39
  when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
@@ -77,7 +77,7 @@ registerActiveXtermAction({
77
77
  });
78
78
  registerActiveXtermAction({
79
79
  id: TerminalChatCommandId.Close,
80
- title: ( localize2(14422, "Close")),
80
+ title: ( localize2(14611, "Close")),
81
81
  category: AbstractInlineChatAction.category,
82
82
  keybinding: {
83
83
  primary: KeyCode.Escape,
@@ -102,8 +102,8 @@ registerActiveXtermAction({
102
102
  });
103
103
  registerActiveXtermAction({
104
104
  id: TerminalChatCommandId.RunCommand,
105
- title: ( localize2(14423, "Run Chat Command")),
106
- shortTitle: ( localize2(14424, "Run")),
105
+ title: ( localize2(14612, "Run Chat Command")),
106
+ shortTitle: ( localize2(14613, "Run")),
107
107
  category: AbstractInlineChatAction.category,
108
108
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
109
109
  TerminalContextKeys.processSupported,
@@ -131,8 +131,8 @@ registerActiveXtermAction({
131
131
  });
132
132
  registerActiveXtermAction({
133
133
  id: TerminalChatCommandId.RunFirstCommand,
134
- title: ( localize2(14425, "Run First Chat Command")),
135
- shortTitle: ( localize2(14426, "Run First")),
134
+ title: ( localize2(14614, "Run First Chat Command")),
135
+ shortTitle: ( localize2(14615, "Run First")),
136
136
  category: AbstractInlineChatAction.category,
137
137
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
138
138
  TerminalContextKeys.processSupported,
@@ -160,8 +160,8 @@ registerActiveXtermAction({
160
160
  });
161
161
  registerActiveXtermAction({
162
162
  id: TerminalChatCommandId.InsertCommand,
163
- title: ( localize2(14427, "Insert Chat Command")),
164
- shortTitle: ( localize2(14428, "Insert")),
163
+ title: ( localize2(14616, "Insert Chat Command")),
164
+ shortTitle: ( localize2(14617, "Insert")),
165
165
  category: AbstractInlineChatAction.category,
166
166
  icon: Codicon.insert,
167
167
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
@@ -190,8 +190,8 @@ registerActiveXtermAction({
190
190
  });
191
191
  registerActiveXtermAction({
192
192
  id: TerminalChatCommandId.InsertFirstCommand,
193
- title: ( localize2(14429, "Insert First Chat Command")),
194
- shortTitle: ( localize2(14430, "Insert First")),
193
+ title: ( localize2(14618, "Insert First Chat Command")),
194
+ shortTitle: ( localize2(14619, "Insert First")),
195
195
  category: AbstractInlineChatAction.category,
196
196
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
197
197
  TerminalContextKeys.processSupported,
@@ -219,7 +219,7 @@ registerActiveXtermAction({
219
219
  });
220
220
  registerActiveXtermAction({
221
221
  id: TerminalChatCommandId.RerunRequest,
222
- title: ( localize2(14431, "Rerun Request")),
222
+ title: ( localize2(14620, "Rerun Request")),
223
223
  f1: false,
224
224
  icon: Codicon.refresh,
225
225
  category: AbstractInlineChatAction.category,
@@ -260,7 +260,7 @@ registerActiveXtermAction({
260
260
  });
261
261
  registerActiveXtermAction({
262
262
  id: TerminalChatCommandId.ViewInChat,
263
- title: ( localize2(14432, "View in Chat")),
263
+ title: ( localize2(14621, "View in Chat")),
264
264
  category: AbstractInlineChatAction.category,
265
265
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
266
266
  TerminalContextKeys.processSupported,
@@ -286,8 +286,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
286
286
  constructor() {
287
287
  super({
288
288
  id: TerminalChatCommandId.ViewHiddenChatTerminals,
289
- title: ( localize2(14433, "View Hidden Chat Terminals")),
290
- category: ( localize2(14434, "Terminal")),
289
+ title: ( localize2(14622, "View Hidden Chat Terminals")),
290
+ category: ( localize2(14623, "Terminal")),
291
291
  f1: true,
292
292
  precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
293
293
  menu: [{
@@ -329,7 +329,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
329
329
  return;
330
330
  }
331
331
  const items = [];
332
- const lastCommandLocalized = command => ( localize2(14435, "Last: {0}", command)).value;
332
+ const lastCommandLocalized = command => ( localize2(14624, "Last: {0}", command)).value;
333
333
  const MAX_DETAIL_LENGTH = 80;
334
334
  const metas = [];
335
335
  for (const instance of ( all.values())) {
@@ -381,10 +381,10 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
381
381
  });
382
382
  }
383
383
  const qp = quickInputService.createQuickPick();
384
- qp.placeholder = ( localize2(14436, "Select a chat terminal to show and focus")).value;
384
+ qp.placeholder = ( localize2(14625, "Select a chat terminal to show and focus")).value;
385
385
  qp.items = items;
386
386
  qp.canSelectMany = false;
387
- qp.title = ( localize2(14437, "Chat Terminals")).value;
387
+ qp.title = ( localize2(14626, "Chat Terminals")).value;
388
388
  qp.matchOnDescription = true;
389
389
  qp.matchOnDetail = true;
390
390
  const qpDisposables = ( new DisposableStore());
@@ -442,14 +442,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
442
442
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
443
443
  command: {
444
444
  id: TerminalChatCommandId.FocusMostRecentChatTerminal,
445
- title: ( localize(14438, "Chat: Focus Most Recent Terminal"))
445
+ title: ( localize(14627, "Chat: Focus Most Recent Terminal"))
446
446
  },
447
447
  when: ChatContextKeys.inChatSession
448
448
  });
449
449
  MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
450
450
  command: {
451
451
  id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
452
- title: ( localize(14439, "Chat: Focus Most Recent Terminal Output"))
452
+ title: ( localize(14628, "Chat: Focus Most Recent Terminal Output"))
453
453
  },
454
454
  when: ChatContextKeys.inChatSession
455
455
  });
@@ -5,7 +5,7 @@ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/com
5
5
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
6
6
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
7
7
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
8
- import { TerminalChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
8
+ import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
9
9
 
10
10
  let TerminalChatEnabler = class TerminalChatEnabler {
11
11
  static {
@@ -23,6 +23,8 @@ export declare class TerminalChatService extends Disposable implements ITerminal
23
23
  private readonly _chatSessionResourceByTerminalInstance;
24
24
  private readonly _terminalInstanceListenersByToolSessionId;
25
25
  private readonly _chatSessionListenersByTerminalInstance;
26
+ private readonly _terminalInstancesByExecutionId;
27
+ private readonly _terminalInstanceListenersByExecutionId;
26
28
  private readonly _ahpCommandSources;
27
29
  private readonly _onDidContinueInBackground;
28
30
  readonly onDidContinueInBackground: Event<string>;
@@ -54,6 +56,8 @@ export declare class TerminalChatService extends Disposable implements ITerminal
54
56
  getTerminalInstanceByToolSessionId(terminalToolSessionId: string | undefined): Promise<ITerminalInstance | undefined>;
55
57
  getToolSessionTerminalInstances(hiddenOnly?: boolean): readonly ITerminalInstance[];
56
58
  getToolSessionIdForInstance(instance: ITerminalInstance): string | undefined;
59
+ registerTerminalInstanceWithExecutionId(terminalExecutionId: string, instance: ITerminalInstance): IDisposable;
60
+ getTerminalInstanceByExecutionId(terminalExecutionId: string): ITerminalInstance | undefined;
57
61
  registerTerminalInstanceWithChatSession(chatSessionResource: URI, instance: ITerminalInstance): void;
58
62
  getChatSessionResourceForInstance(instance: ITerminalInstance): URI | undefined;
59
63
  isBackgroundTerminal(terminalToolSessionId?: string): boolean;
@@ -9,7 +9,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
9
9
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
10
10
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
11
11
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
12
- import { TerminalChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
12
+ import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
13
13
  import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
14
14
  import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
15
15
 
@@ -37,6 +37,8 @@ let TerminalChatService = class TerminalChatService extends Disposable {
37
37
  this._chatSessionResourceByTerminalInstance = ( new Map());
38
38
  this._terminalInstanceListenersByToolSessionId = this._register(( new DisposableMap()));
39
39
  this._chatSessionListenersByTerminalInstance = this._register(( new DisposableMap()));
40
+ this._terminalInstancesByExecutionId = ( new Map());
41
+ this._terminalInstanceListenersByExecutionId = this._register(( new DisposableMap()));
40
42
  this._ahpCommandSources = ( new Map());
41
43
  this._onDidContinueInBackground = this._register(( new Emitter()));
42
44
  this.onDidContinueInBackground = this._onDidContinueInBackground.event;
@@ -130,6 +132,24 @@ let TerminalChatService = class TerminalChatService extends Disposable {
130
132
  getToolSessionIdForInstance(instance) {
131
133
  return this._toolSessionIdByTerminalInstance.get(instance);
132
134
  }
135
+ registerTerminalInstanceWithExecutionId(terminalExecutionId, instance) {
136
+ this._terminalInstanceListenersByExecutionId.deleteAndDispose(terminalExecutionId);
137
+ this._terminalInstancesByExecutionId.set(terminalExecutionId, instance);
138
+ const instanceStore = ( new DisposableStore());
139
+ const unregister = () => {
140
+ if (this._terminalInstancesByExecutionId.get(terminalExecutionId) !== instance) {
141
+ return;
142
+ }
143
+ this._terminalInstancesByExecutionId.delete(terminalExecutionId);
144
+ this._terminalInstanceListenersByExecutionId.deleteAndDispose(terminalExecutionId);
145
+ };
146
+ instanceStore.add(instance.onDisposed(unregister));
147
+ this._terminalInstanceListenersByExecutionId.set(terminalExecutionId, instanceStore);
148
+ return toDisposable(unregister);
149
+ }
150
+ getTerminalInstanceByExecutionId(terminalExecutionId) {
151
+ return this._terminalInstancesByExecutionId.get(terminalExecutionId);
152
+ }
133
153
  registerTerminalInstanceWithChatSession(chatSessionResource, instance) {
134
154
  const existingResource = this._chatSessionResourceByTerminalInstance.get(instance);
135
155
  if (existingResource && ( existingResource.toString()) === ( chatSessionResource.toString())) {
@@ -24,7 +24,7 @@ import { InlineChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/v
24
24
  import { MENU_INLINE_CHAT_WIDGET_SECONDARY } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
25
25
  import { TerminalStickyScrollContribution } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution';
26
26
  import * as terminalChatWidget from './media/terminalChatWidget.css';
27
- import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_INPUT_SIDE_TOOLBAR, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
27
+ import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_INPUT_SIDE_TOOLBAR, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
28
28
  import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
29
29
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
30
30
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
@@ -198,7 +198,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
198
198
  }
199
199
  _resetPlaceholder() {
200
200
  const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
201
- this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(14440, "Ask about commands"));
201
+ this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(14629, "Ask about commands"));
202
202
  }
203
203
  async reveal() {
204
204
  await this._createSession();
@@ -0,0 +1,55 @@
1
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
3
+ import { IRemoteAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service";
4
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
5
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
7
+ /**
8
+ * Forwards the workbench user's sandbox setting values into every connected
9
+ * agent host (local + remote) via `RootConfigChanged` actions, so the
10
+ * agent-host terminal sandbox engine can mirror the user's preferences.
11
+ *
12
+ * The forwarder is deliberately one-directional: it pushes only when
13
+ * - a connection comes online (initial push, deferred until the host
14
+ * advertises the sandbox schema), or
15
+ * - a sandbox-related workbench setting changes.
16
+ *
17
+ * It does NOT react to agent-host root-state changes after the initial
18
+ * push, so concurrent edits coming from the host (or from another client
19
+ * attached to the same host) do not trigger a push-back loop. Each push
20
+ * is schema-guarded so older hosts that don't advertise the sandbox keys
21
+ * are skipped silently.
22
+ */
23
+ export declare class AgentHostSandboxForwarder extends Disposable implements IWorkbenchContribution {
24
+ private readonly _localAgentHostService;
25
+ private readonly _remoteAgentHostService;
26
+ private readonly _configurationService;
27
+ private readonly _logService;
28
+ static readonly ID = "workbench.contrib.agentHostSandboxForwarder";
29
+ /**
30
+ * Connections that have already had their initial push attempted
31
+ * (successfully or via a pending listener waiting for the sandbox
32
+ * schema). Used to avoid re-scheduling pushes for connections that
33
+ * are still present across `onDidChangeConnections` events.
34
+ */
35
+ private readonly _scheduled;
36
+ private _desired;
37
+ constructor(_localAgentHostService: IAgentHostService, _remoteAgentHostService: IRemoteAgentHostService, _configurationService: IConfigurationService, _logService: ILogService);
38
+ private _syncConnectionListeners;
39
+ /**
40
+ * Push immediately if the host is already advertising the sandbox
41
+ * schema; otherwise subscribe to `rootState.onDidChange` long enough
42
+ * to catch the schema and push exactly once, then unsubscribe.
43
+ */
44
+ private _scheduleInitialPush;
45
+ private _pushToAllConnections;
46
+ /**
47
+ * Attempt to dispatch the desired sandbox config to `connection`.
48
+ * Returns `true` once the host has advertised the sandbox schema
49
+ * (whether or not an actual dispatch was needed); `false` if the
50
+ * schema is not yet available and the caller should keep waiting.
51
+ */
52
+ private _tryPush;
53
+ private _getDesired;
54
+ dispose(): void;
55
+ }
@@ -0,0 +1,122 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
5
+ import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
6
+ import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
7
+ import { AgentHostSandboxConfigKey } from '../../../../../platform/agentHost/common/sandboxConfigSchema.js';
8
+ import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/common/actions';
9
+ import { ROOT_STATE_URI } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
10
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
12
+ import { SANDBOX_SETTING_KEYS, readAgentHostSandboxValues } from '../common/sandboxSettingsReader.js';
13
+
14
+ let AgentHostSandboxForwarder = class AgentHostSandboxForwarder extends Disposable {
15
+ static {
16
+ this.ID = "workbench.contrib.agentHostSandboxForwarder";
17
+ }
18
+ constructor(
19
+ _localAgentHostService,
20
+ _remoteAgentHostService,
21
+ _configurationService,
22
+ _logService
23
+ ) {
24
+ super();
25
+ this._localAgentHostService = _localAgentHostService;
26
+ this._remoteAgentHostService = _remoteAgentHostService;
27
+ this._configurationService = _configurationService;
28
+ this._logService = _logService;
29
+ this._scheduled = ( new Map());
30
+ this._register(this._configurationService.onDidChangeConfiguration(e => {
31
+ if (( SANDBOX_SETTING_KEYS.some(key => e.affectsConfiguration(key)))) {
32
+ this._desired = undefined;
33
+ this._pushToAllConnections();
34
+ }
35
+ }));
36
+ this._register(this._remoteAgentHostService.onDidChangeConnections(() => {
37
+ this._syncConnectionListeners();
38
+ }));
39
+ this._syncConnectionListeners();
40
+ }
41
+ _syncConnectionListeners() {
42
+ const live = ( new Set());
43
+ const ensureScheduled = connection => {
44
+ live.add(connection);
45
+ if (!( this._scheduled.has(connection))) {
46
+ this._scheduleInitialPush(connection);
47
+ }
48
+ };
49
+ ensureScheduled(this._localAgentHostService);
50
+ for (const info of this._remoteAgentHostService.connections) {
51
+ const connection = this._remoteAgentHostService.getConnection(info.address);
52
+ if (connection) {
53
+ ensureScheduled(connection);
54
+ }
55
+ }
56
+ for (const [connection, listener] of this._scheduled) {
57
+ if (!( live.has(connection))) {
58
+ listener.dispose();
59
+ this._scheduled.delete(connection);
60
+ }
61
+ }
62
+ }
63
+ _scheduleInitialPush(connection) {
64
+ if (this._tryPush(connection)) {
65
+ this._scheduled.set(connection, Disposable.None);
66
+ return;
67
+ }
68
+ const listener = connection.rootState.onDidChange(() => {
69
+ if (this._tryPush(connection)) {
70
+ this._scheduled.get(connection)?.dispose();
71
+ this._scheduled.set(connection, Disposable.None);
72
+ }
73
+ });
74
+ this._scheduled.set(connection, listener);
75
+ }
76
+ _pushToAllConnections() {
77
+ this._tryPush(this._localAgentHostService);
78
+ for (const info of this._remoteAgentHostService.connections) {
79
+ const connection = this._remoteAgentHostService.getConnection(info.address);
80
+ if (connection) {
81
+ this._tryPush(connection);
82
+ }
83
+ }
84
+ }
85
+ _tryPush(connection) {
86
+ const rootState = connection.rootState.value;
87
+ if (!rootState || rootState instanceof Error) {
88
+ return false;
89
+ }
90
+ const schemaProperties = rootState.config?.schema.properties;
91
+ if (!schemaProperties?.[AgentHostSandboxConfigKey.Sandbox]) {
92
+ return false;
93
+ }
94
+ const desired = this._getDesired();
95
+ const current = rootState.config?.values?.[AgentHostSandboxConfigKey.Sandbox] ?? {};
96
+ if (!equals(current, desired)) {
97
+ connection.dispatch(ROOT_STATE_URI, {
98
+ type: ActionType.RootConfigChanged,
99
+ config: {
100
+ [AgentHostSandboxConfigKey.Sandbox]: desired
101
+ }
102
+ });
103
+ }
104
+ return true;
105
+ }
106
+ _getDesired() {
107
+ if (this._desired === undefined) {
108
+ this._desired = readAgentHostSandboxValues(this._configurationService, this._logService);
109
+ }
110
+ return this._desired;
111
+ }
112
+ dispose() {
113
+ for (const listener of ( this._scheduled.values())) {
114
+ listener.dispose();
115
+ }
116
+ this._scheduled.clear();
117
+ super.dispose();
118
+ }
119
+ };
120
+ AgentHostSandboxForwarder = ( __decorate([( __param(0, IAgentHostService)), ( __param(1, IRemoteAgentHostService)), ( __param(2, IConfigurationService)), ( __param(3, ILogService))], AgentHostSandboxForwarder));
121
+
122
+ export { AgentHostSandboxForwarder };
@@ -0,0 +1,2 @@
1
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
2
+ export declare function getRecommendedToolsOverRunInTerminal(commandLine: string, languageModelToolsService: ILanguageModelToolsService): string | undefined;
@@ -0,0 +1,41 @@
1
+
2
+
3
+ let previouslyRecommededInSession = false;
4
+ const terminalCommands = [{
5
+ commands: [( new RegExp(/^python3? -m pip install(\b)/)), ( new RegExp(/^pip3? install(\b)/))],
6
+ tags: ["python environment"]
7
+ }, {
8
+ commands: [( new RegExp(/^python3? -m jupyter(\b)/)), ( new RegExp(/^python3? -m pip install\b.*jupyter\b.*/)), ( new RegExp(/^pip3? install\b.*jupyter\b.*/)), (
9
+ new RegExp(/^jupyter(\b)/))],
10
+ tags: ["python environment", "jupyter environment"]
11
+ }];
12
+ function getRecommendedToolsOverRunInTerminal(commandLine, languageModelToolsService) {
13
+ const tools = languageModelToolsService.getTools(undefined);
14
+ if (!tools || previouslyRecommededInSession) {
15
+ return;
16
+ }
17
+ const recommendedTools = ( new Set());
18
+ const messages = [
19
+ `The terminal command '${commandLine}' was not executed.`,
20
+ `Try using some of the following tools instead of running a Terminal Command (if unable to use one of these tools as an alternative then run the same terminal command again):`
21
+ ];
22
+ for (const terminalCommand of terminalCommands) {
23
+ if (!( terminalCommand.commands.some(condition => condition.test(commandLine)))) {
24
+ continue;
25
+ }
26
+ const tagsToSearchFor = terminalCommand.tags;
27
+ Array.from(tools).filter(t => ( tagsToSearchFor.some(tag => t.tags?.includes(tag)))).forEach(tool => {
28
+ recommendedTools.add(tool.id);
29
+ });
30
+ }
31
+ recommendedTools.forEach(toolName => {
32
+ messages.push(`- ${toolName}`);
33
+ });
34
+ if (recommendedTools.size) {
35
+ previouslyRecommededInSession = true;
36
+ return messages.join(" \n");
37
+ }
38
+ return undefined;
39
+ }
40
+
41
+ export { getRecommendedToolsOverRunInTerminal };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Interface for command-specific file write parsers.
3
+ * Each parser is responsible for detecting when a specific command will write to files
4
+ * (beyond simple shell redirections which are handled separately via tree-sitter queries).
5
+ */
6
+ export interface ICommandFileWriteParser {
7
+ /**
8
+ * The name of the command this parser handles (e.g., 'sed', 'tee').
9
+ */
10
+ readonly commandName: string;
11
+ /**
12
+ * Checks if this parser can handle the given command text.
13
+ * Should return true only if the command would write to files.
14
+ * @param commandText The full text of a single command (not a pipeline).
15
+ */
16
+ canHandle(commandText: string): boolean;
17
+ /**
18
+ * Extracts the file paths that would be written to by this command.
19
+ * Should only be called if canHandle() returns true.
20
+ * @param commandText The full text of a single command (not a pipeline).
21
+ * @returns Array of file paths that would be modified.
22
+ */
23
+ extractFileWrites(commandText: string): string[];
24
+ }
@@ -0,0 +1,26 @@
1
+ import { ICommandFileWriteParser } from "./commandFileWriteParser.js";
2
+ /**
3
+ * Parser for detecting file writes from `sed` commands using in-place editing.
4
+ *
5
+ * Handles:
6
+ * - `sed -i 's/foo/bar/' file.txt` (GNU)
7
+ * - `sed -i.bak 's/foo/bar/' file.txt` (GNU with backup suffix)
8
+ * - `sed -i '' 's/foo/bar/' file.txt` (macOS/BSD with empty backup suffix)
9
+ * - `sed --in-place 's/foo/bar/' file.txt` (GNU long form)
10
+ * - `sed --in-place=.bak 's/foo/bar/' file.txt` (GNU long form with backup)
11
+ * - `sed -I 's/foo/bar/' file.txt` (BSD case-insensitive variant)
12
+ */
13
+ export declare class SedFileWriteParser implements ICommandFileWriteParser {
14
+ readonly commandName = "sed";
15
+ canHandle(commandText: string): boolean;
16
+ extractFileWrites(commandText: string): string[];
17
+ /**
18
+ * Tokenizes a command into individual arguments, handling quotes and escapes.
19
+ */
20
+ private _tokenizeCommand;
21
+ /**
22
+ * Extracts file targets from tokenized sed command arguments.
23
+ * Files are generally the last non-option, non-script arguments.
24
+ */
25
+ private _extractFileTargets;
26
+ }