@codingame/monaco-vscode-chat-service-override 29.1.1 → 30.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 (258) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
  15. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
  16. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
  17. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  18. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
  80. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
  144. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  145. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  154. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  156. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
  160. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  161. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
  184. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
  201. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
  202. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
  203. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  210. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
  250. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
  251. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
  253. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
  258. /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
@@ -32,8 +32,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
32
32
 
33
33
  registerActiveXtermAction({
34
34
  id: TerminalChatCommandId.Start,
35
- title: ( localize2(13771, "Open Inline Chat")),
36
- category: ( localize2(13772, "Terminal")),
35
+ title: ( localize2(13835, "Open Inline Chat")),
36
+ category: ( localize2(13836, "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(13773, "Close")),
80
+ title: ( localize2(13837, "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(13774, "Run Chat Command")),
106
- shortTitle: ( localize2(13775, "Run")),
105
+ title: ( localize2(13838, "Run Chat Command")),
106
+ shortTitle: ( localize2(13839, "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(13776, "Run First Chat Command")),
135
- shortTitle: ( localize2(13777, "Run First")),
134
+ title: ( localize2(13840, "Run First Chat Command")),
135
+ shortTitle: ( localize2(13841, "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(13778, "Insert Chat Command")),
164
- shortTitle: ( localize2(13779, "Insert")),
163
+ title: ( localize2(13842, "Insert Chat Command")),
164
+ shortTitle: ( localize2(13843, "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(13780, "Insert First Chat Command")),
194
- shortTitle: ( localize2(13781, "Insert First")),
193
+ title: ( localize2(13844, "Insert First Chat Command")),
194
+ shortTitle: ( localize2(13845, "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(13782, "Rerun Request")),
222
+ title: ( localize2(13846, "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(13783, "View in Chat")),
263
+ title: ( localize2(13847, "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(13784, "View Hidden Chat Terminals")),
290
- category: ( localize2(13785, "Terminal")),
289
+ title: ( localize2(13848, "View Hidden Chat Terminals")),
290
+ category: ( localize2(13849, "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(13786, "Last: {0}", command)).value;
332
+ const lastCommandLocalized = command => ( localize2(13850, "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(13787, "Select a chat terminal to show and focus")).value;
384
+ qp.placeholder = ( localize2(13851, "Select a chat terminal to show and focus")).value;
385
385
  qp.items = items;
386
386
  qp.canSelectMany = false;
387
- qp.title = ( localize2(13788, "Chat Terminals")).value;
387
+ qp.title = ( localize2(13852, "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(13789, "Chat: Focus Most Recent Terminal"))
445
+ title: ( localize(13853, "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(13790, "Chat: Focus Most Recent Terminal Output"))
452
+ title: ( localize(13854, "Chat: Focus Most Recent Terminal Output"))
453
453
  },
454
454
  when: ChatContextKeys.inChatSession
455
455
  });
@@ -49,7 +49,7 @@ let TerminalChatService = class TerminalChatService extends Disposable {
49
49
  this._hasHiddenToolTerminalContext = TerminalChatContextKeys.hasHiddenChatTerminals.bindTo(this._contextKeyService);
50
50
  this._restoreFromStorage();
51
51
  this._register(this._chatService.onDidDisposeSession(e => {
52
- for (const resource of e.sessionResource) {
52
+ for (const resource of e.sessionResources) {
53
53
  this._sessionAutoApproveRules.delete(resource);
54
54
  this._sessionAutoApprovalEnabled.delete(resource);
55
55
  }
@@ -73,7 +73,7 @@ let TerminalChatService = class TerminalChatService extends Disposable {
73
73
  this._updateHasToolTerminalContextKeys();
74
74
  }));
75
75
  this._register(this._chatService.onDidDisposeSession(e => {
76
- for (const resource of e.sessionResource) {
76
+ for (const resource of e.sessionResources) {
77
77
  if (LocalChatSessionUri.parseLocalSessionId(resource) === terminalToolSessionId) {
78
78
  this._terminalInstancesByToolSessionId.delete(terminalToolSessionId);
79
79
  this._toolSessionIdByTerminalInstance.delete(instance);
@@ -187,7 +187,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
187
187
  }
188
188
  _resetPlaceholder() {
189
189
  const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
190
- this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(13791, "Ask about commands"));
190
+ this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(13855, "Ask about commands"));
191
191
  }
192
192
  async reveal() {
193
193
  await this._createSession();
@@ -9,6 +9,7 @@ import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/plat
9
9
  import { trackIdleOnPrompt, waitForIdle } from './executeStrategy.js';
10
10
  import { createAltBufferPromise, setupRecreatingStartMarker, stripCommandEchoAndPrompt } from './strategyHelpers.js';
11
11
  import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
12
+ import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
12
13
 
13
14
  let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
14
15
  constructor(
@@ -85,7 +86,8 @@ let BasicExecuteStrategy = class BasicExecuteStrategy extends Disposable {
85
86
  }
86
87
  this._log(`Executing command line \`${commandLine}\``);
87
88
  markerRecreation.dispose();
88
- this._instance.sendText(commandLine, true);
89
+ const forceBracketedPasteMode = isMacintosh;
90
+ this._instance.sendText(commandLine, true, forceBracketedPasteMode);
89
91
  this._log("Waiting for done event");
90
92
  const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({
91
93
  type: "alternateBuffer"
@@ -8,6 +8,7 @@ import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/plat
8
8
  import { waitForIdle, waitForIdleWithPromptHeuristics } from './executeStrategy.js';
9
9
  import { createAltBufferPromise, setupRecreatingStartMarker, stripCommandEchoAndPrompt } from './strategyHelpers.js';
10
10
  import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
11
+ import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
11
12
 
12
13
  let NoneExecuteStrategy = class NoneExecuteStrategy extends Disposable {
13
14
  constructor(_instance, _hasReceivedUserInput, _configurationService, _logService) {
@@ -54,7 +55,8 @@ let NoneExecuteStrategy = class NoneExecuteStrategy extends Disposable {
54
55
  this._log(`Executing command line \`${commandLine}\``);
55
56
  markerRecreation.dispose();
56
57
  const startLine = this._startMarker.value?.line;
57
- this._instance.sendText(commandLine, true);
58
+ const forceBracketedPasteMode = isMacintosh;
59
+ this._instance.sendText(commandLine, true, forceBracketedPasteMode);
58
60
  if (startLine !== undefined) {
59
61
  this._log("Waiting for cursor to move past start line");
60
62
  const cursorMovedPromise = ( new Promise(resolve => {
@@ -70,7 +72,7 @@ let NoneExecuteStrategy = class NoneExecuteStrategy extends Disposable {
70
72
  check();
71
73
  }));
72
74
  const cursorMoveTimeout = ( new Promise(resolve => {
73
- const handle = setTimeout(() => resolve("timeout"), 5000);
75
+ const handle = setTimeout(() => resolve("timeout"), 1000);
74
76
  store.add({
75
77
  dispose: () => clearTimeout(handle)
76
78
  });
@@ -5,7 +5,7 @@ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
5
5
  import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
7
7
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
8
- import { isCI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
+ import { isMacintosh, isCI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
9
9
  import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
10
10
  import { trackIdleOnPrompt } from './executeStrategy.js';
11
11
  import { createAltBufferPromise, setupRecreatingStartMarker, stripCommandEchoAndPrompt } from './strategyHelpers.js';
@@ -63,7 +63,8 @@ let RichExecuteStrategy = class RichExecuteStrategy extends Disposable {
63
63
  );
64
64
  this._log(`Executing command line \`${commandLine}\``);
65
65
  markerRecreation.dispose();
66
- this._instance.runCommand(commandLine, true, commandId);
66
+ const forceBracketedPasteMode = isMacintosh;
67
+ this._instance.runCommand(commandLine, true, commandId, forceBracketedPasteMode);
67
68
  this._log("Waiting for done event");
68
69
  const onDoneResult = await Promise.race([onDone, alternateBufferPromise.then(() => ({
69
70
  type: "alternateBuffer"
@@ -155,7 +155,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
155
155
  const firstSubcommandFirstWord = unapprovedSubCommands.length > 0 ? unapprovedSubCommands[0].split(" ")[0] : "";
156
156
  if (firstSubcommandFirstWord !== commandLine && !( commandsWithSubcommands.has(commandLine)) && !( commandsWithSubSubCommands.has(commandLine))) {
157
157
  actions.push({
158
- label: ( localize(13792, "Allow Exact Command Line in this Session")),
158
+ label: ( localize(13856, "Allow Exact Command Line in this Session")),
159
159
  data: {
160
160
  type: "newRule",
161
161
  rule: {
@@ -169,7 +169,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
169
169
  }
170
170
  });
171
171
  actions.push({
172
- label: ( localize(13793, "Allow Exact Command Line in this Workspace")),
172
+ label: ( localize(13857, "Allow Exact Command Line in this Workspace")),
173
173
  data: {
174
174
  type: "newRule",
175
175
  rule: {
@@ -183,7 +183,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
183
183
  }
184
184
  });
185
185
  actions.push({
186
- label: ( localize(13794, "Always Allow Exact Command Line")),
186
+ label: ( localize(13858, "Always Allow Exact Command Line")),
187
187
  data: {
188
188
  type: "newRule",
189
189
  rule: {
@@ -202,15 +202,15 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
202
202
  actions.push(( new Separator()));
203
203
  }
204
204
  actions.push({
205
- label: ( localize(13795, "Allow All Commands in this Session")),
206
- tooltip: ( localize(13796, "Allow this tool to run in this session without confirmation.")),
205
+ label: ( localize(13859, "Allow All Commands in this Session")),
206
+ tooltip: ( localize(13860, "Allow this tool to run in this session without confirmation.")),
207
207
  data: {
208
208
  type: "sessionApproval"
209
209
  }
210
210
  });
211
211
  actions.push(( new Separator()));
212
212
  actions.push({
213
- label: ( localize(13797, "Configure Auto Approve...")),
213
+ label: ( localize(13861, "Configure Auto Approve...")),
214
214
  data: {
215
215
  type: "configure"
216
216
  }
@@ -19,6 +19,7 @@ export declare class RunInTerminalToolTelemetry {
19
19
  error: string | undefined;
20
20
  isBackground: boolean;
21
21
  isNewSession: boolean;
22
+ isSandboxWrapped: boolean;
22
23
  shellIntegrationQuality: ShellIntegrationQuality;
23
24
  outputLineCount: number;
24
25
  timingConnectMs: number;
@@ -60,6 +60,7 @@ let RunInTerminalToolTelemetry = class RunInTerminalToolTelemetry {
60
60
  toolEditedCommand: state.didToolEditCommand ? 1 : 0,
61
61
  isBackground: state.isBackground ? 1 : 0,
62
62
  isNewSession: state.isNewSession ? 1 : 0,
63
+ isSandbox: state.isSandboxWrapped ? 1 : 0,
63
64
  outputLineCount: state.outputLineCount,
64
65
  nonZeroExitCode: state.exitCode === undefined ? -1 : state.exitCode === 0 ? 0 : 1,
65
66
  timingConnectMs: state.timingConnectMs,
@@ -3,16 +3,14 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
3
3
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
4
  import { type IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
5
5
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
6
- import { ITrustedDomainService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/url/common/trustedDomainService.service";
7
6
  export declare class ChatAgentToolsContribution extends Disposable implements IWorkbenchContribution {
8
7
  private readonly _instantiationService;
9
8
  private readonly _toolsService;
10
9
  private readonly _configurationService;
11
- private readonly _trustedDomainService;
12
10
  static readonly ID = "terminal.chatAgentTools";
13
11
  private readonly _runInTerminalToolRegistration;
14
12
  private _runInTerminalToolRegistrationVersion;
15
- constructor(_instantiationService: IInstantiationService, _toolsService: ILanguageModelToolsService, _configurationService: IConfigurationService, _trustedDomainService: ITrustedDomainService);
13
+ constructor(_instantiationService: IInstantiationService, _toolsService: ILanguageModelToolsService, _configurationService: IConfigurationService);
16
14
  private _runInTerminalTool;
17
15
  private _registerRunInTerminalTool;
18
16
  }
@@ -2,9 +2,9 @@
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
4
  import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
- import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
6
5
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
6
  import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
+ import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
8
8
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
9
9
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
10
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -29,8 +29,8 @@ import { CreateAndRunTaskTool, CreateAndRunTaskToolData } from './tools/task/cre
29
29
  import { GetTaskOutputTool, GetTaskOutputToolData } from './tools/task/getTaskOutputTool.js';
30
30
  import { RunTaskTool, RunTaskToolData } from './tools/task/runTaskTool.js';
31
31
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
32
- import { ITrustedDomainService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/url/common/trustedDomainService.service';
33
32
  import '../common/terminalSandboxService.js';
33
+ import { isNumber } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
34
34
 
35
35
  let ShellIntegrationTimeoutMigrationContribution = class ShellIntegrationTimeoutMigrationContribution extends Disposable {
36
36
  static {
@@ -38,13 +38,21 @@ let ShellIntegrationTimeoutMigrationContribution = class ShellIntegrationTimeout
38
38
  }
39
39
  constructor(configurationService) {
40
40
  super();
41
- const deprecatedSettingValue = configurationService.getValue(TerminalChatAgentToolsSettingId.ShellIntegrationTimeout);
42
- if (!isNumber(deprecatedSettingValue)) {
43
- return;
41
+ const deprecated = configurationService.inspect(TerminalChatAgentToolsSettingId.ShellIntegrationTimeout);
42
+ const target = configurationService.inspect(TerminalSettingId.ShellIntegrationTimeout);
43
+ if (deprecated.userValue !== undefined && target.userValue === undefined && isNumber(deprecated.userValue)) {
44
+ configurationService.updateValue(
45
+ TerminalSettingId.ShellIntegrationTimeout,
46
+ deprecated.userValue,
47
+ ConfigurationTarget.USER
48
+ );
44
49
  }
45
- const newSettingValue = configurationService.getValue(TerminalSettingId.ShellIntegrationTimeout);
46
- if (!isNumber(newSettingValue)) {
47
- configurationService.updateValue(TerminalSettingId.ShellIntegrationTimeout, deprecatedSettingValue);
50
+ if (deprecated.workspaceValue !== undefined && target.workspaceValue === undefined && isNumber(deprecated.workspaceValue)) {
51
+ configurationService.updateValue(
52
+ TerminalSettingId.ShellIntegrationTimeout,
53
+ deprecated.workspaceValue,
54
+ ConfigurationTarget.WORKSPACE
55
+ );
48
56
  }
49
57
  }
50
58
  };
@@ -76,17 +84,11 @@ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Dispos
76
84
  static {
77
85
  this.ID = "terminal.chatAgentTools";
78
86
  }
79
- constructor(
80
- _instantiationService,
81
- _toolsService,
82
- _configurationService,
83
- _trustedDomainService
84
- ) {
87
+ constructor(_instantiationService, _toolsService, _configurationService) {
85
88
  super();
86
89
  this._instantiationService = _instantiationService;
87
90
  this._toolsService = _toolsService;
88
91
  this._configurationService = _configurationService;
89
- this._trustedDomainService = _trustedDomainService;
90
92
  this._runInTerminalToolRegistration = this._register(( new MutableDisposable()));
91
93
  this._runInTerminalToolRegistrationVersion = 0;
92
94
  const confirmTerminalCommandTool = _instantiationService.createInstance(ConfirmTerminalCommandTool);
@@ -125,13 +127,14 @@ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Dispos
125
127
  this._register(_toolsService.executeToolSet.addTool(CreateAndRunTaskToolData));
126
128
  this._register(_toolsService.readToolSet.addTool(GetTaskOutputToolData));
127
129
  this._register(this._configurationService.onDidChangeConfiguration(e => {
128
- if (e.affectsConfiguration(TerminalChatAgentToolsSettingId.TerminalSandboxEnabled) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.TerminalSandboxNetworkAllowedDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.TerminalSandboxNetworkDeniedDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.TerminalSandboxNetworkAllowTrustedDomains)) {
130
+ if (e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxEnabled) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxNetworkAllowedDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxNetworkDeniedDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedTerminalSandboxEnabled) || e.affectsConfiguration(
131
+ TerminalChatAgentToolsSettingId.DeprecatedTerminalSandboxNetworkAllowedDomains
132
+ ) || e.affectsConfiguration(
133
+ TerminalChatAgentToolsSettingId.DeprecatedTerminalSandboxNetworkDeniedDomains
134
+ )) {
129
135
  this._registerRunInTerminalTool();
130
136
  }
131
137
  }));
132
- this._register(this._trustedDomainService.onDidChangeTrustedDomains(() => {
133
- this._registerRunInTerminalTool();
134
- }));
135
138
  }
136
139
  _registerRunInTerminalTool() {
137
140
  const version = ++this._runInTerminalToolRegistrationVersion;
@@ -153,7 +156,7 @@ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Dispos
153
156
  });
154
157
  }
155
158
  };
156
- ChatAgentToolsContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, ILanguageModelToolsService)), ( __param(2, IConfigurationService)), ( __param(3, ITrustedDomainService))], ChatAgentToolsContribution));
159
+ ChatAgentToolsContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, ILanguageModelToolsService)), ( __param(2, IConfigurationService))], ChatAgentToolsContribution));
157
160
  registerWorkbenchContribution2(
158
161
  ChatAgentToolsContribution.ID,
159
162
  ChatAgentToolsContribution,
@@ -161,7 +164,7 @@ registerWorkbenchContribution2(
161
164
  );
162
165
  registerActiveInstanceAction({
163
166
  id: TerminalChatAgentToolsCommandId.ChatAddTerminalSelection,
164
- title: ( localize(13798, "Add Terminal Selection to Chat")),
167
+ title: ( localize(13862, "Add Terminal Selection to Chat")),
165
168
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, sharedWhenClause.terminalAvailable)),
166
169
  menu: [{
167
170
  id: MenuId.TerminalInstanceContext,
@@ -182,8 +185,8 @@ registerActiveInstanceAction({
182
185
  chatView.attachmentModel.addContext({
183
186
  id: `terminal-selection-${Date.now()}`,
184
187
  kind: "generic",
185
- name: ( localize(13799, "Terminal Selection")),
186
- fullName: ( localize(13799, "Terminal Selection")),
188
+ name: ( localize(13863, "Terminal Selection")),
189
+ fullName: ( localize(13863, "Terminal Selection")),
187
190
  value: selection,
188
191
  icon: Codicon.terminal
189
192
  });
@@ -11,7 +11,7 @@ import { timeout, raceCancellationError } from '@codingame/monaco-vscode-api/vsc
11
11
  const AwaitTerminalToolData = {
12
12
  id: TerminalToolId.AwaitTerminal,
13
13
  toolReferenceName: "awaitTerminal",
14
- displayName: ( localize(13800, "Await Terminal")),
14
+ displayName: ( localize(13864, "Await Terminal")),
15
15
  modelDescription: "Wait for a background terminal command to complete. Returns the output, exit code, or timeout status.",
16
16
  icon: Codicon.terminal,
17
17
  source: ToolDataSource.Internal,
@@ -33,8 +33,8 @@ const AwaitTerminalToolData = {
33
33
  class AwaitTerminalTool extends Disposable {
34
34
  async prepareToolInvocation(_context, _token) {
35
35
  return {
36
- invocationMessage: ( localize(13801, "Awaiting terminal completion")),
37
- pastTenseMessage: ( localize(13802, "Awaited terminal completion"))
36
+ invocationMessage: ( localize(13865, "Awaiting terminal completion")),
37
+ pastTenseMessage: ( localize(13866, "Awaited terminal completion"))
38
38
  };
39
39
  }
40
40
  async invoke(invocation, _countTokens, _progress, token) {
@@ -154,7 +154,7 @@ let NpmScriptAutoApprover = class NpmScriptAutoApprover extends Disposable {
154
154
  isAutoApproved: true,
155
155
  scriptName,
156
156
  autoApproveInfo: ( new MarkdownString(( localize(
157
- 13803,
157
+ 13867,
158
158
  "Auto approved as {0} is defined in package.json",
159
159
  `\`${scriptName}\``
160
160
  ))))
@@ -56,7 +56,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
56
56
  isAutoApproved: true,
57
57
  isAutoApproveAllowed: true,
58
58
  disclaimers: [],
59
- autoApproveInfo: ( new MarkdownString(`${( localize(13804, "Auto approved for this session"))} ([${( localize(13805, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
59
+ autoApproveInfo: ( new MarkdownString(`${( localize(13868, "Auto approved for this session"))} ([${( localize(13869, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
60
60
  };
61
61
  }
62
62
  const trimmedCommandLine = options.commandLine.trimStart();
@@ -158,7 +158,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
158
158
  const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(" ")[0].toLowerCase()));
159
159
  if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) || (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
160
160
  disclaimers.push(( localize(
161
- 13806,
161
+ 13870,
162
162
  "Web content may contain malicious code or attempt prompt injection attacks."
163
163
  )));
164
164
  }
@@ -199,10 +199,10 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
199
199
  return ( asArray(result).filter(e => isAutoApproveRule(e.rule)).map(e => {
200
200
  const escapedSourceText = e.rule.sourceText.replaceAll("$", "\\$");
201
201
  if (e.rule.sourceTarget === "session") {
202
- return localize(13807, "{0} (session)", `\`${escapedSourceText}\``);
202
+ return localize(13871, "{0} (session)", `\`${escapedSourceText}\``);
203
203
  }
204
204
  const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, e.rule.sourceTarget);
205
- const tooltip = ( localize(13808, "View rule in settings"));
205
+ const tooltip = ( localize(13872, "View rule in settings"));
206
206
  let label = escapedSourceText;
207
207
  switch (e.rule?.sourceTarget) {
208
208
  case ConfigurationTarget.DEFAULT:
@@ -233,9 +233,9 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
233
233
  if (isGlobalAutoApproved) {
234
234
  const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, "global");
235
235
  return (new MarkdownString(`${( localize(
236
- 13809,
236
+ 13873,
237
237
  "Auto approved by setting {0}",
238
- `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(13810, "View settings"))}")`
238
+ `[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(13874, "View settings"))}")`
239
239
  ))}`, mdTrustSettings));
240
240
  }
241
241
  if (isAutoApproved) {
@@ -244,7 +244,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
244
244
  {
245
245
  if (isAutoApproveRule(commandLineResult.rule)) {
246
246
  return (new MarkdownString(
247
- localize(13811, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
247
+ localize(13875, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
248
248
  mdTrustSettings
249
249
  ));
250
250
  }
@@ -259,12 +259,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
259
259
  const uniqueRules = dedupeRules(subCommandResults);
260
260
  if (uniqueRules.length === 1) {
261
261
  return (new MarkdownString(
262
- localize(13811, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
262
+ localize(13875, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
263
263
  mdTrustSettings
264
264
  ));
265
265
  } else if (uniqueRules.length > 1) {
266
266
  return (new MarkdownString(
267
- localize(13812, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
267
+ localize(13876, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
268
268
  mdTrustSettings
269
269
  ));
270
270
  }
@@ -277,7 +277,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
277
277
  {
278
278
  if (commandLineResult.rule) {
279
279
  return (new MarkdownString(localize(
280
- 13813,
280
+ 13877,
281
281
  "Auto approval denied by rule {0}",
282
282
  formatRuleLinks(commandLineResult)
283
283
  ), mdTrustSettings));
@@ -289,12 +289,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
289
289
  const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === "denied"));
290
290
  if (uniqueRules.length === 1) {
291
291
  return (new MarkdownString(
292
- localize(13813, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
292
+ localize(13877, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
293
293
  mdTrustSettings
294
294
  ));
295
295
  } else if (uniqueRules.length > 1) {
296
296
  return (new MarkdownString(
297
- localize(13814, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
297
+ localize(13878, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
298
298
  mdTrustSettings
299
299
  ));
300
300
  }
@@ -149,12 +149,12 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
149
149
  )).join(", ");
150
150
  if (!isAutoApproveAllowed) {
151
151
  disclaimers.push(( localize(
152
- 13815,
152
+ 13879,
153
153
  "File write operations detected that cannot be auto approved: {0}",
154
154
  fileWritesList
155
155
  )));
156
156
  } else {
157
- disclaimers.push(( localize(13816, "File write operations detected: {0}", fileWritesList)));
157
+ disclaimers.push(( localize(13880, "File write operations detected: {0}", fileWritesList)));
158
158
  }
159
159
  }
160
160
  return {
@@ -1,6 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { TerminalSandboxPrerequisiteCheck } from '../../../common/terminalSandboxService.js';
4
5
  import { ITerminalSandboxService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service';
5
6
 
6
7
  let CommandLineSandboxRewriter = class CommandLineSandboxRewriter extends Disposable {
@@ -9,17 +10,11 @@ let CommandLineSandboxRewriter = class CommandLineSandboxRewriter extends Dispos
9
10
  this._sandboxService = _sandboxService;
10
11
  }
11
12
  async rewrite(options) {
12
- if (options.requestUnsandboxedExecution) {
13
+ const sandboxPrereqs = await this._sandboxService.checkForSandboxingPrereqs();
14
+ if (!sandboxPrereqs.enabled || sandboxPrereqs.failedCheck === TerminalSandboxPrerequisiteCheck.Config) {
13
15
  return undefined;
14
16
  }
15
- if (!(await this._sandboxService.isEnabled())) {
16
- return undefined;
17
- }
18
- const sandboxConfigPath = await this._sandboxService.getSandboxConfigPath();
19
- if (!sandboxConfigPath) {
20
- return undefined;
21
- }
22
- const wrappedCommand = this._sandboxService.wrapCommand(options.commandLine);
17
+ const wrappedCommand = this._sandboxService.wrapCommand(options.commandLine, options.requestUnsandboxedExecution);
23
18
  return {
24
19
  rewritten: wrappedCommand,
25
20
  reasoning: "Wrapped command for sandbox execution",
@@ -12,7 +12,7 @@ const GetTerminalLastCommandToolData = {
12
12
  id: TerminalToolId.TerminalLastCommand,
13
13
  toolReferenceName: "terminalLastCommand",
14
14
  legacyToolReferenceFullNames: ["runCommands/terminalLastCommand"],
15
- displayName: ( localize(13817, "Get Terminal Last Command")),
15
+ displayName: ( localize(13881, "Get Terminal Last Command")),
16
16
  modelDescription: "Get the last command run in the active terminal.",
17
17
  source: ToolDataSource.Internal,
18
18
  icon: Codicon.terminal
@@ -24,8 +24,8 @@ let GetTerminalLastCommandTool = class GetTerminalLastCommandTool extends Dispos
24
24
  }
25
25
  async prepareToolInvocation(context, token) {
26
26
  return {
27
- invocationMessage: ( localize(13818, "Getting last terminal command")),
28
- pastTenseMessage: ( localize(13819, "Got last terminal command"))
27
+ invocationMessage: ( localize(13882, "Getting last terminal command")),
28
+ pastTenseMessage: ( localize(13883, "Got last terminal command"))
29
29
  };
30
30
  }
31
31
  async invoke(invocation, _countTokens, _progress, token) {